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