Здравствуйте, PC_2, Вы писали:
PC_>Спасибо, посчитал что средняя программа на Немерле на простых примерах примерно в три раза — четыре раза длинее.
PC_>Ну и малопонятней, учитывая количество шифтовых символов и т.д. Но последнее, как понимаете субьективно. Ну да ладно.
Фигурные скобки в немерле необязательны, он также поддерживает питоновский стиль определения структуры отступами. Но так или иначе, определение структуры в нем обязательно да.
PC_>Короткий и мощный синтаксис это же очень классно.
Конечно. Только еще нужно, чтобы этот синтаксис был понятен. Уверен, что если бы вы перед примерами описали грамматику языка (хотя бы в двух словах), то вопросов и негатива было бы меньше.
PC_>Вот когда у меня рождается в голове микро программа, я просто сажусь и набираю ее за минуту-две.
PC_>Ну где еще такое возможно ? Программы настолько лаконичны, что я их держу в памяти, и их набирать могу на клавиатуре мобильного.
Ну это же совсем другой разговор. Я ведь не утверждаю, что такой язык не нужен. Сейчас, в качестве языка для прототипирования очень многие используют питон (мне, например, до сих пор тяжело реализовывать некоторые питоньи конструкции даже на немерле), именно потому что он позволяет максимально просто и кратко выражать довольно сложные мысли. Вот, к примеру, решение задачи о ферзях, упомянутой выше:
from itertools import permutations
n = 8
cols = range(n)
for vec in permutations(cols):
if n == len(set(vec[i]+i for i in cols)) == len(set(vec[i]-i for i in cols)):
print ("\n".join('.' * i + 'Q' + '.' * (n-i-1) for i in vec) + "\n===\n")
ну разве не прелесть?

Я не просто так упомянул про математиков. Большинство программистов знакомы с грамматикой математических вычислений. Также, они знакомы с пересечением множеств грамматик известных им языков программирования и оно весьма велико, т.к. есть устоявшиеся стандарты записи многих языковых конструкций, функций высшего порядка, комбинаторов, паттернов в конце-концов и т.п. Большинство программистов мыслят именно этими категориями. Так к чему заставлять их помнить еще одну грамматику, какой бы короткой она не была, если можно сделать элементами этой грамматики те самые "кирпичики", которыми мыслят разработчики? Зачем свертку называть "/", если хаскелист будет думать о ней как о "foldr", немерлист как о "FoldRight" и т.п., если у этой ФВП уже есть название? Впрочем, если левую свертку назвать "\", отображение "|", а фильтрацию ":", то в этом возможно будет некий интуитивный смысл.
Т.е., идея здравая, только к вопросам грамматики нужно подойти т.о., чтобы не получить в итоге еще один полноценный развесистый язык, который бы пришлось заново учить.
PC_>Вместе с тем на стандартном языке Шарп, Немерла, Джава, написание таких программок превращается в маленький геморой.
Я бы, кстати, советовал, по крайней мере, на этапе экспериментов с языком, воспользоваться нашим
макросом PegGrammarАвтор: Чистяков Владислав Юрьевич
Дата: 11.12.10
. С одной стороны, реализовывать грамматику в нем — одно удовольствие, с другой, получив при этом все прелести немерла или шарпа на выбор, у вас была бы возможность бок о бок сравнивать их со своим языком, постепенно добавляя необходимые конструкции и выражения и не парясь по поводу парсинга, интерпретации и т.п. А когда грамматика устаканиться, то реализуете ее на чем вам хочется.
Реально меньше времени потратите на накладные расходы и сможете больше времени уделить самому языку.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>