|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQLЫ2Если вы пишите, что-то изначально более-менее одноразовое, вам нет дела до оптимизации — на нее уйдет больше времени, чем на сами вычисления. И пишите так, как вам же удобнее отлаживать. А когда беретесь делать инструмент — подходы меняются. В моей области сейчас очень много активно развиваемых инструментов на Python, полагаю, их код регулярно пересматривается, и живет он массово на github. Вы считаете, что господа чучуные пишут библиотеки ("инструмент" в вашей терминологии)? Нет, конечно! Их чудо- код кое- как заработал- и слава Богу. При этом используется процедурный стиль, в котором все сущности перемешаны в одной большой функции, а код представляет из себя код- лапшу. Вы это сами видели, или вам «Рабинович напел»? Друг в МФТИ и «источники с хабра» это еще не вся наука. Ученые — сюрприз — бывают разные. Вероятно, многие пишут одноразовую лапшу, кто-то — многоразовую, а кто-то — снова сюрприз — библиотеки, потому что так удобнее делать инструмент, который будут годами использовать не только авторы, но и совершенно незнакомые им люди. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2018, 17:46 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Ы2.. а кто-то — снова сюрприз — библиотеки, потому что так удобнее делать инструмент, который будут годами использовать не только авторы, но и совершенно незнакомые им люди. Вы фантазер. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2018, 18:46 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
На самом деле, правда, учёные склонны производить не очень качественный код, реализуя свои вычисления на практике. Учёные -- не инженеры, они не задумываются о всяких там удобствах, совместимостях и прочем. Именно поэтому, в здоровом проекте нужны и учёные и инженеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2018, 18:50 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQLЫ2.. а кто-то — снова сюрприз — библиотеки, потому что так удобнее делать инструмент, который будут годами использовать не только авторы, но и совершенно незнакомые им люди. Вы фантазер. Я — пользователь этих инструментов. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2018, 22:54 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Ы2Я — пользователь этих инструментов. Библиотеки для ученых пишут опытные программисты. Например, у компании Intel есть хорошая математическая библиотека. Подобным образом поступают и другие гиганты: создают продукты общего назначения для собственной популяризации. Как это их рекламирует? Да очень просто: в институтах студентам дают задачки исключительно академического характера (перемножить матрицы, транспонировать, решить систему уравнений....) и как раз для этого подходят все эти математические библиотеки. На студентов основная ставка: скоро они уйдут работать и именно от их решения зависит какой продукт купят организации. Не было бы пулов студентов в виде ВУЗ- ов, тогда не было бы и научных библиотек. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 07:56 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
На Физтехе есть форум, где тусят выпускники / студенты. Там большое количество программистов разного направления + большое количество ученого люда. Предлагаю заглянуть в тему обсуждения научного программирования : авторПотому что настоящий учёный даже даже на хаскеле напишет программу на фортране. А питон вполне соответствует. авторЯ пытался переубедить одного из своих коллабораторов. Он сказал, что если он НЕ будет на Фортране писать, то никто его кодом в комьюнити пользоваться не будет. Ну еще так же мотивировал, что там сразу с матрицами удобно работать. авторте, кто пишут на фортране, -- как программисты профнепригодны, это бесспорно Другими словами, когда я выше достаточно резко высказывался о программистских навыках ученых, то не выдумывал. Такая реальность в МФТИ, где я учился и могу уверенно сказать, что значит так по всей России. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2018, 08:59 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQL, если вы обратили внимание, я не утверждаю, что все ученые пишут отличный код, я утверждаю другое: Ученые — сюрприз — бывают разные. Вероятно, многие пишут одноразовую лапшу, кто-то — многоразовую, а кто-то — снова сюрприз — библиотеки, потому что так удобнее делать инструмент, который будут годами использовать не только авторы, но и совершенно незнакомые им люди. Вы смотрите на ситуацию снаружи, я — изнутри. Когда я выбираю инструмент для себя, то смотрю в том числе на список авторов. В моей области среди них обычно есть как прямые коллеги, так и люди с PhD по Computer Science. Если хотите убедиться, что ученые помимо лапши пишут и библиотеки, загляните в раздел academic в репозитории любого большого дистрибутива Linux, и посмотрите список авторов десятка выбранных наобум инструментов для решения более-менее широкого круга задач (напр., R, NLTK, HFST). В России тоже не все так однозначно, как вам кажется после просмотра одного форума. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2018, 11:39 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQLНа студентов основная ставка: скоро они уйдут работать и именно от их решения зависит какой продукт купят организации. Не было бы пулов студентов в виде ВУЗ-ов, тогда не было бы и научных библиотек. Это явное заблуждение. Масса библиотек изначально была написана учеными для себя и коллег, компании же присоединяются к разработке, когда видят в этом выгоду для себя, и, да, это часто ведет к улучшению качества кода. Профессиональный программист в научном проекте бывает весьма полезен. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2018, 11:44 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
HettЛысый дядькапропущено... Я бы посмотрел, как команда набранных по объявлению вчерашних студентов пишет потрясающе гибкий, читабельный, поддерживаемый код на Scala. Golang для того и создавался, чтобы быть бесхитростным, как палка-копалка, что, безусловно, лишает пылкие умы свободы творчества, но позволяет оставаться инструментом для достижения поставленных перед проектом целей кратчайшим путем. Отсутствие многих удобных вещей в go никак не гарантирует тот факт, что вчерашние студенты будут закладывать в приложение грамотную архитектуру. В конечном счете получится такая поделка, в которой еще сложнее разобраться. Да нет же, в том и смысл подобной технологии - направлять пользователя в нужное русло. Пользователь, он как электрический ток, идет по пути наименьшего сопротивления, и в этом смысле, чем стандартней, чем более "по колее" - тем лучше. Java в этом плане столь же показательна: тупо, без вариантов, многословно (ну и чёрт бы с ним), но "как по книге" делать гораздо проще, чем изобретать. Энтерпрайз - это поточная реализация большого количества довольно тупых маленьких частных задач, и здесь чем меньше у разработчика вариантов выдумывать "архитектуру", тем лучше. У меня имеется довольно богатый опыт общения с питоном в качестве основы для корпоративных решений, и как многие (видимо, недалекие или малоопытные люди) "открывают" для себя питон и восторгаются открывающимися возможностями, я кричал от восторга, когда довелось после этого вести проект на Спринге - настолько стабильнее и управляемей получается структура приложения. Есть опыт участия в средней мощности проекте на голанге в качестве аутсорсера, и я скажу - это здорово: понятно, просто, адекватно, сложностей разбираться в чужом коде у меня не возникало, а вот в питоне с этим бывают проблемы. В питоне можно внедрить в класс-родитель новые свойства (а можно и перегрузить !!!! ты никогда не знаешь этого заранее) на этапе импорта класса-потомка и потом затрахаться с дебагом, потому что импорт происходит не всегда, а только в иф-ветке при наличии неких условий в файле настоек, которые твой коллега придумал в рамках решения своей задачи (это я еще не говорю, про то, что с помощью всей мощи интроспекции можно навесить хуков на какие угодно события, а ты потом выясняй, где же оно тормозит). Причем это делается в прикладном модуле, никто не перепиливает библиотечный код. Надо ли мне такой волюнтаризм - нафиг не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 19:14 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Лысый дядькаВ питоне можно внедрить в класс-родитель новые свойства (а можно и перегрузить !!!! ты никогда не знаешь этого заранее) на этапе импорта класса-потомка и потом затрахаться с дебагом, потому что импорт происходит не всегда, а только в иф-ветке при наличии неких условий в файле настоек, которые твой коллега придумал в рамках решения своей задачи (это я еще не говорю, про то, что с помощью всей мощи интроспекции можно навесить хуков на какие угодно события, а ты потом выясняй, где же оно тормозит). Причем это делается в прикладном модуле, никто не перепиливает библиотечный код. Надо ли мне такой волюнтаризм - нафиг не надо. За манки патчинг и сайд эффекты импорта без крайней необходимости в питоновом сообществе обычно ставят коленями на горох. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 20:26 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
NekZЗа манки патчинг и сайд эффекты импорта без крайней необходимости в питоновом сообществе обычно ставят коленями на горох. Да хоть расстреливай, если есть возможность проявлять кипучую творческую натуру - будут проявлять, организационными мерами нельзя решить технические проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 08:40 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Лысый дядькаNekZЗа манки патчинг и сайд эффекты импорта без крайней необходимости в питоновом сообществе обычно ставят коленями на горох. Да хоть расстреливай, если есть возможность проявлять кипучую творческую натуру - будут проявлять, организационными мерами нельзя решить технические проблемы. Так в любом языке есть возможности, которые можно использовать не по назначению и получить кучу проблем в будущем и питон в этом плане не является чем-то неординарным. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 09:59 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Лысый дядькаДа нет же, в том и смысл подобной технологии - направлять пользователя в нужное русло. Пользователь, он как электрический ток, идет по пути наименьшего сопротивления, и в этом смысле, чем стандартней, чем более "по колее" - тем лучше. Что конкретно в golang направляет пользователя и куда? Строгий синтаксис: не на той строке скобку закрыл - не скомпилируется. На этом все. Питон тоже довольно требователен в этом плане. В плане архитектурного решения приложения каким образом язык куда-то вас направит? Язык наоборот дает свободу творчества и никак не ограничивает разработчика в полете его мысли. Лысый дядька Java в этом плане столь же показательна: тупо, без вариантов, многословно (ну и чёрт бы с ним), но "как по книге" делать гораздо проще, чем изобретать. Энтерпрайз - это поточная реализация большого количества довольно тупых маленьких частных задач, и здесь чем меньше у разработчика вариантов выдумывать "архитектуру", тем лучше. Некоторые вещи описаны на уровне спецификаций, тот же JPA, но каким образом тут ява как ЯП? В топике обсуждается язык, а не то, что на нем написано. Куда-то не туда поехали. Опять же сама ява никаким образом не ограничивает разработчиков и никуда не направляет, можно так нагавнокодить на яве, что сам потом не разберешься. Архитектура приложения вообще никаким образом не привязана к языку: хочешь ты используй декомпозицию/агренирование в питоне, хочешь в гоу, хочешь в яве. Хочешь наследуйся до посинения хоть в яве, хоть в питоне, а потом страдай. Лысый дядькаУ меня имеется довольно богатый опыт общения с питоном в качестве основы для корпоративных решений, и как многие (видимо, недалекие или малоопытные люди) "открывают" для себя питон и восторгаются открывающимися возможностями, я кричал от восторга, когда довелось после этого вести проект на Спринге - настолько стабильнее и управляемей получается структура приложения. Спринг это фреймворк, а питон - это ЯП, как можно сравнивать совершенно разные вещи? авторВ питоне можно внедрить в класс-родитель новые свойства (а можно и перегрузить !!!! ты никогда не знаешь этого заранее) на этапе импорта класса-потомка и потом затрахаться с дебагом В яве как будто нельзя. Тут вопрос уже к разработчикам, а не к ЯП. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 10:01 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
HettНекоторые вещи описаны на уровне спецификаций, тот же JPA, но каким образом тут ява как ЯП? Таким образом, что для питона таких спецификаций нет, а для джавы есть. HettСпринг это фреймворк, а питон - это ЯП, как можно сравнивать совершенно разные вещи? Я видел кучу попыток реализовать на питоне что-то похожее на фреймворк для корпоративных решений, все неудачные, тот же bluebrim давно и безнадежно мертв. Давай смотреть правде в глаза, питон - это Django, Flask и еще пара очень специфических вещей типа Keras. Любой проект хоть немного выходящий за рамки стандартного веб-сайта требует от команды разработчиков без конца изобретать велосипеды, например, лютым геморроем оборачивается хранение состояния объектов между запросами, ибо нормального стандартного механизма просто нет. HettВ яве как будто нельзя. Тут вопрос уже к разработчикам, а не к ЯП. При желании можно даже писюн сломать, вопрос в том, насколько тот или иной инструмент помогает выстрелить себе в ногу. Ты вызываешь метод, который может вызвать исключение. Java не позволит тебе отдать в продакшен код, в котором возможные исключения явно не обрабатываются, питон - да бога ради. HettВ топике обсуждается язык, а не то, что на нем написано. Куда-то не туда поехали Когда в языке нет контрактов как таковых, сочинять спецификации как-то глупо, не находишь? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 13:24 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
авторТаким образом, что для питона таких спецификаций нет, а для джавы есть. Ну это же не проблема языка. Я в целом то с замечаниями согласен, но всё это не имеет прямого отношения к питону как к языку. Да и рассуждать ориентируясь только на веб, согласитесь, не очень корректно. Да и в чем тут питон хуже go? PS^ Кстати пока писал вспомнил, что когда давно имел дело с питоном, сильно не понравился подход установки зависимостей глобально. Есть костыли, конечно, в виде env, но это все жутко не удобно. В чем проблема установить зависимости в папке с проектом я так и не понял. С многопоточностью в питоне как-то тоже показалось грустновато (это был 2.7 питон, не знаю как в версии 3). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 20:01 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Лысый дядькаПри желании можно даже писюн сломать... К счастью, это не получится: там нет костей :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 14:44 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQLЛысый дядькаПри желании можно даже писюн сломать... К счастью, это не получится: там нет костей :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 19:59 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQLЛысый дядькаПри желании можно даже писюн сломать... К счастью, это не получится: там нет костей :)Дай угадаю, у тебя и по математике тройка? =) В программировании и биологии уже понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 20:11 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Тему можно переносить в ПТ, если только кто-нибудь не нашёл способ сломать питона. Модератор: Зачем... Можно просто закрыть топик. Только вот, сама тема "уловить причину выразительности" так и осталось не вполне понятной. А жаль. Думается, в причинах что-то должно быть общее с улыбкой Джоконды. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 20:15 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
Короче, выразительность Pythona- миф. Например, вот как выглядит первый попавшийся код из SciPy Cookbook : Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Этот код нечитаем. Код должен читаться как обычная книга, и тогда он легко воспринимается (спасибо, Боб Мартин!). Тут же мы видим кашу из инструкций, которую надо при повторном использовании ВСЮ перечитывать и в голове воссоздавать идею работы программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 09:15 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
ИМХО, в большей мере тут от автора кода зависит, можно хоть на чем написать так, что потом сложно прочитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 09:24 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQLЭтот код нечитаем.Это Вы, наверно, забористый перловый код ещё не читали ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:05 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQLКороче, выразительность Pythona- миф. Например, вот как выглядит первый попавшийся код из SciPy Cookbook : Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Этот код нечитаем. Код должен читаться как обычная книга, и тогда он легко воспринимается (спасибо, Боб Мартин!). Тут же мы видим кашу из инструкций, которую надо при повторном использовании ВСЮ перечитывать и в голове воссоздавать идею работы программы. Вот тебе такой же код на плюсах Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
ИМХО, любой вычислительный научный код выглядит везде одинаково плохо. Но в C++ пришлось написать гораздо больше, но выразительности это, скорее, убавило. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:31 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
NekZВот тебе такой же код на плюсах Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
ИМХО, любой вычислительный научный код выглядит везде одинаково плохо. Но в C++ пришлось написать гораздо больше, но выразительности это, скорее, убавило. Это не на плюсах, а на С. На плюсах код изначально мыслится объектами со своими свойствами и методами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 11:08 |
|
Народ, никак не могу уловить причину выразительности Python
|
|||
---|---|---|---|
#18+
AlekseySQL Это не на плюсах, а на С. На плюсах код изначально мыслится объектами со своими свойствами и методами. Где ты в C видел ключевые слова "auto" и "using namespace" Как видишь, на C++ тоже можно писать в процедурном стиле. Так же как и на питоне. Это вопрос к авторам этой библиотеки, а не к самому языку. Так шта...(С) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 11:16 |
|
|
start [/forum/search_topic.php?author=%D0%9A%D0%B0%D1%82%D1%8F93&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 735ms |
total: | 899ms |
0 / 0 |