Cobra (langage)

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].

Pour les articles homonymes, voir Cobra (homonymie).

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 MIT
Site web cobra-language.com

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

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

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

Hello World

class Hello
    def main
        print 'Hello, World'


Une classe simple

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

(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. 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

  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.