Il linguaggio Cobra Ŕ open source

L'autore ha rilasciato il codice della sua giovane creatura sotto licenza open source. Un progetto che si ispira a molti dei linguaggi pi¨ diffusi e pensato per MS.NET/Mono

Roma - Là fuori c'è un nuovo linguaggio di programmazione open source. Il suo nome è Cobra (da non confondere con l'omonimo linguaggio di Squeaky Duck), e può essere utilizzato per scrivere applicazioni capaci di girare sulla piattaforma MS.NET o sulla sua implementazione open source, Mono.

Cobra è un linguaggio general purpose molto giovane, nato meno di due anni fa, ma ha già saputo attrarre l'attenzione di molti sviluppatori. Un'interesse senza dubbio destinato a crescere ora che il suo autore, Chuck Esterbrook, ha deciso di pubblicarne il codice sorgente sotto la licenza open source del MIT.

Stando a Esterbrook, Cobra prende il meglio dei linguaggi di programmazione in circolazione, ispirandosi in particolare alla sintassi e alla semplicità di programmazione di Python, Ruby e Smalltalk, al binding statico e dinamico tipico di Boo e Objective-C, al modello orientato agli oggetti di D e Eiffel, e alle performance runtime di C++, Java e C#.
"Con Cobra gli sviluppatori Python non saranno più costretti a portare i propri software in C++ quando hanno bisogno di performance", ha detto Esterbrook. "Cobra sposa infatti la semplicità di Python con le performance del C++".

Ogni informazione sul linguaggio, inclusi esempi, documentazione e forum, sono disponibili sul sito ufficiale.
31 Commenti alla Notizia Il linguaggio Cobra Ŕ open source
Ordina
  • beh non sembra male ma con la folla di lunguaggi che c'e'...
    non+autenticato
  • Oh ragà dovresto iniziare a scrivere programmi in VB.NET e buttare nel cesso tutto il resto, avreste le performance migliori di C++ (tanto l'ho creato sempre io) e la semplicità di cough cough Java ma molto molto più potente...
    Poprio ieri ho creato un driver in VB.NET per attaccare la spina del televisore al mio PC un intel eternum da 2500000000 GHz con 150 Tera di RAM e 12 Milioni di GB di HD su cui ho appena montato Vista Basic e gira alla grande (il televisore)

    Il tuo Bill
    non+autenticato
  • - Scritto da: Bill
    > Oh ragà dovresto iniziare a scrivere programmi in
    > VB.NET e buttare nel cesso tutto il resto,
    > avreste le performance migliori di C++ (tanto
    > l'ho creato sempre io) e la semplicità di cough
    > cough Java ma molto molto più
    > potente...
    > Poprio ieri ho creato un driver in VB.NET per
    > attaccare la spina del televisore al mio PC un
    > intel eternum da 2500000000 GHz con 150 Tera di
    > RAM e 12 Milioni di GB di HD su cui ho appena
    > montato Vista Basic e gira alla grande (il
    > televisore)
    >
    > Il tuo Bill

    Quanto l'hai pagato?
    Ma si trova da mediaword o devo ordinarlo direttamente sul sito MS?
    Posso montarci kubuntu?
    non+autenticato
  • Questo e' facile come un linguaggio di scripting, anzi, di piu'. Completo come Java e performante come C...
    ci manca solo che interpreti gli appunti presi su un tovagliolino da cocktail!

    Corro a bruciare tutti i manuali che ho in casa e a costruire un altare per sto tizio!
    non+autenticato
  • "e alle performance runtime di C++, Java e C#"

    che razzo c'entrano le performance runtime di C++ che è codice compilato nativamente per il processore su cui deve girare da quelle di Java e C# che invece usano macchine virtuali per eseguire il codice precompilato in ByteCode e MSIL ?????
    ...voglio sperare che all'articolista sia solamente "scappata" per la fretta una frase del genere!
    non+autenticato
  • dai fai finta che abbia tenuto conto della compilazione j-i-t
    non+autenticato
  • ...non e' tanto il linguaggio che conta, di quelli ce ne possono essere migliaia, e' il codice che produce il compilatore che conta. Il linguaggio e' un po' come un editor, ognuno sceglie il proprio (e ci sono piu' editor che programmatori) ma e' il risultato che conta. Ognuno scrive il proprio linguaggio, se ad altri piace lo usano, altrimenti muore li! Per fortuna si e' ancora liberi di scegliere il proprio linguaggio!
  • - Scritto da: den2k
    > ...non e' tanto il linguaggio che conta, di
    > quelli ce ne possono essere migliaia, e' il
    > codice che produce il compilatore che conta. Il
    > linguaggio e' un po' come un editor, ognuno
    > sceglie il proprio (e ci sono piu' editor che
    > programmatori) ma e' il risultato che conta.
    > Ognuno scrive il proprio linguaggio, se ad altri
    > piace lo usano, altrimenti muore li! Per fortuna
    > si e' ancora liberi di scegliere il proprio
    > linguaggio!

    Ma l'editor di un programma si può cambiare, il linguaggio no...
    non+autenticato
  • - Scritto da: Piccolo Principe
    > - Scritto da: den2k
    > > ...non e' tanto il linguaggio che conta, di
    > > quelli ce ne possono essere migliaia, e' il
    > > codice che produce il compilatore che conta. Il
    > > linguaggio e' un po' come un editor, ognuno
    > > sceglie il proprio (e ci sono piu' editor che
    > > programmatori) ma e' il risultato che conta.
    > > Ognuno scrive il proprio linguaggio, se ad altri
    > > piace lo usano, altrimenti muore li! Per fortuna
    > > si e' ancora liberi di scegliere il proprio
    > > linguaggio!
    >
    > Ma l'editor di un programma si può cambiare, il
    > linguaggio
    > no...

    Dipende se salva in un linguaggio proprietario o conosciuto.
    krane
    22544
  • vabè magari intendeva che da un certo punto lo cambi.
    Non che ti porti dietro tutti i progetti. Il codice è testo, quello l'avrai x sempre.
    non+autenticato
  • - Scritto da: den2k
    > ...non e' tanto il linguaggio che conta, di
    > quelli ce ne possono essere migliaia, e' il
    > codice che produce il compilatore che conta. Il
    > linguaggio e' un po' come un editor, ognuno
    > sceglie il proprio (e ci sono piu' editor che
    > programmatori) ma e' il risultato che conta.
    > Ognuno scrive il proprio linguaggio, se ad altri
    > piace lo usano, altrimenti muore li! Per fortuna
    > si e' ancora liberi di scegliere il proprio
    > linguaggio!

    Sono d'accordo solo in parte.
    ╔ ovvio che un compilatore non dovrebbe mai usare due istruzioni laddove ne possa usare una sola, ma...
    Sto facendo dei test sulle prestazioni di due Application Servers ed il dilemma é lampante: ci sono casi in cui il problema é un consumo eccessivo di memoria, mentre altri in cui la CPU é troppo sotto sforzo. Lo stesso pezzo di codice, eseguito magari molte volte, puˇ allocare un sacco di memoria. Nel caso in cui il problema sia la quantitß di memoria allocata, sarebbe meglio che venisse liberata al pi˙ presto (il compilatore potrebbe aggiungere un'instruzione per farlo alla fine della funzione o anche durante, dove l'oggetto non viene pi˙ usato), mentre nel caso sia la CPU, é meglio liberare la memoria in un secondo momento (quindi il compilatore non dovrebbe aggiungere automaticamente quelle istruzioni). In questo caso, la migliore soluzione é dare al programmatore istruzioni/meccanismi con cui possa riconoscere la situazione di emergenza, ma se nel linguaggio non ci sono... le prestazioni dell'applicazione vanno a farsi friggere!
    Questo é il problema del Garbage Collector di Java (beh, veramente la storia é un pˇ pi˙ complicata).

    Quello che intendi tu come "linguaggio", secondo me é in realtß la sua sintassi. Questa visione non é pi˙ applicabile a molti linguaggi, in quanto sono legati strettamente ad alcune librerie di base (vedi la reflection di Java), il cui funzionamento é intrinsecamente lento (ma non potrebbe essere altrimenti, visto il suo scopo). Alcuni meccanismi potrebbero essere implementati diversamente, magari in modo pi˙ complicato, ma la scelta é stata quella di legare quel linguaggio a quelle librerie, per le quali il compilatore pi˙ di tanto non puˇ fare.

    Sempre nel caso di Java, poi, le prestazioni dipendono molto anche dalla Virtual Machine in cui viene fatto girare, che devono supportare funzionalitß specifiche del linguaggio (ad esempio mi hanno detto, ma devo controllare, che alla fine della creazione di un oggetto in Java, viene effettuata un'operazione sincronizzata di copia dell'oggetto su tutti i core e le CPU paralleli, il che richiede un sacco di tempo e non é controllabile/disabilitabile), molte delle quali non possono essere controllate né da programma, né da compilatore.
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 8 discussioni)