Diman

Чайник без крышки | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Питон исключительно радует. Я его освоил меньше 2х лет назад, случайно и постепенно - он используется с продуктом на работе. Ну и до этого наталкивался - не оценил. Осваивал медленно, кусками. В итоге понял, что это полноценный язык, исключительно мощный и гибкий, справляющийся с практически любой задачей лучше и лаконичнее, чем любые известные мне альтернативы (С++, Java, PHP, Lisp/Scheme, Pascal), причем скрипты остаются читаемыми, а знания оседают (в отличие от скажем Перла - напишу скрипт, отойду, потом опять приходится вспоминать, какая закорюка чего в данном контексте означает и что в неявных переменных. брр). Вообще я в основном работаю с С++ (по работе), но дома всё больше перехожу на Питон (но С++ таки хоронить пока рано, у него своя ниша есть). Веб программирование раньше делал на PHP, но разобравшись в Питоновом модуле cgi и его друзьях, теперь перевожу всё на Питон - PHP полностью потерял сексапильность. Всё, что задалбывало в PHP - глобальность функций, уродливая типизация, уродливое ООП (улучшенное в PHP5, но слишком мало, слишком поздно), отсутствие модульности (include втыкает текст) - для чего приходилось делать хитрожопые workaround'ы - всё это более-менее решено в Питоне, и при переписывании страницы зачастую всё упрощается и аккуратно решается стандартными средствами языка на месте. PHP хорош для новичков, которым нужно воткнуть немного логики в HTML, не вникая в детали работы с CGI (честно говоря, питоновый модуль cgi представляет из себя некоторый барьер в плане начального изучения, по сравнению с PHP, который бесплатно дает _GET, _POST и т.д. - я в итоге написал свой вспомогательный модуль, который делает это при инициализации, и работать стало ничуть не гиморнее чем с PHP). Есть еще mod_python - не пробовал, в хостинге модули апача напрягают. В плане доступности - Питон доступен практически на всех платформах, в т.ч. всех юниксах и линуксах - на Линуксах он как правило установлен по умолчанию. То же в плане хостинга - если есть CGI и Perl, то скорее всего есть и Питон. Среди достоинств Питона: * динамическая но четкая типизация (переменные имеют четко определенный тип, и допустимы только хорошо определенные либо явные операции и преобразования). * модульность - внутренности модуля локальны для этого модуля, но явно и легко доступны * "всё есть объект" - функции, классы, методы - могут передаваться как значение * интроспекция - если возникают вопросы о сущности и внутренностях какого-то объекта или модуля, или наличии и точном имени методов - легко с ними ознакомиться с помощью dir(), в т.ч. из интерактивной консоли или IDLE, что существенно упрощает обучение. также есть help(). * библиотека стандартных модулей на все случаи жизни - сокеты, протоколы, базы данных, что угодно. * удобная работа с массивами, словарями, строками, итерация и т.д. * map, filter, lambda.. * приличный интерактивный интерпретатор из командной строки * IDLE - всё то же, но более интерактивно - в свежих версиях есть auto-complete, что избавляет от необходимости dir() при освоении. * совместимость кода между версиями Питона, и поддержка старых версий Питона = стабильность Но есть и недостатки: * отсутствие статической типизации на этапе компиляции - статическая типизация таки помогает в сложных проектах, когда требуется, чтобы объект был определенного типа - иначе это может привести к сюрпризам во время выполнения. (статическая типизация может появиться в новых версиях). * барьер в плане GUI и CGI. * интерпретируемость и зависимость от собсно Питона и опциональных библиотек - для распространения продукта конечным пользователям это не радует. До того как я распробовал Питон, ввиду хромания всех известных мне языков, я всё порывался написать свой собственный.. но теперь очевидно, что Питон обладает многими желаемыми свойствами идеального языка, и в будущих версиях всё больше.. так что если и сочиню что-то, оно будет под влиянием Питона. Питону применений куча: * мелкие скрипты для автоматизации, обработки текста и чего угодно * веб программирование, с участием MySQL * прототипы, требующие простора для полета фантазии - часто превращающиеся в полноценные программы * карманный калькулятор с возможностью работы с файлами, сокетами и пр. Показательно, что есть красочные отзывы от компетентных программистов, распробовавших Питон, и они имеют примерно одну и ту же суть, аналогично моему опыту. Например, ESR написал такой отзыв. Также, только что обнаружил что он теперь рекомендует Питон как первый язык для обучения в How To Become A Hacker - раньше на этом месте была Java.  |