metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-10-15 09:06 am

Отупления пост

Часто в ЖЖ и прочих блогах читаю посты, которые меня заставляют почувствовать тупым. Обычно это что-то вроде конкурса в журнале по ФП, или каких-нибудь отчетов с IFPC, ссылки на Олега или еще что-нибудь такое.

Я сижу, тупо клепаю опердень на дельфях, SQL и C#, чуть-чуть знаю С++ и С, знаю электронику, ассемблер, помню математику и прочую теорию из ВУЗа, немного умею линуксы, знаком с основами ФП, умею писать на F#, хаскель - "читаю со словарем".
Но когда я вижу что люди пишут "ну я за пару дней написал веб-сервер на новом языке/платформе %s" или там "участовали в Hackathon, написали что-то неведомое страшное" или "посидел ночью, выпустил новый релиз ОчередногоФрейморкаНаХаскелеДляПоклоненияПаукам" - мне кажется, что я совсем отупел, т.к. мне чтобы что-то сделать, даже не очень сложное, сначала нужно минимум неделю над этим думать, а потом, не отвлекаясь на всякую бытовуху и прочую хрень, пару дней только с перерывами на сон и еду писать код. Это вещи небольшого размера, типа "2-3 тыс строк кода+3-5 таблицы в БД+бизнес-логика". Если же там еще GUI и печатные формы или что-то нетривиальное - то может занять и две недели и больше.
Кодогенератор вон уже полгода минимум пишу(непрерывной работы только над ним из этого наверно месяца два-три).

Зря расстраиваешься

[identity profile] lionet.livejournal.com 2010-10-15 09:19 am (UTC)(link)
А вот я чураюсь оперденей, потому что там модель данных — чёрт ногу сломит. Наслоения пользовательских требований — ещё один фактор геморроя. Так что я уж лучше поточу чего-нибудь фундаментально-прямолинейное, типа очередного вебсервера на брайнфаке.

Re: Зря расстраиваешься

[identity profile] metaclass.livejournal.com 2010-10-15 09:42 am (UTC)(link)
Там модель обычно простая, а вот требования к бизнес-логике невменяемые. Типа "хотим чтобы в главной книге выполнялись несовместимые требования"

[identity profile] j-sheridan.livejournal.com 2010-10-15 09:22 am (UTC)(link)
А я вот тоже такой. С год вынашивал идею проекта одного, теперь вот взялся и вторую неделю уже вылизываю толшько конфиг- и лог- модули.

[personal profile] alll 2010-10-15 09:34 am (UTC)(link)
А что может быть сложного в веб-сервере, если ставить задачей "чтоб оно кое-как работало"? Там же катастрофически меньше фич, чем в опердени, да и специфицированы эти фичи чуть ли не до состояния "спецификацию можно прямиком на вход кодогенератора отправлять". :)

[identity profile] metaclass.livejournal.com 2010-10-15 09:39 am (UTC)(link)
У меня профессиональная деформация. Я разработку иначе как "завтра в продакшен с 1000 пользователями в неадекватных условиях" не воспринимаю.

[identity profile] nealar.livejournal.com 2010-10-15 09:46 am (UTC)(link)
Так ведь "сделать" и "сделать чтоб завтре в продакшен" - это офигенные разные вещи. У меня куча вещей не деплоятся легко и безболезненно потому, что когда задача сделана ("всё работает") время и деньги на неё уже никому выделять не хочется. Да и чужой софт встречаю такой, что "работает и всё круто", но даже "переставить на другой комп" силами автора - несколько часов, а дополнительную фичу внести - вообще тяжко.

[personal profile] alll 2010-10-15 09:48 am (UTC)(link)
ну так и смотрите на результаты пишущих людей под этим углом, всё будет проще :)

А то отчего-то вспоминается анекдот
- Вы с какой скоростью печатаете?
- Тысяча знаков в минуту!
- Ох ни фига себе!!!
- Но знаете... Такая фигня получается...

[identity profile] enternet.livejournal.com 2010-10-15 09:43 am (UTC)(link)
Ну не совсем так уж и просто. Реальное использование HTTP 1.1, например, отличается от задуманного авторами стандарта. Редкий клиент осиливает нюансы различий ответов 302/303/307. С другой стороны, ведь действительно несложно, если четко понимаешь о чем идет речь. HTTP 0.9 на коммонлиспе я за вечер написал, мало что зная о лиспе.

[identity profile] enternet.livejournal.com 2010-10-15 09:53 am (UTC)(link)
Да, есть такое, я тоже писал сразу с учетом на продакшн, чтоб никакой побайтной возни )

[identity profile] avnik.livejournal.com 2010-10-15 12:59 pm (UTC)(link)
гг
Я тоже когда-то писал http 0.9 на лиспе ;)

[identity profile] gds.livejournal.com 2010-10-15 09:38 am (UTC)(link)
> сначала нужно минимум неделю над этим думать, а потом, не отвлекаясь на всякую бытовуху и прочую хрень, пару дней только с перерывами на сон и еду писать код

Я тупой, поэтому у меня для iteratees (даже при готовой идее!) обдумывание и простые пробы заняли порядка нескольких месяцев (не непрерывного обдумывания, конечно). По-разному пробовал, прикидывал необходимость, упирался в разные ограничения и прочие неприятности, реаллайф всякий опять же. Ну и вот, за пару дней (если точнее, "марафон" длился около полутора суток) отвлекался на другую работу порядка 4 часов, на сон порядка 6 часов, на теорию категорий порядка 2 часов, и только так у меня хоть что-то получилось. Если бы не решился, то ещё месяц пинал бы балду, кодя в почти фоновом режиме.

[identity profile] nealar.livejournal.com 2010-10-15 09:50 am (UTC)(link)
Ну и нормально. Я, например, идею олеговскую сразу просёк, а если начну применять в быту, выйдет ещё больше времени, чем у тебя. Если без тестов и всяких проверок ограничений - то столько же.

[identity profile] lionet.livejournal.com 2010-10-15 09:59 am (UTC)(link)
Я тоже пытался переписать iteratees на окамле, и плюнул из-за множества ограничений. А ты наш герой, значит, раз продрался.

[identity profile] gds.livejournal.com 2010-10-15 10:06 am (UTC)(link)
ещё не продрался -- пока пишу, пока простые тесты идут (на iteratees + enumerators), но как оно будет вести себя в будущем, и не вылезет ли где-нибудь неленивость окамла кардинальным образом -- это не могу предсказать никак, мозга не хватает. А то, что я заборол из нетривиальных отличий окамла от хаскеля -- пока что только монады (в частном случае, для того, что хотят iteratees от монад, подойдёт функтор, берущий в качестве аргумента монаду IO).
Рано для героя, но постараюсь. Ибо iteratees -- очень годная штука, я их аж хочу.

[identity profile] guamoka.livejournal.com 2010-10-15 09:47 am (UTC)(link)
Ребе, и многими вещами, ну, кроме Git'a, написанными "за выходные" вы пользуетесь? :-) Или слышали о таких? Максимум, написал чел вещь, а потом кто-то ее хаками вылизывал еще месяцы, или вообще переписал "с нуля".

[identity profile] max-posedon.livejournal.com 2010-10-15 09:03 pm (UTC)(link)
Историческая справка:

Git написанный за неделю, небыл никаму нужен, кроме Линуса, он был... ммм...
В общем его ещё месяц потом допиливали, чтобы *основные* разработчики им пользовались, а популярным (да и то) он стал, после нескольких лет маинтенервства и разработки git-а, да и то, процессом рулил уже не Линус.

[identity profile] guamoka.livejournal.com 2010-10-15 09:10 pm (UTC)(link)
Вот! Тем более.
Т.е. остается удел пруф-оф-консепт.

[identity profile] zhacka (from livejournal.com) 2010-10-15 09:54 am (UTC)(link)
>ссылки на Олега

Ухх.. :) Я вон пол дня после этой ссылки потратил на Iteratees и так до конца и не понял, с чем их едят. Чтоб полностью не расстраиваться, решил забить и вернуться к ним чуток попозже.

[identity profile] frotmnenogi.livejournal.com 2010-10-15 09:55 am (UTC)(link)
думаю эта клиническая картина для тех, у кого более 100 задач в фолдере "Заняться в первую очередь". Переключение с одной на другую занимает массу времени.

[identity profile] inandout-oflove.livejournal.com 2010-10-15 10:38 am (UTC)(link)
Коллега, расслабьтесь, это нормальный процесс - по-другому оно не едет

[identity profile] denisioru.livejournal.com 2010-10-15 11:01 am (UTC)(link)
"написал web-server" следует читать как "взял классы из библы и прикрутил пару конфигов".
В том же .net есть HttpListener, который по факту умеет делать всё что надо. Сделать из него простой веб-сервер - дело очень недолгое.

[identity profile] komarov.livejournal.com 2010-10-15 11:57 am (UTC)(link)
ребе, почитайте блоги каких-нибудь быдлокодеров типа меня и расслабьтесь :-)

[identity profile] gds.livejournal.com 2010-10-15 12:01 pm (UTC)(link)
прочитал первую страницу (последние записи), про программирование (как и про быдлокодинг) или ничего, или почти ничего. Где читать?

[identity profile] yantayga.livejournal.com 2010-10-15 12:55 pm (UTC)(link)
Как я вас понимаю :) Читайте мой журнал, там ничего страшного, почувствуете себя гением!

читаю посты, которые меня заставляют почувствовать ту

[identity profile] rurumkins.livejournal.com 2010-10-15 02:14 pm (UTC)(link)
прям как я при чтении твоего журнала.

[identity profile] w00dy.livejournal.com 2010-10-15 05:32 pm (UTC)(link)
фигня это всё. Я в молодости за ночь нахачил простенький сервер БД с мордой, а утром сдал пошёл и сдал как курсач. Вроде круто звучит, а на самом деле говно получилось. Аналогично и этот веб-сервер с фреймворком. Вы ж деталей не знаете, а там, скорее всего, ужасные черви и жабы :)

[identity profile] max-posedon.livejournal.com 2010-10-15 09:05 pm (UTC)(link)
Рекомендую посмотреть:
http://devpoint.ru/video/f/devpoint2/46778_Andrey_Aksyonov_vtoroy_doklad.html
из части доклада, можно сделать некоторые выводы по вашему поводу.

[identity profile] fraks-nsk.livejournal.com 2010-10-16 02:32 pm (UTC)(link)
- Доктор, сосед говорит что он за ночь - пять раз, а я - один, да и то не каждую....

- Ну так вы тоже говорите.

[identity profile] metaclass.livejournal.com 2010-10-16 02:48 pm (UTC)(link)
Действительно, именно так :)