Linguaggio di programmazione Hybris

Qualche tempo fa sono stato contattato dal creatore di un nuovo progetto per un linguaggio di programmazione libero sotto licenza GPL. Esso si chiama Hybris, e potete raggiungere l’homepage del progetto a questo indirizzo. Le caratteristiche mi sono state descritte così come ve le riporto:

Il progetto, chiamato Hybris, consiste in un linguaggio di scripting procedurale e typeless, ovvero un linguaggio che non richiede la dichiarazione esplicita del tipo di una variabile ma capisce come trattare la variabile in questione in base al valore con il quale viene inizializzata.

La grammatica e il set di funzionalità integrate sono state realizzate con tre soli scopi, scopi che riassumono abbastanza bene il target qualitativo del progetto:

  • Eliminare le caratteristiche inutili delle grammatiche fin’ora esistenti per ottenere uno stile pulito, intuitivo e soprattutto che non comporti inutili sprechi di tempo per la scrittura del codice.
  • Includere quelle funzionalità che, benché non siano incluse nei “core” degli altri linguaggi, son diventate per qualità e/o per necessità lo “stato dell’arte” nel mondo della programmazione.
  • Mantenere una certa interazione a basso livello con il sistema operativo per fornire un linguaggio che, se pur di scripting ed estremamente astratto, abbia potenzialità simili e a volte analoghe a linguaggi compilati di basso livello.

Dato che esiste da diversi mesi, si tratta di un lavoro abbastanza maturo. L’interesse dell’autore è quello di avere programmatori che abbiamo voglia di provare questo linguaggio per poter segnalare eventuali bug o suggerimenti su migliorie da apportare. Io consiglio a chi è interessato di darci un’occhiata perché non sembra affatto male, specialmente la pagina degli esempi.

10 pensieri su “Linguaggio di programmazione Hybris

  1. la domanda che mi faccio io invece è “come si inventa un linguaggio di programmazione?”, si decide quale sia la nuova sintassi e poi si scrive un compilatore?
    boh, non ho mai capito.

    ma è una cosa che mi ha incuriosito da sempre.

  2. Eccomiiiiiiiiii!!! Wow solo ora trovo questo post sul mio progetto ^^

    Per rispondere a scimmia :

    Prima si scrive un cosìddetto lexer (o scanner) che, partendo da un file di testo contenente il codice del linguaggio, suddivide e classifica ogni “parola” in base a delle regole conosciute come espressioni regolari.

    Successivamente, si confronta ogni possibile seguenza di parole chiave con delle seguenze prestabilite, chiamate abstract syntaxt tree, che rappresentano la vera e propria sintassi del linguaggio.

    Quando si trova un “match” per una determinata regola, la si esegue ricorsivamente, spezzettandola quando possibile in sotto regole più piccole.

    Questo è quanto … spero di esser stato chiaro😄

    PS: Per XXX :

    In realtà scrivere un interprete o un compilatore non sono cose molto diverse, il compilatore fa la stessa cosa dell’interprete, ma quando trova un match su una regola invece di eseguirla direttamente la compila in codice binario.

  3. Io ho letto su qualche forum che esiste un nuovo ambiente di programmazione, una novità in smau, che cambierà la vita ai programmatori. Si chiama Leonardo hlc. Sentito nulla voi?

  4. Vedo… anzi non vedo.😛 Non c’è neppure un esempio di codice o “linguaggio naturale” come dicono loro. A parte la normale diffidenza legata al fatto che l’analisi della semantica (necessaria per il linguaggio naturale) è estremamente più difficile dell’analisi della sintassi (e te lo dicono alla prima lezione di linguaggi formali all’università); penso che il fatto che sia un ambiente molto proprietario (addirittura con licenze a pagamento) e a quanto sembra orientato particolarmente all’italiano lo limiti parecchio. Oltretutto senza nessun esempio pratico per il momento è tutto fumo e niente arrosto.😛

Che cosa ne pensi?

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...