Re[7]: Что вас останавливает от изучения нового языка?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 24.04.11 19:22
Оценка: +1 -1 :)
Здравствуйте, WolfHound, Вы писали:

V>>Профессорство за знание языков, слава богу, не дают.

WH>Человек, преподающий программирование обязан знать множество языков.

Тебя и Влада послушать, так получится, что любое множество изученных языков без Nemerle является нерепрезентативным.

WH>И ответ "не хочу" на предложение прочитать статью, описывающую техники переднего края должен быть не мыслим.

WH>Но Дворкин мне именно это и заявил.
WH>Лаптев на предложение почитать про немерле сказал примерно тоже самое но другими словами.

Лаптев сказал, если я не путаю, что синтаксическим макросам сто лет в обед.

V>>Язык реализации — это последнее, что интересует. Вернее, не интересует никогда.

WH>Ну да... конечно.
WH>И после того как человек в это начинает верить получается всякая байда типа компиляторов на С.

Кто куда чем стоял?

V>>Для примера, Лисп тоже весьма проблемный язык, как и Пролог, и не зря есть куда как более "продвинутые" современные их аналоги, однако же их успешно преподают на курсе "языки обработки знаний", потому как если студент поймет как работает программа на Лиспе и Прологе, он поймет и принцип работы более современных поделок.

WH>Ага, конечно.

Угу, именно так.

WH>Вот тебе кусочек кода. https://code.google.com/p/nemerle/source/browse/nemerle/trunk/snippets/peg-parser/Nemerle.Peg.Macros/Optimizer/Optimizer.OptimizeRule.n

WH>Прикинь как он будет выглядеть на С++.

За такую лапшу нужно отлучать от клавиатуры. Вложенные match доставляют особо. Не, знаешь, такой ценой добиваться сокращения объёма кода — это себе дороже. Пусть код будет втрое длиннее, но хоть сгруппировали бы по ветвлениям одного уровня. Это был раз. А два, я, например, не вижу принципиальной разницы между:

| Not(Not(rule))                => optimize(Rule.And(r.Location, rule))


и совершенно банальным:

else if (match(rule, Not(Not())) { return optimize(And(r.Location, rule)); }


Совпадения имён случайные, ни один кролик во время прикидок не пострадал.

Так что, подозреваю, что в изображении подобного кода на C++ ничего чудовищного не будет.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.