Drew DeVault, autore dell'ambiente utente Sway, del client di posta Aerc e della piattaforma di collaborazione SourceHut, ha presentato il rilascio di Hare 0.24.0 e ha annunciato una modifica nelle regole per la creazione di nuove versioni. Hare 0.24.0 è diventato il primo rilascio, poiché prima le versioni non venivano create separatamente dal progetto. Tuttavia, l'implementazione del linguaggio rimane ancora instabile e fino alla formazione di un rilascio stabile 1.0 sono ammessi cambiamenti che possono violare la compatibilità.
Il passaggio a un modello di sviluppo che prevede la pubblicazione periodica di versioni di test è motivato dall'intenzione di semplificare la creazione e la gestione dei pacchetti nelle distribuzioni, nonché dal desiderio di rendere più agevole per gli utenti il test delle nuove funzionalità e il monitoraggio delle modifiche. Fino al termine della stabilizzazione del linguaggio, le nuove versioni verranno pubblicate ogni 3 mesi, utilizzando la numerazione 0.YY.Q, dove YY rappresenta le ultime due cifre dell'anno e Q è il numero del trimestre in cui viene rilasciata la versione. Ogni rilascio sarà accompagnato da un elenco delle modifiche dall'ultimo aggiornamento.
Hare è presentato come un linguaggio di programmazione di sistema, simile al linguaggio C, ma più semplice. Il codice sorgente del compilatore e degli strumenti è distribuito sotto la licenza GPLv3, mentre il codice della libreria standard è sotto la licenza MPL (Mozilla Public License). Hare è ottimizzato per affrontare compiti a basso livello, come lo sviluppo di sistemi operativi, compilatori, applicazioni di rete e utility di sistema, per i quali è richiesta la massima prestazione e il pieno controllo sull'esecuzione. Il linguaggio utilizza la gestione manuale della memoria e un sistema di tipi statico, in cui ogni variabile deve essere esplicitamente assegnata a un tipo specifico.
Per l'esecuzione dell'applicazione è fornito un runtime minimo, mentre per lo sviluppo viene distribuita una libreria standard di funzioni che offre accesso alle interfacce di base del sistema operativo, oltre a fornire funzioni per lavorare con algoritmi tipici, protocolli e formati, inclusi strumenti per utilizzare espressioni regolari e crittografia. Per lo sviluppo di applicazioni grafiche viene sviluppato lo strumento hare-wayland, così come binding per accedere alle funzionalità di GTK, Vulkan, OpenGL, SDL2 e libui.
Fonte: opennet.ru
