Всем доброго времени суток. Любопытно узнать мнение знающих людей. В общем программистом я работаю не первый год. Занимаюсь в основном внутренними корпоративными системами(erp, crm и т.д.). Раньше использовал PHP и Yii/Symfony2(исторически в команде так сложилось) для веб морд и Java для всего фонового и долгоиграющего. С год назад перелез на Python. Смысл лично для меня был в едином ЯП для всего серверного, чтобы не скакать от Java к PHP. И я таки оказался прав.
Сейчас слышу вокруг себя что все это не айс и на самом деле следует использовать что-нибудь компилируемое типа Java/C#. Основными аргументами были скорость работы, зрелость технологии(хз что подразумевается под этим и почему джанга менее зрелая, никто так нормальных аргументов и не привел), статическая типизация, многопоточность.
Т.к. на слово я никому не верил - начал гуглить. Вот что вышло по лично моим наблюдениям (сразу скажу - полтора хэллоуворлда. поэтому и интересуюсь тут):
- Да, из коробки скорость больше. На прямых числодробилках
- Асп.нет показался симпатичнее чем жабьи фреймворки(от количества которых лично у меня глаза разбегаются). Как минимум потому что там есть четкое понимание на что смотреть.
- Статическая типизация это классно. В питоне мне ее до жути не хватает(в 3.5 вошел модуль typing и я его использую везде где только можно. беда в том что его не используют в либах, выпущенных ДО этого)
Ну и суть вопроса - какие профиты со всего этого? По пунктам что вижу лично я:
- Питон тормоз, что есть то есть. Но его можно сильно ускорить. Например, был у меня дико долго генерировавшийся отчет. Я переписал его на cython и подключил к проекту. Все счастливы. Да и настолько ли важна скорость именно языка? Узким местом обычно является база данных. Если с ней будет затык - тормозить будет все что угодно. На мой взгляд все в архитектуру упирается
- Как уже писал, под зрелостью и энтерпрайзностью я вообще хз что подразумевается. На Python написана OpenERP, например. Куча крупных муждународных контор использует его как основной язык в проектах.
- Вот тут да. Хоть typing и исправляет многое.
- Тут своя шиза из-за GIL. Имхо именно потоки в питоне(третьем, во всяком случае) это скорее асинхронность чем паралеллизм. В один момент времени выполняется одна инструкция, на io блокировки нет. А вот процессы это параллельность. Экзекьюторы есть, feature есть. Shared memory тоже есть, межпроцессное общение можно пайпами сделать. Отдельные асинхронные фреймворки тоже есть. И все это не считая того что а) сишный код под гил не попадает и б) есть реализации питона без него.
Покритикуйте, в чем я не прав?