LINUX.ORG.RU
Ответ на: комментарий от fernandos

Там ВБ популярнее пыхи и жс, о чём вообще речь

Вб/вбс крайне популярен. Возьми любую крупную не-ит компанию, очень крупную, типа нестле или pg. Они сидят на вб/вбс прочнее чем торч на игле. Там по сути эксель это морда для вбс связанного с сапом. Даже манагеров низшего звена учат макросы писать, без этого никак

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 2)
Ответ на: комментарий от I-Love-Microsoft

Если не секрет, для каких целей используешь pyqt? Я прост никогда не делал гуй на питоне больше двух форм, а для этих целей легковесного tkinter хватает с головой.

Aswed ★★★★★
() автор топика

Ага, это тот самый индекс, где groovy выше руби, свифта и котлина, а хаскелль – выше тайпскрипта. Впрочем, питон в любом случае самый популярный язык

Princesska ★★★★
()
Ответ на: комментарий от Princesska

js даже без говносуррагатов в виде типо скрипта

tz4678 ★★
()
Ответ на: комментарий от upcFrost

Вб/вбс крайне популярен.

Это не даёт повода считать вб языком, а вба/ексель средством разработки. Так можно и на брейнфуке что-то разрабатывать и делать фреймворки.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от tz4678

Я хотел написать про баш, но как-то с брейнфаком в одном предложении его ставить было не очень.

crutch_master ★★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Хз, может ещё где и юзают. Но в основном кмк это мсо. Который кстати имеет юзербазу больше линуха и мака вместе взятых

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

имеет юзербазу больше линуха и мака вместе взятых

Как там дела в нулевых? Доллар купить не забудь к 14му году. Кстати у нас тут в будущем почти у всех есть планшет или телефон на android(linux) или ios.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Rust это высокоуровневый язык уровня Python. Единственная область, где он проигрывает это управление памятью. Но та эффективность, которая за счёт этого получается, с лихвой компенсирует это.

Спорное утверждение. На мой взгляд раст в расте нужно часто думать о типах переменных, захвата/освобождения. Это скорее язык уровня C++/D/Swift .

Не совсем понял про эффективность. Что именно подразумевается под этим? Скрипт на питоне гораздо быстрее написать, чем на расте. Какие-то медленные части можно переписать, используя диалект cython.

dicos ★★
()
Ответ на: комментарий от Legioner

Rust это высокоуровневый язык уровня Python

Ну да. Шесть видов стандартных указателей, там где в питоне просто переменная *const type, *mut type, &type, &mut type, Box<type>, Rc<type>. Два вида строк &str и String. Ооочень высокоуровнево. Очень уровня питон. Совсем не с++.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Ты неправильно оцениваешь важность. Когда ты бизнес, тебе дешевле сделать продукт на питоне за месяц и потратить на него условно +5гб оперативки и +2 инстанса серверов, чем потратить условно три месяца на разработку такого же продукта на с++/rust/etc. Все таки python сейчас это преимущественно язык для серверных продуктов, а не для того, что у пользователей в устройстве крутится.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Не надо мешать Rust и C++. На Rust писать код можно практичеки с той же скоростью, что и на Python. А работать он будет в тысячу раз быстрей.

Legioner ★★★★★
()
Ответ на: комментарий от Aswed

и потратить на него условно +5гб оперативки и +2 инстанса серверов,

А что это гугел так гордиться, когда удалось за счет лучших алгоритмов сжатия сэкономить пару стоек в дата-центре.

Psilocybe ★★★★
()
Ответ на: комментарий от Legioner

На Rust писать код можно практичеки с той же скоростью, что и на Python

Нет нельзя. Я выше приводил пример почему. Но строки и указатели это лишь верхушка айсберга. То, что ты относишь rust ближе к питону чем к с цпп, говорит лишь о том, что ты не понимаешь ни питон ни цпп.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Psilocybe

И на сколько таких бутылочных горлышек у гугела, где требовалось что-то экономить, приходится кода, где просто все правильно работает и збс? Учитывая сколько денег гугел влил в питон в свое время, соотношение не в пользу бутылочных горлышек.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от apt_install_lrzsz

VBS никогда не использовался в мс офисах

GP
()
Ответ на: комментарий от Jetty

В принципе да.

Сейчас любая школота знает JS, а спецов по VBA нет. И их стоимость на рынке приближается к стоимости коболистов.

Тем он и круче.

GP
()
Ответ на: комментарий от GP

Ну да, ну да. Давно ты мониторил список питон вакансий за пределами своей квартиры? Открываем тот же glassdoor: https://www.glassdoor.com/Job/jobs.htm?sc.keyword=python%20 бекенд, датасаенс и ML. QA даже близко не в топе.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Учитывая сколько денег гугел влил в питон в свое время,

Сколько сколько?

Psilocybe ★★★★
()
Ответ на: комментарий от GP

лоол. Очень толсто.
зы. Сейчас спец по VBA ценится гораздо больше, чем Java.

Да. Но это не отменяет того факта, что вба - язык говна. Ну вот просто так есть. Понаписали вонючей макросни, это некому поддерживать и теперь надо доставать бабки.

crutch_master ★★★★★
()
Ответ на: комментарий от GP

Тем он и круче.

Можно не напрягаясь, потягивая смузи, делать ангуляр/рекат-нодажс-монго фуллстек и получать свои условные 200к.
А можно потеть, жрать говно и ковырять маркосню за 400к.
Круче? Ну, может кому-то и круче.

crutch_master ★★★★★
()
Ответ на: комментарий от GP

Ангуляр и рекат это фреймворк школоты,студентов и практикантов.

То есть они такие простые, что их может освоить любая макака. То есть, можно быть овощем и получать за это бабки. То есть, если ты не овощ, можно взять несколько проектов на саппорт и получать еще больше бабок. Ну, конечно, можно сидеть рядом жрать говно в вба. На вкус и цвет.

crutch_master ★★★★★
()
Ответ на: комментарий от GP

Ну если в офере написано нужен java специались, плюсом будет знание питон, то да. Но по приведенной мной ссылке там вакансии вида «нужен питон специались в DS команду» или «python ML developer». Ожидать что все они ищут кого-то другого, мягко говоря странно. Как по твоему люди вообще устраиваются на работу если HR пишут в объявлениях только случайные теги?

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

*const type и *mut type нужны практически только в unsafe, в Питоне в таком случае вообще будет реализация на Си, что ни разу не проще.

«Два вида строк» - на самом деле удобная фича, помимо владеющей строки иметь еще и строковый срез. Единообразно с произвольными массивами и хорошо вписывается в концепцию владения/заимствования.

Что же касается прочих «умных указателей», то в Rust они имеют более прикладное значение, так как там понятие владения абстрактно и возведено в ранг идиомы программирования. Владеть можно вообще любыми ресурсами. Даже ссылки там называются не «ссылки», а «заимствования», так как это тоже более высокоуровневая идиома, чем просто ограниченный указатель на память (хотя с точки зрения реализации она этим является).

Поэтому если понять и принять концепцию владения и заимствования, вокруг которой построен Rust, именно как идиому программирования, то язык начинает играть совершенно другими, более высокоуровневыми красками, чем кажется изначально.

freecoder
()
Последнее исправление: freecoder (всего исправлений: 1)
Ответ на: комментарий от freecoder

Не надо оправдывать передо мной rust. Я ничего против него не имею и с удовольствием пишу на нем разные petproject-ы. Я лишь говорю о том, что он гораздо более сложный для использования нежели питон.

Питоне в таком случае вообще будет реализация на Си, что ни разу не проще

Ты на питоне вообще писал? Все эти «реализации на Си» под капотом. Ты, как программист на питоне, можешь вообще не задумываться о реализации и не вспоминать об указателях и управлении памятью годами.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Все эти «unsafe» под капотом. Ты, как программист на Rust, можешь вообще не задумываться о реализации библиотек и не вспоминать об указателях и управлении памятью годами.

freecoder
()
Ответ на: комментарий от freecoder

Я смотрю, ты не только на питоне не писал, но еще и на расте не писал. Иначе как ты умудрился пропустить все эти &, Box и Rc.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

С внимательностью у вас плоховато, через два сообщения уже теряете нить дискуссии. Я вам напомню. Сначала я написал:

*const type и *mut type нужны практически только в unsafe, в Питоне в таком случае вообще будет реализация на Си, что ни разу не проще.

Далее вы отвечаете:

Все эти «реализации на Си» под капотом.

Я отвечаю:

Все эти «unsafe» под капотом.

Внимание вопрос: причем тут Box и Rc, если речь про unsafe и сырые указатели?

freecoder
()
Ответ на: комментарий от freecoder

вспоминать об указателях

так вот же &, Box и Rc

речь про unsafe и сырые указатели

Я смотрю, вместо того, что бы программировать ты учился переобуваться.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Ты, как программист на питоне, можешь вообще не задумываться о реализации и не вспоминать об указателях и управлении памятью годами.

В Rust управляют не памятью а временем жизни имён (переменных или постоянных).
Та особенность что время жизни имён явно в семантике языка, позволяет автоматически управлять памятью на этапе компиляции.
И не только памятью, но и другими ограниченными ресурсами привязанным к именам.

В Rust не управляют памятью, код управления памятью компилятор вставляет автоматически с гарантией корректности(в отличии от C++).

tp_for_my_bunghole
()
Последнее исправление: tp_for_my_bunghole (всего исправлений: 1)
Ответ на: комментарий от GP

Нет, vba такая боль, что в MS решениях все свежее на ts, r и питоне + всякие их dax, m и прочие простые dsl.
На секунду, в excel в vba матрицы через ж..у. А если делать на листах, адово тормозят.

Shadow ★★★★★
()
Ответ на: комментарий от tp_for_my_bunghole

Ну я даже не знаю с чего начать честно говоря. Если это вброс, то слишком похоже на откровенный бред, попробуй потоньше. Если ты серьезно, то нет, ты неправ. Конепт «управление lifetime» нужен лишь для автоматизации выделения/освобождения памяти, но само управление памятью из rust никуда не делось. Когда разраб видит разницу между выделением памяти в куче и на стеке, выбирает сам передавать данные по значению или по указателю, он занимается управлением памятью. Если ты хранишь и передаешь данные в раст, не думая о том, как это будет в плане работы с памятью, то тебе стоит перейти на языки по проще, где действительно нет управления памятью.

P.S. ты бы еще сказал, что std::alloc это «автоматически с гарантией корректности».

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Управление памятью в Python.

Mодули: weakref, gc.
Оператор del.

Может быть необходимость в проекте отключить модуль gc чтобы всё было на reference count, весь код для этого должен быть reference cycles aware.
В принципе для большинства проектов с зависимостями - это невозможно если не делать микросервисы. Но для микросервисов(или макро) подходит Go.

Когда разраб видит разницу между выделением памяти в куче и на стеке, выбирает сам передавать данные по значению или по указателю, он занимается управлением памятью.

В Rust программист выбирает - передавать владение(ownership) аргументом функции или одолжить(borrow) функции аргумент как ссылку.

Конепт «управление lifetime» нужен лишь для автоматизации выделения/освобождения памяти

Любого ресурса. Имя в программе может указывать на временно полученный ресурс/сервис от ОС или на удалённой машине.
Reference counting есть в Rust(как и в C++), но это явно в коде.

Я ещё не перешёл на Rust чтобы советовать мне перейти на другой язык.

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

weakref, gc

Как часто ты это используешь в реальных проектах на python?

Может быть необходимость в проекте отключить модуль gc чтобы всё было на reference count, весь код для этого должен быть reference cycles aware.

Как часто ты это используешь в реальных проектах на python?

Оператор del

Советую почитать, как работает оператор del. Спойлер: он не удаляет ничего из памяти.

В принципе для большинства проектов с зависимостями - это невозможно если не делать микросервисы. Но для микросервисов(или макро) подходит Go

Как это вообще относится к обсуждаемой теме?

В Rust программист выбирает - передавать владение(ownership) аргументом функции или одолжить(borrow) функции аргумент как ссылку.

Ты в курсе, что это так же влияет на то, как это будет работать в памяти? Сколько будет копирований. Сколько это займет места в структуре. Это твое borrow это буквально передача/сохранение ссылки, а передавать владение буквально передача по значению т.е. копирование участка памяти, со всеми вытекающими последствиями в плане оптимизации производительности кода.

Любого ресурса

Это вообще не имеет значения. Речь про управления памятью.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

weakref, gc

Как часто ты это используешь в реальных проектах на python?

Это используют в Python наверное не реже чем в Rust работают с std::alloc.

Советую почитать, как работает оператор del. Спойлер: он не удаляет ничего из памяти.

Советую почитать ещё раз. Для чего нужен декремент reference count.

Ты в курсе, что это так же влияет на то, как это будет работать в памяти? Сколько будет копирований.

Для копирования в Rust метод clone.

а передавать владение буквально передача по значению т.е. копирование участка памяти

Невозможно передать владение чем-то скопировав. Для компилятора это тоже указатель.

tp_for_my_bunghole
()
Последнее исправление: tp_for_my_bunghole (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.