Насколько большой должен быть языковой словарь? - PullRequest
1 голос
/ 10 марта 2009

Сегодня я начал смотреть на готовящуюся спецификацию C ++ 0x , и я начал думать о том, каков правильный размер для словаря языка. Первоначально меня поразило то, что были введены новые ключевые слова. На некотором приблизительном уровне количество ключевых слов в языке, я думаю, является оценкой его сложности. То есть в случае C ++ добавление новых конструкций усложнит владение языком. Вот одна из причин, почему книга K & R настолько меньше, чем эквивалент C ++.

После этого я подумал о естественных языках, словарный запас которых, как было показано, линейно растет со временем, независимо от языка (*). Единственное исключение, конечно, Newspeak , что говорит о многом. Размер словарного запаса в этом случае связан с выразительной силой языка.

Однако в языках программирования вы можете использовать очень выразительные языки с небольшим размером словарного запаса (например, Lisp).

Итак, чтобы сформулировать это вопрос, каким, по вашему мнению, должен быть словарь языка - большой и многословный или маленький и краткий?

Ответы [ 6 ]

5 голосов
/ 10 марта 2009

Насколько большой должен быть словарный запас быть?

42.

2 голосов
/ 10 марта 2009

Я не уверен, что здесь есть реальный ответ. Я предпочитаю меньше, но я не могу определить, что на самом деле мало. Я бы предпочел видеть скудный набор операторов без избыточности в них. Это как есть и как в C # меня раздражают. Они слишком близки по функциональности. Если и Если во многих языках одинаковы. Одно можно легко построить из другого.

Я большой поклонник Lisp, который весьма минимален, но даже там существует синтаксический сахар (например, вместо цитаты).

1 голос
/ 10 марта 2009

настолько большой, насколько необходимо, но не больше?

В любом случае, ваш вопрос упускает очевидную мысль. Языки могут быть ужасно сложными без использования большого количества ключевых слов. В качестве примера рассмотрим ключевое слово static в C ++. Это имеет 3, 4 разных значения? Делает ли это язык менее сложным, чем если бы они использовали 3 или 4 разных ключевых слова?

1 голос
/ 10 марта 2009

Я бы сказал как можно меньше при максимальной функциональности. Точно, где провести черту между сложностью и сложностью, очень субъективно.

1 голос
/ 10 марта 2009

Хорошо, давайте сравним два языка - C ++ и Smalltalk

  • C ++ - большое количество зарезервированных слов, сложный синтаксис, документ об огромных стандартах

  • Smalltalk - почти без зарезервированных слов, невероятно простой синтаксис, крошечный стандартный документ

Теперь посмотрите на относительный успех этих языков. Я думаю, что вывод очевиден - чем больше, тем лучше.

1 голос
/ 10 марта 2009

Мне нравятся небольшие языки с понятными способами его расширения.

(кто-то вики)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...