суббота, 24 июля 2010 г.

Требования к системному языку программирования

(навеяно http://apenwarr.ca/log/?m=201007#21)
  1. Реализация любой идеи на новом языке должна быть не сложнее её реализации на языке C
  2. Должная быть возможность напрямую вызывать подпрограммы на C и ASM
  3. Должны быть детерминированные конструкторы и деструкторы (RAII)
  4. Нужна поддержка таблиц виртуальных методов
  5. Не должно быть отдельных заголовочных файлах (import вместо include)
  6. Не должно быть динамической типизации
  7. Не должно быть встроенного в язык сборщика мусора
  8. Не должно быть встроенной в язык системы нитей исполнения
  9. Не должно быть намертво встроенной в язык стандартной библиотеки
  10. Исключения: либо управляемые, либо отсутствуют
  11. Сложные типы должны всегда передоваться внутрь функции по ссылке
  12. Синтаксис работы с указателями должен быть таким же как и синтаксис работы со ссылками
  13. Нужна поддержка преобразований типов (type casting) определяемых пользователями
  14. Нужна поддержка обобщенных типов
  15. Нужна поддержка анонимных функций
  16. Нужна поддержка перегрузки операторов

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