Но лично я против использования питона. А всё потому, что давайте вспомним как он стал популярным.
1. Питон это встраиваемый скриптовый язык для программ на C/C++.
2. Питон имеет множество обёрток для библиотек C/C++.
Когда открываешь репозиторий Debian просто поражаешься количеству пакетов являющихся обёртками для библиотек C/C++. С программами это менее очевидно, только я и сам знаю в каких есть поддержка питона.
Но понял я бесполезность такого подхода вовсе не с питона, а в эпоху зарождения .NET. Да, есть хороший фреймворк, но если нужен дополнительный функционал приходится искать библиотеку.
Эта библиотека как правило написана на C/C+. Внимание вопрос: Зачем писать на языках .NET и использовать, если найду обёртки, а можно ведь и не найти, когда можно сразу писать на C/C++?
Тоже самое и с питоном. Зачем нужен питон, когда можно сразу использовать C/C++. Разработчику не нужна интерпретируемость, так как он и так имеет полную власть над программой.
Разработчику даже плагины не нужны, так как любые изменения можно прописывать в основном функционале. И опять же плагины можно написать на C/C++ для примера отделив вызовы чужих библиотек от своей программы.
Питон не нужен потому, что не имеет никаких явных преимуществ против C/C++, зато является лишним элементом в цепи, который можно удалить и станет только лучше.
Стратегия присосаться к величию C/C++ действительно дала результат, но что дальше? Да, можно использовать питон, но смысл?
И самое главное некоторые написав прототип на питоне и взлетев потом ищут разработчиков на C/C++, чтобы те переписали код с питона на C/C++.
А вообще те кто пишут, что C/C++ устарели, и живут только благодаря старым маразматикам не желающих учиться новому сами забывают, что огромное количество языков провалилось.
Есть объективные факторы успеха, такие как производительность, эффективное управление памятью, кроссплатформенность, в случае с Си ещё и простота освоения и использования.
В случае с питоном фактор успеха — успешно подсосались к C/C++.
V>Питон не нужен потому, что не имеет никаких явных преимуществ против C/C++, зато является лишним элементом в цепи, который можно удалить и станет только лучше.
V>Стратегия присосаться к величию C/C++ действительно дала результат, но что дальше? Да, можно использовать питон, но смысл?
Ты как-то одним махом отмел все фрэймворки питона для искусственного интеллекта, а их огромное количество и заменить их нечем.
А искусственный интеллект — это далеко не только генеративный интеллект. Уже множество различных моделей с обучением и без работают в сервисах и приносят пользу.
Такое впечатление, что ты деталями применения питона никогда не интересовался, но очень уверенно рассуждаешь об этом.
Здравствуйте, velkin, Вы писали:
V>В случае с питоном фактор успеха — успешно подсосались к C/C++.
Нет, совершенно другой фактор. Как-то так получилось, что питон легче изучить чем C/C++ (его стали давать даже в школах как первый яп, хотя это и неправильно на мой взгляд) и на нем можно очень быстро написать программу, которая будет и не большой по размеру и делать что-то серьезное. Оно будет работать сильно медленнее C++ — реализации, иногда и в 100 раз медленее, но часто скорость написания работающего кода важнее скорости работы самого кода. Особенно в исследовательских задачах, в том же машинном обучении и датасайенс. Пришла в голову какая-то идея, быстренько накидал код на питоне и проверил ее.
Даётся CSV файл с температурой от метеостанции и названием локации. Таких записей миллиард. Нужно найти максимальную, минимальную и среднюю температуру по каждой локации за минимальное время. Подробнее https://www.morling.dev/blog/one-billion-row-challenge/
Срок до 31 января
Пишем на джаве (но там вроде и другие ЯП участвовали)
import os, sys
table = {}
for line in open(sys.argv[1]):
name, val = line.split(';'); val = float(val)
data = table.setdefault(name, [val,val,0,0])
data[0] = min(data[0], val)
data[1] = max(data[1], val)
data[2] += val
data[3] += 1
for name, data in table.items():
print(name, data[0], data[2]/data[3], data[1])
Всего 15 строчек. Работает 13 минут, хотя реализации на C++ или Java минуту-другую, а правильные вообще 20-30 секунд (видимо если диск быстрый), рекордные — несколько секунд. Но вот писать этот код ты будешь сильно дольше, а с питоном понадобилось решить что-то подобное, написал код за пять минут, запустил, сходил чайку/кофейку попить — результат готов. Причем, если нужно побыстрее, можно и питоновский код ускорить, но это уже дополнительные силы и время на кодирование.
Здравствуйте, velkin, Вы писали:
V>1. Питон это встраиваемый скриптовый язык для программ на C/C++. V>2. Питон имеет множество обёрток для библиотек C/C++.
1. Питон — это язык, который создавался на замену bash, а не в качестве скриптового для С++, он — это не lua
2. Да. Но и свои собственные библиотеки в том числе. Именно поэтому на нём проще писать, поскольку библиотек в разы больше, чем просто у С++
N>1. Питон — это язык, который создавался на замену bash, а не в качестве скриптового для С++, он — это не lua
Но ведь bash shell и python почти ровесники. Работа над обоими началась в 1988-89 гг.
И на тот момент уже был Perl (версия 1.0 вышла в 1987) — вполне себе замена скриптов на posix shell.
Здравствуйте, m2user, Вы писали:
N>>1. Питон — это язык, который создавался на замену bash, а не в качестве скриптового для С++, он — это не lua
M>Но ведь bash shell и python почти ровесники. Работа над обоими началась в 1988-89 гг. M>И на тот момент уже был Perl (версия 1.0 вышла в 1987) — вполне себе замена скриптов на posix shell.
Perl это какое-то мертворожденное чудовище. Ему бы совместно в ChatGPT работать, пописывать нечитаемые регулярные выражения
wl.>Perl это какое-то мертворожденное чудовище. Ему бы совместно в ChatGPT работать, пописывать нечитаемые регулярные выражения
синтаксис Perl определенно содержит слишком много конструкций и как следствие трудоемок для изучения. Однако скрипты на нем писали и до сих пор пишут.
Между Perl и всякими posix shell я бы наверное выбрал Perl. Хорошо, что передо мной такого выбора не стоит
Здравствуйте, Mihal9, Вы писали:
M>Скажите, а возможно ли питоновскую программу завернуть в shareware-продукт под Windows и продавать?
Если твоя софина будет решать какую-то проблему пользователя и делать это лучше конкурентов, то какая разница для пользователя на чем она написана? Или ты собрался чужую опенсорсную софтину продавать?
Здравствуйте, mauzer_tim, Вы писали:
_>Не надо усложнять усложнять задачу. 99% пользователей шароварных программ сидят под Win7-Win11, что-то сомневаюсь, что под эти ОС нет питонов.
Питон — это DLL-hell возведенный в бесконечность. Всегда найдется несовместимая либа, поэтому под каждый скрипт надо отдельную копию среды создавать.
Благодаря Питону я узнал что одна DLL может весить больше 1 ГБ...
Здравствуйте, Mihal9, Вы писали:
M>Скажите, а возможно ли питоновскую программу завернуть в shareware-продукт под Windows и продавать?
видел у китайцев что-то для обработки фоток с инсталлятором на 100Мб, во время установки он качает Питон со всеми либами прямо в корень диска C
через полчаса получается папка на 2.5 ГБ, дальше оно у меня грохнулось
Здравствуйте, Mihal9, Вы писали:
M>Скажите, а возможно ли питоновскую программу завернуть в shareware-продукт под Windows и продавать?
Возможно вполне, раньше участвовал в разработке шараварных игр на питоне + свой движок на C++, все это паковалось тогда кажется Py2exe. Позже делал утилитки (не шараварные) уже на чистом питоне, паковал уже с помощью PyIstaller, все вполне нормально работало, для пользователя ничем от нативных exe не отличимо. Что сейчас актуально для упаковки не в курсе, но теперь вроде есть и полноценные компиляторы питона например nuitka.
FR>Возможно вполне, раньше участвовал в разработке шараварных игр на питоне + свой движок на C++, все это паковалось тогда кажется Py2exe. Позже делал утилитки (не шараварные) уже на чистом питоне, паковал уже с помощью PyIstaller, все вполне нормально работало, для пользователя ничем от нативных exe не отличимо. Что сейчас актуально для упаковки не в курсе, но теперь вроде есть и полноценные компиляторы питона например nuitka.