О изобретении велосипедов
http://nekhill.livejournal.com/162101.html
Непонятно, что делать в случае, когда готовый код или софт вызывает приступы ненависти к его авторам, а пользователи платят за то, что софт работает, а не за то, чтобы вы копались в дебрях чужого бреда.
Все, кто против велосипедов, почему-то считают, что "специализирующиеся" авторы напишут код лучше, а это не совсем так. Часто "готовый" код вырос из такого же велосипеда и очень сильно повезет, если автор был нормальный, у него было время и он все сделал по человечески. А еще бывает код настолько сука проприетарный и патентованный, что авторам просто не нужно его делать хорошо - у них деньги текут рекой и так. А еще иногда нужного "готового" кода просто нет.
Кстати, еще один вариант, где велосипеды нужны без вариантов - это когда в языке физически нет нормальных способов реализовать функциональность, не сойдя с ума. Например, вкрутить еDSL в дельфи или C#. Или вариантные типы с паттерн-матчингом туда же.
На данный момент, единственно читабельные варианты делать такое мне попадались только на clojure и ruby. В F# метапрограмминга толком нет вообще, на скале - уже начинается жесть с имплиситами и вычислениями на типах, в хаскеле SYB, Template Haskell и аппликативные функторы в качестве замены функциями с переменным числом аргументов.
Непонятно, что делать в случае, когда готовый код или софт вызывает приступы ненависти к его авторам, а пользователи платят за то, что софт работает, а не за то, чтобы вы копались в дебрях чужого бреда.
Все, кто против велосипедов, почему-то считают, что "специализирующиеся" авторы напишут код лучше, а это не совсем так. Часто "готовый" код вырос из такого же велосипеда и очень сильно повезет, если автор был нормальный, у него было время и он все сделал по человечески. А еще бывает код настолько сука проприетарный и патентованный, что авторам просто не нужно его делать хорошо - у них деньги текут рекой и так. А еще иногда нужного "готового" кода просто нет.
Кстати, еще один вариант, где велосипеды нужны без вариантов - это когда в языке физически нет нормальных способов реализовать функциональность, не сойдя с ума. Например, вкрутить еDSL в дельфи или C#. Или вариантные типы с паттерн-матчингом туда же.
На данный момент, единственно читабельные варианты делать такое мне попадались только на clojure и ruby. В F# метапрограмминга толком нет вообще, на скале - уже начинается жесть с имплиситами и вычислениями на типах, в хаскеле SYB, Template Haskell и аппликативные функторы в качестве замены функциями с переменным числом аргументов.
no subject
(no subject)
(no subject)
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
Автор пишет чушь. Конечно, если хорошего решения в публичном домене нету, ичеловек не в состоянии сам написать хорошее решение, он берёт из числа имеющихся.
Но, что характерно, почти никто же не пишет свой новый язык программирования - языки есть. И шеллы есть. Много чего есть. Но много чего нет, и если контора создаёт свой, более правильный, скелет, то и мясо на нём скорее нарастает.
Один маленький пример у меня - надо было генераторы документов делать, на паскале, для заказчика; мы посчитали это глупым, имплементировали форт на паскале, и генераторы выглядели в виде таблиц конфигов. Производительность, деньги, удовольствие.
(no subject)
(no subject)
(no subject)
(no subject)
no subject