[go: up one dir, main page]

Vai al contenuto

Cobra (linguaggio di programmazione)

Da Wikipedia, l'enciclopedia libera.
Cobra
linguaggio di programmazione
AutoreChuck Esterbrook (USA)
Data di origine2008
Ultima versione0.9.6 (24 dicembre 2013)
UtilizzoGeneral purpose
ParadigmiOrientato agli oggetti, funzionale
Tipizzazioneforte, statica, dinamica, inferita
Estensioni comuni.cobra
Influenzato daPython, Eiffel, C#, Objective-C
Implementazione di riferimento
Sistema operativoWindows, Linux, Mac
LicenzaMIT
Sito webcobra-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.

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]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica