O projekcie
Język C, stworzony do szybkiej konstrukcji systemu UNIX, dzięki swojej efektywności i przenośności okazał się ogromnym sukcesem, ponieważ po czterdziestu latach wciąż jest jednym z najpopularniejszych języków na świecie.
Jednak moim zdaniem, warto zająć się stworzeniem języka nowoczesnego, który pozostając wydajny i przenośny, zawierał będzie wbudowane konstrukcje stosowane w dziedzinie programowania systemów operacyjnych. Dodatkowo użyteczna byłaby również standardowa biblioteka komponentów pozwalająca na szybkie prototypowanie nowych pomysłów. Jeśli Twoja idea wymaga najpierw zaprogramowania wielu niezbędnych niższych warstw systemu, z taką biblioteką pójdzie Ci znacznie łatwiej, ponieważ będziesz mógł użyć gotowych modułów i skupić się tylko na innowacjach. Przy wygodnej składni języka przejście od pomysłu do działającej i testowalnej implementacji stanie się kwestią tygodni.
Mam nadzieję, że dzięki Ganimie częściej będziemy świadkami lewej strony obrazka, niż prawej. ;)
Projekt będzie open source i całkowicie niekomercyjny. Zakładam, iż pierwsza faza trwać będzie 6 miesięcy przeznaczonych na doprowadzenie mojej idei do wersji, która będzie w stanie przyciągnąć koderów open source z całego świata. Przykład systemu Linux pokazuje, że taki tryb pracy z pewnością może być efektywny.
Projekt zakłada również utworzenie demonstracyjnego systemu operacyjnego napisanego w całości w języku, który stworzymy. Pierwszą wspieraną platformą będzie x86-64, zatem praktycznie każdy będzie w stanie ocenić wartość języka.
Clavo, lisek zwycięzca
Dlatego proszę Was o wsparcie, abym przez te 6 miesięcy był w stanie utrzymać się przy życiu, mógł zakupić zagraniczne książki i publikacje naukowe dotyczące tematyki systemów operacyjnych i kompilatorów (które po przyswojeniu zawartej w nich wiedzy zobowiązuję się oddać do biblioteki uniwersyteckiej we Wrocławiu), a także na drobne wpłaty (50 zł miesięcznie) aby wspomóc rozwój wrocławskiego Hackerspace, w którym zamierzam realizować projekt.
Dodatkowo, prowadził będę możliwie bogatą dokumentację, którą wydam w postaci książki przy pomocy serwisu lulu.com, a także w formie darmowego e-booka.
Serdecznie dziękuję za zapoznanie się z moją kampanią!
Fragment kodu źródłowego linuksa, w C. Nie wygląda zachęcająco.
Uwagi techniczne: do zbudowania prototypu kompilatora użyję narzędzi bison, flex oraz llvm, dzięki czemu będę mógł skupić się na semantyce języka. Składnię i semantykę opiszę dostatecznie formalnie, by mogły powstać inne, niezależne implementacje.
Słowa kluczowe projektu to: produktywność, bezpieczeństwo i wydajność.