Изменить: мой язык допускает множественное наследование, в отличие от Java.
Я начал проектировать и разрабатывать свой собственный язык программирования для образовательных, развлекательных и потенциально полезных целей.
Сначала я решил основать его на Java.
Это подразумевает, что весь код будет написан в форме классов, и этот код компилируется в классы, которые загружаются виртуальной машиной.
Однако я исключил такие функции, как интерфейсы и абстрактные классы, потому что я не нашел в них необходимости. Казалось, что они применяют парадигму, и я бы хотел, чтобы мой язык этого не делал. Я хотел сохранить классы как модуль компиляции, потому что это казалось удобным для реализации, знакомым, и мне просто понравилась идея.
Затем я заметил, что я в основном остался с модульной системой, где классы можно использовать либо как «пространства имен», предоставляя константы и функции с использованием static
директивы, либо как шаблоны для объектов, которые должны быть созданы («фактическое» назначение классов). на других языках).
Теперь я задаюсь вопросом: каковы преимущества и недостатки использования классов в качестве модулей компиляции?
Кроме того, любые комментарии к моему дизайну будут высоко оценены. Информационный пост на моем языке можно найти здесь: http://www.yannbane.com/2012/12/kava.html .