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

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

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

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

Учитывается, что:

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

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

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

  1. Синтаксис
  2. Разделяемость
  3. Маршрутизация разделов
  4. Объявления и области видимости
  5. Подпрограммы
  6. Разновидности состояния переменной
  7. Виды постоянных
  8. Состояние правильности
  9. Ошибочное состояние
  10. Присваивание
  11. Утверждение
  12. Целочисленные типы

Другое:

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

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