metaclass: (Default)
[personal profile] metaclass
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."

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

Date: 2013-01-25 12:56 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Жду, кто же первый про хацкель скажет, что там то же самое ;-)

Date: 2013-01-25 01:26 pm (UTC)
From: [identity profile] jakobz.livejournal.com
В хаскеле не так. В хаскеле ад везде - и в библиотеках, и в пользовательском коде :)
Edited Date: 2013-01-25 01:26 pm (UTC)

Date: 2013-01-25 12:58 pm (UTC)
From: [identity profile] bydlorus.livejournal.com
Любой язык такой. Можно подумать, все, кто пользуется бустом или даже shared_ptr, способны понять их реализацию. Не говоря уже про то, что есть языки и даже платформы с наглухо закрытыми либами (не будем показывать пальцами, но багов в тех либах тоже хватает).
Edited Date: 2013-01-25 12:58 pm (UTC)

Date: 2013-01-25 01:03 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Внутренности жабы и дотнета я могу посмотреть и реализовать повторно (чем в случае дотнета иногда и занимаюсь).
В хаскеле со скалами я раньше с ума сойду :)

Date: 2013-01-25 01:07 pm (UTC)
From: [identity profile] bydlorus.livejournal.com
Посмотри внутренности Сильверлайта, пробуй ;-)

Date: 2013-01-28 10:20 am (UTC)
From: [identity profile] nealar.livejournal.com
В х-е понятные либы! А из-за лаконичности языка они ещё и за конечное время понятны.
Юезрленд со стрелками, итератами и генериками ничуть по замороченности не отличается.

Date: 2013-01-25 01:22 pm (UTC)
From: [identity profile] andrew kondratovich (from livejournal.com)
Я понимаю сорсы жвм & стдлиб. чяднт ?

Date: 2013-01-25 01:29 pm (UTC)
From: [identity profile] bydlorus.livejournal.com
Э... привык говорить скрщнми?
(deleted comment)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Date: 2013-01-25 01:09 pm (UTC)
From: [identity profile] prote-je-moi.livejournal.com
а что такое скала?

Date: 2013-01-25 01:12 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Язык программирования. Полезен для издевательств над мозгом артурега :)

Date: 2013-01-25 01:42 pm (UTC)
From: [identity profile] prote-je-moi.livejournal.com
а что нужно написать с этим словом, чтобы над артуриком поиздеваться?)

Date: 2013-01-25 01:10 pm (UTC)
From: [identity profile] rssh.livejournal.com
Это просто портребность в каждой фирме или иметь в штате кого-то кто знает немного знать язык и способы его использования, или привлечь к конслатингом. А писать силами *только* народа с отключенным мозгом и трехдневными курсами при НИИГТ вместо образования - как бы уже рисково. Чем не путь к очищению индустрии ;)

Date: 2013-01-25 02:02 pm (UTC)
From: [identity profile] aamonster.livejournal.com
Ребе, только не говорите, что там в этом вопросе хуже, чем в C++.

Date: 2013-01-25 02:18 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Вообще говоря, хуже, судя по ссылке :)
В хаскеле точно хуже.

Date: 2013-01-25 02:30 pm (UTC)
From: [identity profile] jakobz.livejournal.com
Да уж ладно. Это ты наверное C++ неплохо шаришь просто.

Date: 2013-01-25 05:29 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Для тех, кому С++ казался слишком простым, сделали С++11, теперь х-ь со скалой опять отстают. :)

Date: 2013-01-26 07:13 am (UTC)
From: [identity profile] blackyblack.livejournal.com
Браво.

Date: 2013-01-25 06:11 pm (UTC)
From: [identity profile] what-me.livejournal.com
Тут люди всерьёз хотят переписать Perl на Scala (https://speakerdeck.com/stevan_little/perl-is-not-dead-it-is-a-dead-end)

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 28th, 2025 09:34 pm
Powered by Dreamwidth Studios