Cobra (langage)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Cobra
Apparu en 2006
Auteur Charles Esterbrook
Développeur Cobra Language LLC
Paradigme Multi-paradigme, orienté objet
Typage fort, statique, dynamique, implicite
Influencé par Python, Eiffel, C#, Objective-C
Système d'exploitation Microsoft .NET, Mono

Cobra est un langage d'usage général, orienté objet[1]. Cobra a été conçu par Charles Esterbrook et fonctionne sur les plateformes Microsoft .NET et Mono[2]. Il a été fortement influencé par Python, C#, Eiffel, Objective-C et d'autres langages de programmation[3]. Il accepte aussi bien le typage statique que dynamique[4],[5]. Il gère pleinement les tests unitaires et les contrats[4]. Il possède des fonctions anonymes, des fermetures, des listes en compréhension et des générateurs[6]. Cobra permet à la fois un développement rapide et de bonnes performances[7].

Cobra est un projet Open source, publié sous la licence MIT le 29/02/2008[8].

Les mises à jour apparaissent sur les forums Cobra et s'attachent à l'amélioration des fonctionnalités, à la maintenance corrective, à la documentation et aux projets associés[9].

Caractéristiques[modifier | modifier le code]

Orienté objet
Contrôle qualité
Expressivité
  • Liaison statique et dynamique
  • Listes, dictionnaires et ensembles définis littéralement
  • Opérateurs in et implies
  • expressions for
  • Slicing
  • Chaînes interpolées
  • Inférence de types à la compilation
  • Lambdas et fermetures
Productivité générale
Facilités des langages de script
  • Syntaxe claire
  • Liaison dynamique
  • Exécution en une passe
  • Shebang (#!)
Divers 
  • Outil de documentation (cobra -doc)
  • Outil de coloration syntaxique (cobra -highlight)

Exemples[modifier | modifier le code]

Les exemples suivants peuvent être exécutés à partir d'un fichier en utilisant cobra <filename>.

Hello World[modifier | modifier le code]

class Hello
    def main
        print 'Hello, World'


Une classe simple[modifier | modifier le code]

class Person
 
    var _name as String
    var _age as int
 
    cue init(name as String, age as int)
        _name, _age = name, age
 
    def toString as String is override
        return 'My name is [_name] and I am [_age] years old'

Références[modifier | modifier le code]

  1. « The Cobra Programming Language », Cobra Language LLC (consulté le 2012-09-26)
  2. Charles Esterbrook. Lang.NET Symposium 2008 – The Cobra Programming Language (wmv). Microsoft.
  3. Adrian Bridgwater, « Cobra takes a bite at open source », ZDNet UK,‎ 5 mars 2008 (lire en ligne)
  4. a et b Ted Neward, « Reaping the Benefits of Cobra », MSDN Magazine,‎ juin 2009 (lire en ligne)
  5. Jonathan Erickson, « Was George Costanza a Computer Programmer? », Dr. Dobb's Journal,‎ avril 2008 (lire en ligne)
  6. Richard Morris, « Chuck Esterbrook: Geek of the Week », simple-talk,‎ avril 2010 (lire en ligne)
  7. Paul Krill, « Cobra language slithering to open source », InfoWorld,‎ Feb 7, 2008 (lire en ligne)
  8. « The Cobra Programming Language », Cobra Language LLC (consulté le 2008-02-29)
  9. Cobra News Forum

Liens externes[modifier | modifier le code]