Cobra is a discontinued general-purpose, object-oriented programming language. Cobra is designed by Charles Esterbrook, and runs on the Microsoft .NET and Mono platforms. It is strongly influenced by Python, C#, Eiffel, Objective-C, and other programming languages. It supports both static and dynamic typing. It has support for unit tests and contracts. It has lambda expressions, closures, list comprehensions, and generators.

Cobra is an open-source project; it was released under the MIT License on February 29, 2008.

Features Object-oriented Namespaces Classes, interfaces, structs, extensions, enumerations Methods, properties, indexers Mixins, extension methods Generics, attributes Quality control Contracts, assertions Unit tests, docstrings Compile-time nil-tracking Expressiveness Static and dynamic binding List, dictionary, and set literals in and implies operator for expressions Slicing Interpolated strings Compile-time type inference Lambdas and closures General productivity Exception handling Postmortem exception report Garbage collection Scripting conveniences Clean syntax Dynamic binding One-step run Shebang line (#!) Miscellaneous Documentation tool (cobra -doc) Syntax highlighting tool (cobra -highlight)

Examples The following examples can be run from a file using cobra <filename>.

Hello World

class Hello def main print 'HELLO WORLD'

A simple class

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

References

External links

The Cobra blog by Charles Esterbrook Cobra News Index