Подорожні нотатки з життя стартапа чому python (муки вибору)

UPD Якщо ви хочете працювати у нас Pyhton розробником пишіть на [email protected]

Всім нам напевно знайомі терзання з приводу вибору тієї чи іншої альтернативи в процесі розробки. Останнім часом я прийшов до висновку, що правда, вона не завжди одна і що не треба намагатися знайти найкраще рішення, треба просто знайти одного з двох-трьох фіналістів і далі слухатися внутрішнього голосу, а не сухого порівняння фич, вибір найчастіше індивідуальний в межах людини (комманди). Тому то що працює для хлопців з Бангалора або консльтантов з Амстердама, не завжди буде працювати для Вас. Як і те що я опишу нижче.

Наявність вибору (типу демократії) - це завжди добре і я спробую розповісти як і що ми вибирали, і головне - чому. Почнемо з основного (хоча основне це напевно ідея, але зараз не про це) - платформи / мови розробки.

На чому в сучасному світі пишуть веб додатки - PHP, Perl, Java. Net, Perl, Python, Ruby. Все інше екзотика (вибачте якщо кого забув з серйозних але начебто все тут, Flex не пропонувати це не платформа а скоріше утиліта).
Паралельно давайте визначимося з критеріями, для нас вони (в порядку важливості)
- швидкість розробки, як початкова так і загальна. Це різні речі
- потужність бібліотек
- хороший templating language
- НЕ write-only (goodbye Perl)
- щоб від синтаксису і можливий мови не повернеш (goodbye Java, PHP. Net)
- розгортання на NIX системі (goodbye .Net)
- Потужний community і, як наслідок, підтримка

PHP - про цю мову я знаю тільки те, що він простий і про те, що дізнаватися більше не хочу, тому що немає в ньому абсолютно ніякої родзинки. Популярний тільки через простоту і Огроменное кількості бібліотек (наслідок першого). Особливого задоволення програмування на ньому приносити не повинно, а отже навіщо нам таке треба. Робота повинна подобається, і мова теж як частину її.

Java - мова написаний консультантами для консультантів, принаймні його J2EE частина. Хороша платформа для заробляння грошей, як і .Net, але для роботи в своє задоволення не годиться. Наприклад, порівнювати JSP з Mako templates з Python це як порівнювати Волгу і BMW в старі радянські часи, перше явно незручно і явно застаріло, хоч і їздить але МінТранс не дає добро на переробку так як сильно багато людей вже на ній їздить і їм буде боляче / заздрісні що вони свого часу купилися на таке г-но. Краще їм просто не показувати що десь є BMW. До речі ганьба Java ще і в тому що там до сих пір немає механізму продукування thumbnails з картинки, що дає результат з нормальною якістю. Одного тільки цього факту досить щоб судити про те як ця платформа призначена для Web. Та й мова м'яко кажучи за 10 років застарів, немає в ньому динаміки, один геморой з рефлекшінамі.
У підсумку вердикт - відмовити, хоч я і присвятив цій платформі 7 років своєї роботи і знаю там майже всі входи - виходи.

Net - см Java + Microsoft + No NIX = відмовити.

Python - відмінний мову (ну трохи корявий синтаксис __конструкторов__ та іншого, але це терпимо і звикаєш швидко), зате:
- відмінні Mako templates, краще напевно з того що є на сьогодні в усіх мовах
- відмінна читаність коду
- Pylons - по суті перенесення ідей RoR, відмінний веб фреймворк
- підходить для системного програмування (заміна bash) так що не треба активно використовувати відразу кілька мов (наприклад Java і Python як раніше)
- відмінні бібліотеки на всі випадки життя (поки що)
- зручна робота з СУБД - SQLAlchemy - відмінний ORM, Elixir - відмінна надбудова над ним
- дуже швидкий, є можливість JITі інших оптимізаційних наворотів

В результаті Python тепер наш вибір і, незважаючи на те, що ніхто з нас до ладу на ньому до цього не писав за 6 тижнів ми зробили стільки, скільки на Java робили б нескінченність часу. Просто тому що на Python код встигає за твоїми бажаннями хоч якось, а в Java немає, в результаті, прототіпіровать на Java це як бігти за своєю тінню, в Sonopia ми її наздогнали, але за 30 лямов і пізно, та й вдвадцатером.

Взагалі після 7 років Java зараз після 6 тижнів Python сложлось відчуття, що тебе злобно обманювали змушуючи ходити на милицях, при тому що поруч люди ходили нормально, ну може заробляли менше, але ж і ходили рівно, і не думали кожну секунду як би так перекрутити з рефлекшіном щоб написати більш менш універсальний код. Причому обманювали на дуже високому рівні, і дуже багато людей, і продовжують успішно обманювати. Консалтинг велика сила, що тут говорити.

Схожі статті

Copyright © 2024