Witam,
Chciałbym zaprezentować swój projekt, nad którym ostatnio pracuję. Jest to system budowania projektów, który nie używa żadnego języka skryptowego, a przepisy na skompilowanie programu pisze się w C++.
Dlaczego?
Popularne systemu budowania (np. te wymienione w tytule i jeszcze więcej) używają autorskich języków skryptowych do definicji procesu kompilacji projektu. Uznałem, że jest to ciężki proces - parsowanie tekstu nie jest najprostsze, a większość dystrybucji Linuxa i Windows mają już zainstalowany kompilator C++ - języka, który już spełnia kompletność Turinga. Nb++ jest tak naprawdę bibioteką zawartą w jednym pliku nagłówkowym, która daje użytownikowi tz. "przydasie" do skompilowania projektu. Instalacja biblioteki jest banalna! Wystarczy pobrać plik nagłówkowy i zaincludować w swoim programie, który jest odpowiedzialny za kompilację. Sam system budowania działa jak Make - może budować każdy język programowania, więc może być też alternatywą dla np. Cargo lub Ziga.
Jestem ciekaw, co sądzicie o tym projekcie? Czy może on zyskać jakieś praktyczne zastosowanie? Pomysły na nowe funkcjonalności?
Projekt: https://gitlab.com/kamkow1/nbpp
Przykładowy program (kompilacja managera okienek DWM dla X11): https://gitlab.com/kamkow1/nbpp/-/blob/master/examples/dwm/nb++.cpp?ref_type=heads