понедельник, 11 июля 2016 г.

Архитектура языка

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

  1. Корректность исходного кода
  2. Простота использования языка
  3. Лёгкость воплощения транслятора
  4. Эффективность выходного кода

Всегда стоит помнить, что:

  1. Язык — это не только то, что в нём есть, но и то, чего в нём нет.
  2. Добавить новую возможность гораздо легче, чем удалить старую.
  3. Маловероятные ошибки имеют свойство становиться большими проблемами.

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

Конструктивные особенности:

  1. Синтаксис
  2. Модульность
  3. Объявления и области видимости
  4. Состояние корректности
  5. Целочисленные типы

Комментариев нет:

Отправить комментарий