Edycja: mój język pozwala na wielokrotne dziedziczenie, w przeciwieństwie do Java.
Zacząłem projektować i rozwijać własny język programowania do celów edukacyjnych, rekreacyjnych i potencjalnie użytecznych.
Na początku postanowiłem oprzeć ją na Javie.
Sugerowało to, że cały kod zostałby napisany w postaci klas, a kod kompiluje się w klasy, które są ładowane przez maszynę wirtualną.
Wykluczyłem jednak takie funkcje, jak interfejsy i klasy abstrakcyjne, ponieważ nie znalazłem takiej potrzeby. Wydawało się, że wprowadzają w życie paradygmat, i chciałbym, żeby mój język tego nie robił. Chciałem jednak zachować klasy jako jednostkę kompilacji, ponieważ wydawało mi się to wygodne w implementacji, znane i po prostu spodobał mi się ten pomysł.
Potem zauważyłem, że w zasadzie mam system modułowy, w którym klasy mogą być używane albo jako „przestrzenie nazw”, zapewniając stałe i funkcje za pomocą static
dyrektywy, albo jako szablony dla obiektów, które muszą zostać utworzone („rzeczywisty” cel klas w innych językach).
Teraz zastanawiam się: jakie są wady i zalety posiadania klas jako jednostek kompilacyjnych?
Również wszelkie ogólne komentarze na temat mojego projektu byłyby bardzo mile widziane. Post informacyjny w moim języku można znaleźć tutaj: http://www.yannbane.com/2012/12/kava.html .