Search
Write a publication
Pull to refresh

Comments 29

Вопрос такой. Насколько широко используется питон. Чем то он практичнее, чем C к примеру?

Чем то он практичнее, чем C к примеру?

Почти все курсы по DS/ML/AI, которые я видел, были на питоне (кроме одного, который был на Octave, и тот с тех пор переехал). Стартовая документация на какой-нибудь Amazon SageMaker заведомо предполагает питон.


Это, на мой взгляд, весьма "практично".

Ну это как спросить, что практичнее - отвёртка или молоток. C и Python, как правило, используются в дополнение друг к другу. То есть, работают вместе в одной и той же системе.

UFO landed and left these words here

В финале я говорил о том, что язык был предсказуемым. Это достигалось в том числе благодаря тому, что за стратегический дизайн языка отвечал по большей части один человек. У него было целостное представление об этом самом дизайне.

В том, как и куда развивается язык сейчас, я такой целостности не увидел.

UFO landed and left these words here

Собственно, эссе как раз об этом )). Однако я не утверждаю, что язык плохой.

То, что на питоне кто-то пытается писать большие системы имхо временное недоразумение. Он чудовищно медленный, на уровне с ruby и perl. Они в несколько десятков раз медленнее чем c#, java, c++, js. А отсутствие типизации делает развитие больших систем тем дороже, чем система больше. Я не говорю что это невозможно. При сохранении строгих гайдлайнов по написанию кода это даже может работать. Взлёт typescript хорошо показывает нам насколько типизация важна. И хинтовая типизация в питоне имхо странное решение. Маленький шанс на то что они образумятся и сделают типизированный Puthon 4 с jit оставить можно, но с учётом того как больно было при переходе 2->3, думаю этого не произойдёт.

Готов побиться об заклад, что Python 4 мы не увидим ))

Так и я ставить не готов на то что он выйдет.

Во многом согласен с автором. Фишкой питона всегда была простота и принцип о том, что должен быть единственный очевидный способ что-то реализовать. Это делало код на питоне читаемым, а уровень входа низким: можно было просто брать и писать или брать и читать чужой код. А сегодня в язык реально тащат все подряд: от pattern matching, до мета-программирования. Стандартная библиотека уже содержит кучу дублированных модулей (например, Pathlib vs os), каждый разраб пишет по своему (фильтруем элементы: у одного будет map/filter, у другого цикл с if/else, у третьего компрхеншн с условием и лямбдами, четвертый pattern-matching затащит и т.д.). Вход в язык становится все труднее (тупо больше изучать), чужой произвольный код читать все труднее и т.д.

UFO landed and left these words here

Нытьё из разряда "раньше я писал говнокод, и за него платили. Сегодня от меня требуют чистый обслуживаемый продукт. Значит, виноват язык программирования".

Иронично, но практически за всю мою карьеру ни один работодатель не предъявлял существенных требований к качеству кода ))

Вот буквально свежак:

Сейчас же - это сливной бачок для любой модной фигни, которую тащат в язык не задумыааясь - а нужна ли она там вообще? 

Так сейчас вроде с любыми языками такая вещь? Тот же C++

Сейчас же - это франкенштейн

Бедные C++ разработчики. Вот уж где количество отросших ног и прочих конечностей потрясает :)

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

Важно то, что решения по дизайну языка принимает уже не он.

"Учить или не учить?" - вот в чем вопрос

Пишу на питоне с 2009, выбирал по вот этому сравнению -- по размеру сообщества Питон выигрывал, и я хорошо угадал с выбором. Не соглашусь, что всё было хорошо, а потом вдруг испортилось. По сравнению с 2.5, который был широко в ходу в 2009, стало очень удобно. Ветку 3.х причесали к 3.6, и с 2.7 было легко перейти, и получить много полезного, например, типы аргументов. До этого, чтобы проверять параметры, приходилось либо делать стопку декораторов (и называть параметры по имени, за чем не мог следить pyflakes), либо в код функции писать что-нибудь.

Да, есть сомнительные новшества вроде := (это его моржом называют?), или те же сборные типы (List[int]), есть проблемы в эргономике (например, в Пандасе постоянно приходится писать вот такое уродство: mydf[(mydf.column1 == 123) & (mydf.column2 == 456)]) ).

Но как язык общего назначения он набрал большой момент, и вряд ли остановится. Лучшая аналогия ему -- C и Java. Оба языка имеют серьёзные недостатки, обоим есть замены (Rust, Go), оба сохраняют популярность. (Возможно, что хотя их доля среди разработчиков падает, в абсолютном выражении скорее всего на них пишет всё больше людей.)

Перейти на другой язык скорее всего не получится, потому что в Питоне мы пользуемся очень широким диапазоном фич, и в других языках их нет всех и сразу, и в хорошем качетсве. Но другие языки могут начать откусывать доли в нишах, как Julia (замена Pandas), или Go/Rust (веб, например).

типы аргументов. До этого, чтобы проверять параметры, приходилось либо делать стопку декораторов (и называть параметры по имени, за чем не мог следить pyflakes), либо в код функции писать что-нибудь.

Так типы параметров и сейчас не проверяются

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

Интересно, что C и Java вы сравниваете с Rust и Go )) Лично я Go воспринимаю как замену как раз-таки Python.

Не имею опыта с Go, руки не дошли пока, надо попробовать.

Я уж думал вы про метаклассы и дескрипторы расскажете, или хотя бы укажете какую именно «модную фигню» внесли в язык и почему не должны были?

Я думал, ТС обидется и уйдёт в PHP, а года через 3 запилит статью о том, как laravel год назад убил хороший скриптовый язык.

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

Не надо (было до изобретения asyncio ) на Питоне писать огромные серверы с многопоточностью. Он просто не для этого (был) предназначен.

Зашёл прочитать про технологии рефлексии в Питон. Думаю, когда же про изменяемый в процессе код расскажут. А тут вон оно как

Sign up to leave a comment.

Articles