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

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

это приятно.

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

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