Cobra (langage)
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 |
modifier |
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
-
- Espaces de noms
- Classes, interfaces, structures, extensions, énumérations
- Méthodes, propriétés, indexeurs
- Mixins, méthodes étendues
- Généricité, attributs
- Contrôle qualité
-
- Contrats, assertions
- Tests unitaires, docstrings
- Analyse des types à null à la compilation
- Expressivité
-
- Liaison statique et dynamique
- Listes, dictionnaires et ensembles définis littéralement
- Opérateurs
in
etimplies
- expressions
for
- Slicing
- Chaînes interpolées
- Inférence de types à la compilation
- Lambdas et fermetures
- Productivité générale
-
- Gestion des exceptions
- Compte rendu d'exception postmortem
- Ramasse-miettes
- 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
)
- Outil de documentation (
Exemples
[modifier | modifier le code]Les exemples suivants peuvent être exécutés à partir d'un fichier en utilisant cobra <filename>
.
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]- « The Cobra Programming Language », Cobra Language LLC (consulté le )
- Lang.NET Symposium 2008 – The Cobra Programming Language [wmv], Charles Esterbrook (), Microsoft, consulté le
- Adrian Bridgwater, « Application Development - Cobra takes a bite at open source », ZDNet UK, (lire en ligne, consulté le )
- Ted Neward, « Reaping the Benefits of Cobra », MSDN Magazine, (lire en ligne)
- Jonathan Erickson, « Was George Costanza a Computer Programmer? », Dr. Dobb's Journal, (lire en ligne)
- Richard Morris, « Chuck Esterbrook: Geek of the Week », simple-talk, (lire en ligne)
- Paul Krill, « Cobra language slithering to open source », InfoWorld, (lire en ligne, consulté le )
- « The Cobra Programming Language », Cobra Language LLC (consulté le )
- Cobra News Forum
Liens externes
[modifier | modifier le code]- Site officiel
- Le blog Cobra par Charles Esterbrook
- Cobra News Index