Re[5]: Shareware на Python?
От: andyag  
Дата: 08.02.15 10:09
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, andyag, Вы писали:


A>>Zen of Python неявно существует в абсолютно любом ЯП. Главное чтобы автор кода верил, что придерживается этого дзена — тогда у него есть гармония. Но читатели кода часто несогласны, что написанный код имеет какое-то отношение к дзену и вульгарно называют код — говнокодом.


KP>Философия языков сильно разница. Наиболее важно то, какой политики (философии) придерживаются те, кто работает над развитием самого языка.


Пример философии тех, кто работает над развитием самого языка: "а нахрен щас поломаем совместимость, зато будет круче". С другой стороны, про "дзен" я регулярно слышу только в контексте Python — в любом другом ЯП об этом просто не говорят, хотя ценности вполне разделяют.

A>>Это снова что-то сильно субъективное. Если оно не мешает вашим кейзам, это не значит, что оно не мешает вообще. Это как-то нездорово — чувствовать себя спокойно, когда знаешь, что завтра может понадобиться какая-то библиотека для XXX, которой может не быть для Python 3, в то время как остальная часть проекта уже написана именно на 3. Это просто ненормально.


KP>Проблемы с совместимостью имеют только наиболее сложные библиотеки с большими специфическими для платформ фрагментами. Если на этапе старта проекта подумать о его архитектуре, то подобные ограничения будут видны еще до тех пор, пока появилась первая функция нового проекта. И, возможно, проект начнется не с выбора Python 3, а 2.7.


Давайте без "если". Практически любой говнокод на Java, который работал на 1.5 будет работать и на 1.8 — разница между ними 10 лет. Почему Python может позволять себе ломать совместимость и не получать за это минус?

A>>Просто чтобы я мог оценить ваше высказывание в полной мере — когда вы говорите "не самый лучший", какой "самый лучший" вы имеете в виду?


KP>Например мне куда больше Maven нравится. Лично я его считаю образцовым решением.


Maven мне тоже нравится. Хорошо — ваша оценка для pip понятна.

A>>Не понял с чем вы спорите — я сказал почти то же самое. Более того, тут вы подтверждаете мое самое первое утверждение — "С практической точки зрения нет смысла рассматривать Python как самостоятельный инструмент".


KP>Где? Что-то мне кажется, кое-кто пытается выдать собственную мысль, с которой я не согласен, за мою


Цитирую ваше высказывание:

Нет-нет и еще раз нет. Python можно и нужно рассматривать как основной кандидат для написания не критичной ко скорости логики. Именно по тем причинам, что я привел в самом начале.

А вот моё:

С практической точки зрения нет смысла рассматривать Python как самостоятельный инструмент.

В обоих случаях посыл один и тот же — "не стоит на Python делать всё". Или я ваше отверждение неправильно читаю?

A>>И нафига мне алгоритм на Python, если остальной код написан, например, на C#? Проясню ситуацию: я делаю какой-то проект на C#, возникает необходимость запилить какой-то не очень тривиальный алгоритм. Я хочу сначала пощупать этот алгоритм, проверить на разных данных, порисовать какие-то графики — в этом случае я возьму Python. Но как только нащупаюсь, перепишу всё на C#.


KP>А нафига тебе код на этом одноплатформенном недоразумении?


А у меня какой-то продукт для облегчения управления инфраструктурой Microsoft. Или чистилка реестра Windows. Или умная качалка апдейтов для Windows. Вариантов много, ни в одном случае переносимость не будет плюсом.

A>>Ни разу не спорю, что можно. Вопрос в том, какая должна быть мотивация, чтобы выбрать Python, а не что-то другое.


KP>1) Простой;


Бейсик тоже простой. Для меня, например, Java и C# — очень простые языки после C++
С другой стороны один приятель недавно пытался изучить программирование и начал с Python — где-то в районе первой 1000 строк кода полезла путаница с типами, все прелести динамической типизации. Нельзя сказать, что ему было _просто_ осознать и побороть этот феномен.

KP>2) Кроссплатформенный;


Бейсик тоже кроссплатформенный. А ещё JavaScript, Java, Scala, Groovy, Ruby.

KP>3) Со встроенной разумной защитой от write-only кода.


Расскажите пожалуйста подробнее. Я искренне не верю, что в языке с динамической типизацией этот консёрн может хоть как-то покрываться. Более того, видел много примеров write-only даже в случае статически типизрованных языков.

A>>Тут снова достаточно возразить, что у Ruby как минимум нет проблем 2 vs. 3, огроменный централизованный репозиторий с кучей библиотек и тот самый, упомянутый вами, RoR. Даже если согласиться, что Ruby и Python примерно одинаковы, окей, почему Python, а не Ruby?


KP>Когда я смотрел на Ruby и думал не взять ли его вместо Python, то мне не понравилось: 1) довольно специфический синтаксис, кмк должен провоцировать write-only стиль разработки,


У Python синаксис не менее специфический, если учесть что мейнстримные языки все со скобочками. Такой синтаксис может нравиться или не нравиться — это да, но в любом случае он специфический.

KP>2) отсутствие сопоставимых по качеству и широте использования с Python математических библиотек, 3) отсутствие сопоставимых по качеству и широте использования с Python AI-ориентированных библиотек,


Про эксклюзивные библиотеки я написал в своём самом первом сообщении — это безусловно перевес.

KP>4) сильная заточенность под Web (то, что мне вообще не нужно).


В чём именно проявляется заточенность под web? Если немного походить по rubygems.org, можно найти много сильно не-вебных библиотек вроде 3D геометрии, работы с MIDI — вроде кто-то ими даже пользуется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.