Cobra (linguaggio di programmazione)
Cobra linguaggio di programmazione | |
---|---|
Autore | Chuck Esterbrook (USA) |
Data di origine | 2008 |
Ultima versione | 0.9.6 (24 dicembre 2013) |
Utilizzo | General purpose |
Paradigmi | Orientato agli oggetti, funzionale |
Tipizzazione | forte, statica, dinamica, inferita |
Estensioni comuni | .cobra |
Influenzato da | Python, Eiffel, C#, Objective-C |
Implementazione di riferimento | |
Sistema operativo | Windows, Linux, Mac |
Licenza | MIT |
Sito web | cobra-language.com/ |
Cobra è un linguaggio di programmazione general purpose, multi-paradigma, open source creato a partire dal 2008 dal programmatore californiano Chuck Esterbrook. Nato inizialmente per Windows avendo come target la piattaforma Microsoft.Net questo linguaggio è in grado di girare anche su sistema operativo Linux e su Mac sfruttando il progetto Mono (porting di .Net nel mondo *nix). Sia pure a livello embrionale è in corso anche il porting verso la piattaforma Java e verso il sistema operativo per dispositivi mobili Android. L'intento dell'autore era quello di creare uno strumento che unisse le caratteristiche a suo modo di vedere più interessanti di altri linguaggi. In particolare fonti di ispirazione sono stati C#, Python ed Eiffel, quest'ultimo in particolare per l'adozione del paradigma detto "design by contract". Il progetto non è più aggiornato dalla fine del 2013.
Hello, World
[modifica | modifica wikitesto]Il seguente esempio propone il classico "Hello, World!":
class Hello
def main
print 'Hello, World'
di seguito invece abbiamo la creazione di una classe:
class Persona
var _nome as String
var _eta as int
cue init(nome as String, eta as int)
_name, _age = name, age
def toString as String is override
return 'Mi chiamo [_nome] ed ho [_eta] anni'
Caratteristiche del linguaggio
[modifica | modifica wikitesto]- è un linguaggio orientato a oggetti che supporta anche molti aspetti di programmazione funzionale (chiusure, espressioni lambda)
- supporta sia la tipizzazione statica che quella dinamica e l'inferenza di tipo
- supporta nativamente le metodologie design by contract e unit test
- è in grado di sfruttare pienamente il framework .Net
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su cobra-language.com.
- (EN) Blog dell'autore, su cobralang.blogspot.com.
- Articolo su MSDN, su msdn.microsoft.com.