Cobra (langage)

Un article de Wikipédia, l'encyclopédie libre.

Cobra
Date de première version 2006
Paradigme Multi-paradigme, orienté objet
Auteur Charles Esterbrook
Développeur Cobra Language LLC
Dernière version 0.9.6 ()
Typage fort, statique, dynamique, implicite
Influencé par Python, Eiffel, C#, Objective-C
Système d'exploitation Microsoft .NET, Mono
Licence Licence MITVoir et modifier les données sur Wikidata
Site web cobra-language.comVoir et modifier les données sur Wikidata

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

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'

Notes et références[modifier | modifier le code]

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Cobra (programming language) » (voir la liste des auteurs).
  1. « The Cobra Programming Language », Cobra Language LLC (consulté le )
  2. Lang.NET Symposium 2008 – The Cobra Programming Language, (wmv), Charles Esterbrook (Microsoft. Consulté le .
  3. Adrian Bridgwater, « Application Development - Cobra takes a bite at open source », ZDNet UK,‎ (lire en ligne, consulté le )
  4. a et b Ted Neward, « Reaping the Benefits of Cobra », MSDN Magazine,‎ (lire en ligne)
  5. Jonathan Erickson, « Was George Costanza a Computer Programmer? », Dr. Dobb's Journal,‎ (lire en ligne)
  6. Richard Morris, « Chuck Esterbrook: Geek of the Week », simple-talk,‎ (lire en ligne)
  7. Paul Krill, « Cobra language slithering to open source », InfoWorld,‎ (lire en ligne, consulté le )
  8. « The Cobra Programming Language », Cobra Language LLC (consulté le )
  9. Cobra News Forum

Liens externes[modifier | modifier le code]