metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2015-06-06 09:34 pm

Python back

Я уж думал, один я такими постановками задач в стиле "окружению доверять нельзя, приложение ставится у клиентов где только можно в ужасных условиях" страдаю.
Правда, я до сих пор пытаюсь придумать - на каком компилируемом языке со статик типамисделать удобный для мозга сервер приложений для таких же целей. C#+F#, конечно, почти идеально, но это же микрософт, с них станется завтра закрыть дотнет, дон сайма выгнать на мороз, F# выкинуть из студии, а C#/CLR превратить в подобие ада COM, которое они пытались изначально сделать, из чего получился дотнет.

Originally posted by [livejournal.com profile] levgem at Python back
В 2006 я без сожаления променял питон на рельсы, потому что это было реально круто. Так до 2011, когда я эти ваши рельсы бросил.

Сейчас мы встали перед дилемой: на чем писать приложение, которое отгружается пользователям. Тут есть важный момент: это ставится пользователям, а следовательно мы не можем раздувать инструкции по установке и доверять окружению. Все что нужно (кроме глибц) мы пакуем с собой.


Факторов при выборе поатформы много: удобство написания бизнес-логики и работы с бд, размер инсталяции, потребление ресурсов.

Эрланг в этом месте выбросили из-за необходимости много работать с бд, а эта задача эрлангом решается плохо.

Джава не рассматривалась потому что лютый ад и бешеный размер пакета.


Посмотрели в очередной раз на node.js Это была моя инициатива, вдруг мы что-то теряем, отказываясь от этого хипстерского поделия. Нет, nodejs решает больше те проблемы, которая сама и создает. Писать на этой лапше коллбеков или промисов неудобно.

Конечно рассмотрели рельсы, но это сегодня до 600 мегабайт на диске. Учитывая что наш флюссоник это 30 мегабайт, как-то не очень. Плюс рельсы как были так и остались: 200 метров памяти на запрос и один процесс на запрос. Короче слабать сайтик с формами - ок. Делать из этого приложение для админов - позорище.

Выбрали питон. Сам рантайм с пакетами впихнули в 35 мегабайт. Почему рельсы такие раздутые - непонятно.

С количеством и качеством библиотек вопрос непростой. С одной стороны у экосистемы рельс большая поддержка. С другой стороны пока что то, что я видел у питона отличается большей продуманностью. В результате в рельсах запустить кронскрипт целая история, а тут все пока что кажется поразумнее.

После рельс питоньи библиотеки на первый взгляд кажутся более говорливыми, все таки поменьше магии и побольше эксплицитности. Но я хорошо помню сколько я провозился что бы скрестить в рельсах библиотеку для форм и бутстрап.

Я могу со всей ответственностью побухтеть: рельсами завладели хипстеры, которым дешевый вау-эффект и возможность раздуть проект бездумным разделением на подклассы миксины ценнее чем удобство эксплуатации.

Пока что процесс миграции нашего приложения на питон идет хорошо, думаю что в течении недели закончим и задеплоим.

[identity profile] juan-gandhi.livejournal.com 2015-06-06 06:49 pm (UTC)(link)
Питон хороший язык, пока не понадобится поддерживать код в работоспособном состоянии в течение нескольких лет. Вот тогда наступает ад.

[identity profile] dr-cha0s.livejournal.com 2015-06-06 07:06 pm (UTC)(link)
А чем Хаскел не угодил?

[identity profile] inconceivable2.livejournal.com 2015-06-06 07:27 pm (UTC)(link)
Тридцать пять мегабайт -- это поди с какими-нибудь допплюшками, numpy там и пр. У меня шесть мегабайт был питон со всеми батарейками призипованными.

[identity profile] metaclass.livejournal.com 2015-06-06 07:35 pm (UTC)(link)
Коллеги свихнутся, да и я сам тоже.

[identity profile] blackyblack.livejournal.com 2015-06-06 07:45 pm (UTC)(link)
Если у клиентов и важен размер, то таки C/C++/D.

[identity profile] anonim-legion.livejournal.com 2015-06-06 08:26 pm (UTC)(link)
Я не знаю, чего такого нужно напихать в яву, чтобы получился безразмерный пакет. Не хотите использовать apache commons и тому подобное - пишите сами или передирайте, благо исходники открыты.

[identity profile] dr-cha0s.livejournal.com 2015-06-06 08:41 pm (UTC)(link)
От счастья?

[identity profile] binf.livejournal.com 2015-06-06 09:34 pm (UTC)(link)
== это же микрософт, с них станется завтра закрыть дотнет, дон сайма выгнать на мороз, F# выкинуть из студии, а C#/CLR превратить в подобие ада COM

Вряд ли они F# за факапят, Во-1) слишком много было инвестиций в микрософт ресёрч, чтобы спустить их псу под хвост. Во-2 F# - опенсорсный, так что Дон Сайм, Крис Петричек и все остальные прсто перейдут в Xamarin Studio. А в месте с ними и крупные промышленные разработки, Websharper в том числе на котором уже дохуя сайтов написано. А вообще конечно здесь и сейчас Питоны и Руби - лютая уёбищность в сравнении с F#, использовать такое говно для продакшна, имея Haskell и F# - это просто фууу
Edited 2015-06-06 21:35 (UTC)

[identity profile] megaflop.livejournal.com 2015-06-06 10:14 pm (UTC)(link)
Сами пишем на питоне и распространяем по клиентам. Третий питон + cx_Freeze + NSIS = экзешничек на 8 мегабайт. Минимальный инсталлятор по такой схеме в районе 3-х мегабайт получается.

[identity profile] levgem.livejournal.com 2015-06-06 10:38 pm (UTC)(link)
я не разбирался детально, но сегодня даже хорошие ява приложения тянут сотни мегабайт. Говнище из Apache Foundation пора на жестких дисках рассылать как в древности.

[identity profile] levgem.livejournal.com 2015-06-06 10:39 pm (UTC)(link)
мы винду не трогаем, но я знаю, что оно там работает.

Но да, нам очень важно, что бы всё ставилось одним пакетом и всегда работало. Без всякого говна с виртуализацией.

[identity profile] megaflop.livejournal.com 2015-06-06 10:48 pm (UTC)(link)
Под линукс ещё не распространяем, но уже надо. Есть pyinstaller который вроде это умеет. Незнаю, ещё не пробовали. Теоретически можно свалить питоновы бинарники и свои модули в кучу и всё, если размер не так важен.

[identity profile] berezovsky.livejournal.com 2015-06-07 07:38 am (UTC)(link)
Давеча настраивал virtualenv для питона на винде - это пиздец. Хорошо ещё, что добрый человек инструкцию выложил. Но всё равно очень хочется помыться.

[identity profile] slonopotamus.livejournal.com 2015-06-07 08:46 am (UTC)(link)
Вы так говорите именно про питон или вообще все динамически-типизированные языки?

[identity profile] geniepro.livejournal.com 2015-06-07 09:22 am (UTC)(link)
А Go не рассматривался?

[identity profile] avnik.livejournal.com 2015-06-07 12:37 pm (UTC)(link)
Попробуйте buildout что ли. Я под виндой не пробовал, но вроде поддержка там есть, и под виндой его авторы тестируют.

[identity profile] fbn3x.livejournal.com 2015-06-07 12:40 pm (UTC)(link)
ты плохо настраиваешь vitrualenv. позор тебе.

[identity profile] berezovsky.livejournal.com 2015-06-07 12:59 pm (UTC)(link)
Вот как раз билдбота и настроил. Совершенно ебанистическая среда, круизконтроль конфетка по сравнению с ним. :-)

[identity profile] avnik.livejournal.com 2015-06-07 03:41 pm (UTC)(link)
buildout != buildbot

[identity profile] berezovsky.livejournal.com 2015-06-07 03:44 pm (UTC)(link)
А, прочитал невнимательно.

Хорошо, спасибо, буду знать.

[identity profile] juan-gandhi.livejournal.com 2015-06-07 05:05 pm (UTC)(link)
Исключительно про питон. Ничего подобного не происходит с джаваскриптом, например. Да даже перл иначе живет.

[identity profile] slonopotamus.livejournal.com 2015-06-07 05:22 pm (UTC)(link)
А что не так именно с питоном? Ну кроме +1 источника багов при рефакторингах (отступы).

[identity profile] vinslivins.livejournal.com 2015-06-07 05:48 pm (UTC)(link)
сейчас задачи в стиле "окружению доверять нельзя, приложение ставится у клиентов где только можно в ужасных условиях" всё больше решаются без лишних проблем докером - он теперь, кажись, не есть только у ленивого.

это приятно.

с другой стороны, именно рельсы оптимизированы под скорость "нахреначить сайтик как можно быстрей в одно лицо", и тут им равных нет. а вот всё остальное там, конечно, хужее соседей, типа скорости изучения всего волшебства, сколько они жрут в памяти и всё остальное - оно там вторично.
Edited 2015-06-07 17:51 (UTC)

[identity profile] juan-gandhi.livejournal.com 2015-06-07 08:50 pm (UTC)(link)
Что-то жизненное. Превращается в навозную кучу в процессе эксплуатации.
develop7: (dero)

[personal profile] develop7 2015-06-07 10:16 pm (UTC)(link)
признаться, за три года пиления рубирельсов за деньги я так и не понял, каким именно образом они оптимизированы под скорость разработки чего бы то ни было кроме одноразовых примитивных прокси СУБД ⇔ веб

[identity profile] vinslivins.livejournal.com 2015-06-08 07:21 am (UTC)(link)
сочувствую, чо.
хочу услышать, на каком языке можно разработать многоразовую/одноразовую примитивную прокси быстрее.

хочу также услышать, что именно в нашей жизни НЕ является прокси между вебом и СУБД, порадуемся вместе.
(софт для ракеты, да? банковская система/1с? на джаве, вероятно, да?)
develop7: (dero)

[personal profile] develop7 2015-06-08 10:16 pm (UTC)(link)
если 1) наговнякать и больше не возвращаться и 2) с тривиальной логикой (поля у формочек мапятся в БД 1:1) — тут рельсы вне конкуренции.
иначе — не рельсы. в 2011 я ставил на PHP+symfony 1.4, но оно не поддерживается, symfony v2 скотилось в enterprise, а потыкать что-то ещё не было времени. Вроде как Django пригоден (благодаря forms, которые были и в symfony), но его я не смотрел ни разу.
Edited 2015-06-09 08:38 (UTC)

[identity profile] Дмитрий Сытьков (from livejournal.com) 2015-06-09 08:35 am (UTC)(link)
C# и ряд библиотек выпущены в опенсурс. https://github.com/dotnet

[identity profile] dmitry shamov (from livejournal.com) 2015-06-09 12:02 pm (UTC)(link)
Под Linuх прошу вас распространяйте или как пакеты или virtualenv.

[identity profile] megaflop.livejournal.com 2015-06-09 01:37 pm (UTC)(link)
Или как бинарники, независимые от окружения, если нужно именно это. Пост вроде об этом как-раз.

[identity profile] megaflop.livejournal.com 2015-06-09 01:40 pm (UTC)(link)
Про ад пожалуйста поподробнее. Такие заявления надо аргументировать.

[identity profile] juan-gandhi.livejournal.com 2015-06-09 02:13 pm (UTC)(link)
Мне почему-то не кажется, что я вам чем-то обязан.

[identity profile] megaflop.livejournal.com 2015-06-09 03:28 pm (UTC)(link)
Мне тоже. Ваши слова про ад - пустые.

[identity profile] juan-gandhi.livejournal.com 2015-06-09 04:21 pm (UTC)(link)
Вы что, программистом, что ли, прикидываетесь?