metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-01-25 03:42 pm
Entry tags:

Разработчики прикладных решений и библиотек

http://www.scala-lang.org/node/8610
"I distinguish between Scala application programmers and Scala library designers, because the required skill sets are really quite different."

Языки с таким свойством крайне огорчают. Потому что в случае бага в библиотеке можно оказаться в ситуации даже не "некому чинить", а в "никто не может понять - у нас баг или в используемой библиотеке, т.к. она нечитабельна".
(deleted comment)

[identity profile] metaclass.livejournal.com 2013-01-25 01:11 pm (UTC)(link)
Тут такая проблема: в других языках отличия скорее "количественные". Т.е. код в библиотеке и в прикладном решении не будет сильно отличаться в плане используемых идиом. Да, он будет скорее всего аккуратнее, охватывать больше краевых случаев, но в целом это будет код на том же языке.

А вот в хаскеле и скале - есть такое дело, что код прикладной задачи и код библиотек различаются, в плане того, что библиотека может активно использовать дичайшее вуду с вычислениями на типах, макросами, использовать разного рода нечеловеческие оптимизации и тому подобное, чего в прикладные решения не потащат хотя бы из соображения "чтобы потом хоть кто-нибудь что-нибудь понял".
(deleted comment)

[identity profile] teewoon.livejournal.com 2013-01-25 01:34 pm (UTC)(link)
В пхп изначально колхоз - кто хочет, тот либы пишет и пристегивает к языку в виде новых функций. Но вуду в каждой либе своё и оно предметное.

[identity profile] theaspect.livejournal.com 2013-01-27 05:22 pm (UTC)(link)
Если в жаба-коде происходит магия, то можно одной кнопкой скачать исходники из мавена и пробиться в самые глубины. В пыхе это заканчивается "Ошибка: фак ю!"

[identity profile] bydlorus.livejournal.com 2013-01-25 01:15 pm (UTC)(link)
Ещё раз подчеркну, что в C/C++ (особенно в gcc) всё то же самое. Реализация STL это вынос мозга, оптимизации, основанные на фишках gcc зашкаливают, и т.п.

[identity profile] justy-tylor.livejournal.com 2013-01-25 01:29 pm (UTC)(link)
Это верно в части знаний предметной области. Для отображения картинко.jpg не обязательно знать DCT и Huffman, библиотеки и фреймворки в помощь.

А вот инструменты прикладникам освоить надо, иначе будут попадать молотком по пальцам, писать "как деды на Фортране" и впадать в ахуй при виде правильно забитого гвоздя.
(deleted comment)

[identity profile] metaclass.livejournal.com 2013-01-25 01:34 pm (UTC)(link)
По крайней мере я это могу сделать, когда понадобится, или модифицировать стандартный, посмотрев на исходники :)

[identity profile] justy-tylor.livejournal.com 2013-01-25 02:18 pm (UTC)(link)
Написание своих контролов это продвинутый уровень предметной области "разработка GUI". Но такие контролы могут встречаться и в обычном прикладном коде масштаба отдельного приложения.

Различия между системным, библиотечным и прикладным кодом чисто эксплуатационные.

Если утверждается bullshit, что для нормального использования языка системщикам нужно знать "матан", а прикладникам нет, то это одна из двух ситуаций:
1) Данный "матан" не нужен и системщикам, а используется только для чесания ЧСВ.
2) Такой "матан" в реальности нужен всем программистам на этом языке, но количества говнокода "как на Фортране" со стороны прикладников оправдывается светлыми маркетинговыми целями.
(deleted comment)

[identity profile] justy-tylor.livejournal.com 2013-01-25 02:42 pm (UTC)(link)
Более того, делал кроссплатформенный GUI-фреймворк (персоналки, мобильники, телевизоры, ...).

Железо и API платформы тоже представляют собой предметные области, а не языковые инструменты.
(deleted comment)

[identity profile] justy-tylor.livejournal.com 2013-01-25 03:08 pm (UTC)(link)
Нужные, как только требуется customized UI - САПРы, игры и множество других ниш. Повторяю, различия между системным, библиотечным и прикладным кодом чисто эксплуатационные.

А вот вы что именно пытаетесь доказать, что "системные программисты" шибко умные, или что "прикладные программисты" имеют право быть тупыми?
(deleted comment)

[identity profile] justy-tylor.livejournal.com 2013-01-25 03:33 pm (UTC)(link)
Нет "системных" и "прикладных" программистов. Всё зависит от упаковки продукта. Можете мне верить.
(deleted comment)

[identity profile] justy-tylor.livejournal.com 2013-01-25 03:48 pm (UTC)(link)
И специализации "системность" тоже нет. Для реализации GUI-подсистемы операционки опыт создания GUI для САПР намного более релевантен, чем опыт написания драйвера USB.