Re: Что хорошего в Python-е?
От: MasterZiv СССР  
Дата: 09.11.18 10:08
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ладно JS — он хотя бы в браузерах работает. Но Python?


Т.е. у тебя главный критерий -- чтоб работал в броузере?
Re[4]: Скажем так
От: Danchik Украина  
Дата: 09.11.18 11:26
Оценка:
Здравствуйте, Ватакуси, Вы писали:

D>>Со всем согласен, только эти хипстеры потом начинают огромные проекты писать на нем ибо больше ничего не выучили. Получается милое тормозное говнецо, которое еще и рефакторить сложно.

В>Не знаю насчёт хипстеров, но точно в курсе про три банка (из первой пятёрки в мире), где питон занимает примерно 90% всего кода.

Если это покрыто тестами, то проблем не вижу. Без полного покрытия тестами — это не тот язык на которм нужно писать.

В>Так же знаю одну систему нагрузочного тестирования (входит в тройку лучших в мире), которая примерно на 70% состоит их питона.


Стоит только начать и тебе придется питонировать дальше. Что там с многопоточностью в питоне? Как они извращаются?
Re[5]: Скажем так
От: Sharov Россия  
Дата: 09.11.18 11:54
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Стоит только начать и тебе придется питонировать дальше. Что там с многопоточностью в питоне? Как они извращаются?


Для решаемых задач на питоне она особо не нужна. А то, что есть, видимо, хватает.
Кодом людям нужно помогать!
Re[2]: Что хорошего в Python-е?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 09.11.18 12:27
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>Придумали новый язык, теперь его продвигают.


B 1991 году. Самое время уже попродвигать новинку!
Re[5]: Скажем так
От: Ватакуси Россия  
Дата: 09.11.18 16:09
Оценка:
D>>>Со всем согласен, только эти хипстеры потом начинают огромные проекты писать на нем ибо больше ничего не выучили. Получается милое тормозное говнецо, которое еще и рефакторить сложно.
В>>Не знаю насчёт хипстеров, но точно в курсе про три банка (из первой пятёрки в мире), где питон занимает примерно 90% всего кода.

D>Если это покрыто тестами, то проблем не вижу. Без полного покрытия тестами — это не тот язык на которм нужно писать.

А это в любом языке надо, когда у тебя система на миллионы или даже миллиарды строк.

В>>Так же знаю одну систему нагрузочного тестирования (входит в тройку лучших в мире), которая примерно на 70% состоит их питона.


D>Стоит только начать и тебе придется питонировать дальше. Что там с многопоточностью в питоне? Как они извращаются?

Скажем честно, мало кто пишет числодробилки и на c++ (например). Обычные IO-bound задачи прекрасно разруливаются и на питоне. Причём штатными средствами.
И если хочется чего-то необычного, то есть twisted, tornado и т.п.
Или даже multiprocessing. Тот же постгрес прекрасно параллелится по ядрам. Точно так же и Питон может. Или Flask.
Все будет Украина!
Re[3]: Что хорошего в Python-е?
От: Ватакуси Россия  
Дата: 09.11.18 16:10
Оценка: -3
RF>>Придумали новый язык, теперь его продвигают.

DM>B 1991 году. Самое время уже попродвигать новинку!


Самое интересное, что ещё каких-то 5 лет назад о нём почти никто ничего не слышал. А 10 лет назад, так вообще человек 20 знало.
Все будет Украина!
Re[2]: Что хорошего в Python-е?
От: Ватакуси Россия  
Дата: 09.11.18 16:11
Оценка:
S>>Ладно JS — он хотя бы в браузерах работает. Но Python?

MZ>Т.е. у тебя главный критерий -- чтоб работал в броузере?


PS: Кстати, он может-)))) Берёшь Flask и пихаешь его в хром. Работает.
Все будет Украина!
Re[4]: Что хорошего в Python-е?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 09.11.18 19:49
Оценка:
Здравствуйте, Ватакуси, Вы писали:

DM>>B 1991 году. Самое время уже попродвигать новинку!

В>Самое интересное, что ещё каких-то 5 лет назад о нём почти никто ничего не слышал. А 10 лет назад, так вообще человек 20 знало.

Я пришёл на Python в 2004-м, когда он был уже известен каждому Unix/Linux/etc. программисту и админу, и начал вытеснять Perl из традиционных ниш последнего (быстрый скриптинг, клеевой слой и т.п.)
И это уже были версии 2.4 — 2.5, давно зрелые. Несколько было странно на него переходить, да. Но это окупилось быстро и легко.

Про его существование на тех версиях в Windows мире не в курсе, и облом копать. Хайпа с ML, да, не было. Была нормальная работа в более традиционных нишах.
Не было, правда, virtualenv, pip, прочих плюшек, которые сейчас для него чуть ли не обязательны.
Инфраструктура изменилась радикально. Вот её новая версия, да, это уже новость за последние ~10 лет. Тут пришлось переучиваться (ещё в прошлом году я не знал, что такое virtualenv — ну просто не нужно было).
The God is real, unless declared integer.
Отредактировано 09.11.2018 19:52 netch80 . Предыдущая версия .
Re[4]: Что хорошего в Python-е?
От: novitk США  
Дата: 09.11.18 20:50
Оценка:
Здравствуйте, Ватакуси, Вы писали:

DM>>B 1991 году. Самое время уже попродвигать новинку!

В>Самое интересное, что ещё каких-то 5 лет назад о нём почти никто ничего не слышал. А 10 лет назад, так вообще человек 20 знало.

Я перешел на него с перла в конце 90-х.
Re[4]: Что хорошего в Python-е?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 09.11.18 20:51
Оценка:
Здравствуйте, Ватакуси, Вы писали:

DM>>B 1991 году. Самое время уже попродвигать новинку!


В>Самое интересное, что ещё каких-то 5 лет назад о нём почти никто ничего не слышал. А 10 лет назад, так вообще человек 20 знало.


Я не знаю, в какой пещере надо жить, чтобы такое писать.
10 лет, даже 11, назад был бум Ruby on Rails, тогда на Руби переходили хипстеры, которым надоели Питон с Перлом. Про Питон тогда уже все давно знали и использовали, но такого количества фреймворков еще не нарожали. А сейчас просто волна хайпа AI его опять подняла.
Re[2]: Что хорошего в Python-е?
От: CoderMonkey  
Дата: 10.11.18 20:27
Оценка:
Здравствуйте, okman, Вы писали:

O>Ну например, есть гигабайт логов, надо из них вытащить все текстовые строки определенного вида и

O>представить вывод в отсортированном виде. Да, можно это написать на C++ или C#/Java, но лично у
O>меня это займет часы, а на Python — несколько минут.

Ума не приложу, что там можно делать часы
Re[3]: Что хорошего в Python-е?
От: okman Беларусь https://searchinform.ru/
Дата: 11.11.18 06:38
Оценка:
Здравствуйте, CoderMonkey, Вы писали:

CM>Ума не приложу, что там можно делать часы


Ок, заменим "часы" на "в разы больше времени".
Re[4]: Что хорошего в Python-е?
От: alex_public  
Дата: 12.11.18 03:11
Оценка: 1 (1) +1
Здравствуйте, Ватакуси, Вы писали:

В>Самое интересное, что ещё каких-то 5 лет назад о нём почти никто ничего не слышал. А 10 лет назад, так вообще человек 20 знало.




Даже если забыть про традиционные ниши Питона типа науки, инженерии, аналитики. А так же забыть про его традиционное использование админами для скриптов и взлёт в конце 2000-ых популярности в web'е (один фреймворк Django чего стоил — был прямым конкурентом RoR), то остаётся же ещё множество популярнейших инструментов разработчика, написанных на Питоне, про которые казалось бы должен был слышать каждый посетитель данного форума. Это и системы контроля версий (Mercurial и т.п.), и системы отслеживая задач (Track и т.п.) и универсальные системы сборки (SCons и т.п.) и ещё множество других полезных инструментов. Как можно было это всё (появившееся в основном в 2000-ых) пропустить мимо себя — даже не представляю.

А рост популярности Питона последних лет связан в основном с очень активным развитием такого направления как Machine Learning, в котором Питон (правда в основном при помощи C++ библиотек) царил изначально.
Re: Что хорошего в Python-е?
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.11.18 16:13
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ладно JS — он хотя бы в браузерах работает. Но Python?


Он умеет откладывать яйца. По-моему, это классно. Какой еще язык программирования умеет откладывать яйца.
Re[2]: Что хорошего в Python-е?
От: Stanislav V. Zudin Россия  
Дата: 12.11.18 16:38
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>Простая интеграция с С-библиотеками, что дает ему нишу встраиваемых языков в играх и не только, а так же возможность интеграции с математическими пакетами, что дало популярность для научных расчетов и подобного. Далее (возможно из-за второго как раз) его стали преподавать в ВУЗах и пошла все большая популярность.


Насчет "простой" я бы поспорил.
Недавно занимался адаптацией нашего SDK для использования в Питоне. Проклял всё.
Когда у тебя пара функций, у которых на входе и выходе инты, всё чудесно. А если чуть сложнее — структуры, массивы, то начинается лютый песец. Генераторы врапперов, типа SWIG, помогают, но всё равно остается дохрена ручной работы.

Вот у матлаба действительно простая интеграция с С-библиотеками.

F>После набора популярности появилась в результате масса библиотек на все случаи жизни. Программирование на Питоне (ну я не эксперт, только баловался), имхо, как Лего — найди подходящие библиотеки и увяжи их между собой небольшим скриптом, для получения нужного результата.


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

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


Вот для херак-херак и в продакшн накидать прототип на скорую руку он хорошо подходит — синтаксис более-менее привычный.
_____________________
С уважением,
Stanislav V. Zudin
Re[2]: Скажем так
От: AeroSun  
Дата: 12.11.18 17:12
Оценка: +1 :)
Здравствуйте, Ватакуси, Вы писали:

В>Скорость разбработки — огромная.


Расскажи как достигнуть огромной скорости разработки? Я честно пытался, но скорость разработки на питоне как минимум на порядок меньше чем на тех же плюсах.
Начинать проект получается резво, а дальше всё начинает вязнуть в дичайшем количестве тесто-кода (рутины). Дойдя до середины проекта понимаешь, что скорость разработки настолько загрузла, что быстрее всё будет бросить и переписать на плюсах. Ибо тогда 99% кодо-тестов просто ненужно, потому что с++ статически типизирован.
Так до конца довести ни один проект на питоне не получилось — тупо жалко столько времени терять на ерунду. Проще сделать на нормальном языке.

Полезного совета по этому поводу так никто и не дал. Совет — делать часть на плюсах, а остальное на питоне — тоже бредовый (либо от "теоретиков"). Потому что на привязку плюсов к питону тратится больше времени, чем дописать недостающие части на плюсах. Да и вообще деплой зоопарка очень неинтересное занятие.

Итого я не вижу применения питону, кроме однострочников, микро-утилит и админства.
Re[3]: Скажем так
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.11.18 17:21
Оценка:
Здравствуйте, AeroSun, Вы писали:

AS>Расскажи как достигнуть огромной скорости разработки? Я честно пытался, но скорость разработки на питоне как минимум на порядок меньше чем на тех же плюсах.

AS>Начинать проект получается резво, а дальше всё начинает вязнуть в дичайшем количестве тесто-кода (рутины). Дойдя до середины проекта понимаешь, что скорость разработки настолько загрузла, что быстрее всё будет бросить и переписать на плюсах. Ибо тогда 99% кодо-тестов просто ненужно, потому что с++ статически типизирован.

Вот в упор не понимаю, как можно так писать, чтобы достигнуть такого результата.
И по заплетанию кода, и по трате 99% ресурсов на тесты проблем типизации.
Это какое-то особое умение, мне его не достичь. Хотя на питоне почти непрерывно пишу больше 10 лет.
Поделитесь секретом таких результатов.

AS>Так до конца довести ни один проект на питоне не получилось — тупо жалко столько времени терять на ерунду. Проще сделать на нормальном языке.


Если какой-то проект вы переводите с Python на C++ как "нормальный" язык... ну что я тут скажу.
Всех в отделе выше простых юниоров — калёной метлой из профессии и в Сибирь убирать снег. Весь.

AS>Итого я не вижу применения питону, кроме однострочников, микро-утилит и админства.


Ну вы не видите, а мы продуктивно используем.
The God is real, unless declared integer.
Re[3]: Что хорошего в Python-е?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 13.11.18 07:47
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Насчет "простой" я бы поспорил.

SVZ>Недавно занимался адаптацией нашего SDK для использования в Питоне. Проклял всё.
SVZ>Когда у тебя пара функций, у которых на входе и выходе инты, всё чудесно. А если чуть сложнее — структуры, массивы, то начинается лютый песец. Генераторы врапперов, типа SWIG, помогают, но всё равно остается дохрена ручной работы.

SVZ>Вот у матлаба действительно простая интеграция с С-библиотеками.


И за счёт чего она там достигается?

F>>После набора популярности появилась в результате масса библиотек на все случаи жизни. Программирование на Питоне (ну я не эксперт, только баловался), имхо, как Лего — найди подходящие библиотеки и увяжи их между собой небольшим скриптом, для получения нужного результата.


SVZ>У него главная проблема, свойственная всем языкам без статической типизации — без подробной инструкции хрен догадаешься, что передавать в параметры. Об ошибке узнаешь только в рантайме.


Не вижу, чем эта подробная инструкция принципиально должна отличаться от аналогичной инструкции для любого библиотечного средства.
Видя int, надо чётко понимать, что туда передаётся — значение, у которого смысловой домен это целое число, или битовая маска, или значение какого-то enumʼа.
Видя char*, ещё хуже — надо знать правила пользования указателем. Его надо скопировать или можно хранить сам указатель? Какого размера буфер, если его можно модифицировать? В каком из возможных смыслов его использование реентерабельно? И так далее.

По любому, берёшь доку и читаешь. И хорошо, если там не забыли прописать все эти критические тонкости.

Проблемы возникают не с типизацией как таковой, а уже со стилем использования, когда типов может быть много и они понимаются по-разному. Например, я несколько раз запутывался в numpy в последствиях смешения того, что в какое-то действие поступает array, ndarray или matrix. Вот такой рантаймовый полиморфизм — да, удобен, пока действие очевидно и не ошибаешься, но начинает сильно мешать при усложнении обстановки.
В своём коде я стараюсь его минимизировать, а где нужно — вставлять явные защиты против попадания неверного типа. Но полно тех, кто злоупотребляют полиморфизмом.

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


SVZ>Вот для херак-херак и в продакшн накидать прототип на скорую руку он хорошо подходит — синтаксис более-менее привычный.
The God is real, unless declared integer.
Re[4]: Что хорошего в Python-е?
От: Stanislav V. Zudin Россия  
Дата: 13.11.18 08:17
Оценка: 1 (1)
Здравствуйте, netch80, Вы писали:

SVZ>>Когда у тебя пара функций, у которых на входе и выходе инты, всё чудесно. А если чуть сложнее — структуры, массивы, то начинается лютый песец. Генераторы врапперов, типа SWIG, помогают, но всё равно остается дохрена ручной работы.


SVZ>>Вот у матлаба действительно простая интеграция с С-библиотеками.


N>И за счёт чего она там достигается?


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

А в Питоне каждый тип, начиная с инта, надо превращать в Питоновские объекты с кучей ограничений.
Генераторы с этим справляются лишь частично — приходится писать для генератора кучу хинтов. Чтобы получить привычный АПИ надо сперва состряпать маршаллинг во что-то, что в принципе будет понятно Питону, а потом на Питоне написать врапперы, чтобы этим можно было пользоваться.



SVZ>>У него главная проблема, свойственная всем языкам без статической типизации — без подробной инструкции хрен догадаешься, что передавать в параметры. Об ошибке узнаешь только в рантайме.


N>Проблемы возникают не с типизацией как таковой, а уже со стилем использования, когда типов может быть много и они понимаются по-разному. Например, я несколько раз запутывался в numpy в последствиях смешения того, что в какое-то действие поступает array, ndarray или matrix. Вот такой рантаймовый полиморфизм — да, удобен, пока действие очевидно и не ошибаешься, но начинает сильно мешать при усложнении обстановки.


Вот именно это я и имею в виду — пойди угадай, в каком виде надо передать параметр — целое число, строку или массив.
_____________________
С уважением,
Stanislav V. Zudin
Re: Что хорошего в Python-е?
От: scf  
Дата: 13.11.18 11:35
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Java и C# (тем более последний потихоньку портируют на кросс-платформу) — это намного более правильные языки.


Любой серьезный программист обязан знать хотя бы два языка программирования — промышленный, для больших проектов, и скриптовый, для всего остального.

Питон как скриптовый язык в настоящее время может соревноваться только с node.js:
— отсутствие фазы компиляции
— отсутствие статической типизации — можно писать кратко
— мнгновенный запуск и небольшое потребление ресурсов — очень актуально для скриптов по крону
— широкий набор библиотек для всего
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.