Re[2]: Мои пять козявок на тему Почему у Nemerle нет будущего
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 11.08.06 08:40
Оценка: 17 (3) +2 -1 :)
Здравствуйте, Klapaucius, Вы писали:

K>Вы считаете, что Nemerle это очень сложный язык для сильно умных?


Нет, я так не считаю. Но я думаю, что Nemerle делает очень простым написание сложных (в смысле запутанных, сложных для сопровождения) программ. Но об этом здесь, помнится, Gaperton уже говорил.

Я думаю, что если что-то может быть понято или использовано неправильно, то оно обязательно будет понято и использовано неправильно. Успех Java показывает, что подавляющему большинству разработчиков, не желающих вникать в тонкости языка и правильных способов его использования, нужно что-то, максимально усложняющее отстреливание ног разработчиков. Но при этом дающее некоторые преимущества в простоте реализации каких-то часто встречающихся задач.

У Nemerle очень сильный упор делается в метапрограммирование. Даже многие фичи языка реализованы через макросы. Наверное для разработчиков языка и компилятора это выглядит очень здорово. Так же могут думать и некоторые разработчики библиотек, которым нужна compile-time генерация кода. Ну и разных пуристов и исследователей языков в эту же группу можно добавить.

Но что получает тот, кому не нужно делать свой компилятор, кому не нужно разрабатывать фреймворки с кодогенерацией, которому по барабану, насколько маленький код самого компилятора? Сборную солянку из императивных, функциональных и объектно-ориентированных возможностей, да еще и с супер-мета-программированием в придачу. Даже если она удачно приготовлена все равно разработчикам нужно привить вкус и хороший тон, чтобы в нужном месте применять pattern-matching, в нужном OOP, в нужном метапрограммирование. Т.е. нужно учится, учится и еще раз учится.

Безусловно, кто-то будет этому рад и сможет использовать все возможности Nemerle в полном объеме без ущерба для себя и своих проектов. Так было с Lisp-ом, со Smalltalk-ом, так есть с C++. Я думаю, что так будет с Nemerle. Но может быть здесь так же сработает закон потребления пива и 80% возможностей Nemerle потребуется всего лишь 20% его аудитории. А оставшимся 80% пользователей нужны будут всего лишь 20%, как то вывод типов и локальные функции (для уменьшения объема кодирования в обычных условиях). Но ведь есть еще 80% неиспользованных возможностей -- их обязательно нужно будет как-то использовать. И может быть кто-то сможет объяснить, какие факторы не позволят функциональность Nemerle употребить во вред?

K>Вы считаете, что Oberon не получил распространение тоже потому, что он для сильно умных?


Нет. Есть такой феномен: популярность получают языки, которые создаются для работы, для удовлетворения своих собственных сиюминутных нужд. C, C++, Perl, Python, Ruby, Java (наверное и C# сюда же попадает). Как только к языку прикладывается какая-то наука (Pascal, Oberon) или комитет (Ada), как все сразу портится.

Чем это объясняется я не знаю, но факты упрямая вещь.

K>Чем руководствуются создатели Оберона мне совершенно не понятно. Тоесть я догадываюсь, что они ориентируются на пуристов, но и с этим мне не все ясно.


У меня такое же впечатление. Они занимаются исследованиями.

K>А то что создатели Немерле не выставляют себя умниками и не делают эзотерический язык, лично для меня видно и из материалов сайта и из дизайна самого языка.


Про то, что создатели Nemerle выставляю себя умниками я и не утверждал. Мое мнение в том, что они делают язык для людей своего уровня. А таких немного по определению.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.