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."

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

[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 зашкаливают, и т.п.