- Free and open-source software portal
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
- Contracts, assertions
- Unit tests, docstrings
- Compile-time nil-tracking
- 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
- Exception handling
- Postmortem exception report
- Garbage collection
- Clean syntax
- Dynamic binding
- One-step run
- Shebang line (#!)
- 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.'External links
- Official website
- The Cobra blog by Charles Esterbrook
- Cobra News Index
References
"The Cobra Programming Language". Cobra Language LLC. Retrieved 2012-09-26. http://cobra-language.com ↩
Charles Esterbrook (Jan 28, 2008). Lang.NET Symposium 2008 – The Cobra Programming Language. Microsoft. Archived from the original (wmv) on March 26, 2009. Retrieved 2010-08-31. https://web.archive.org/web/20090326203941/http://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=7259 ↩
Bridgwater, Adrian (5 March 2008). "Cobra takes a bite at open source". ZDNet UK. Retrieved 2010-08-31. http://www.zdnet.co.uk/news/application-development/2008/03/05/cobra-takes-a-bite-at-open-source-39362140/ ↩
Neward, Ted (June 2009). "Reaping the Benefits of Cobra". MSDN Magazine. http://msdn.microsoft.com/en-us/magazine/dd882513.aspx ↩
Erickson, Jonathan (April 2008). "Was George Costanza a Computer Programmer?". Dr. Dobb's Journal. http://www.ddj.com/architect/207400254 ↩
Neward, Ted (June 2009). "Reaping the Benefits of Cobra". MSDN Magazine. http://msdn.microsoft.com/en-us/magazine/dd882513.aspx ↩
Morris, Richard (April 2010). "Chuck Esterbrook: Geek of the Week". Simple-talk. http://www.simple-talk.com/opinion/geek-of-the-week/chuck-esterbrook-geek-of-the-week/ ↩
Krill, Paul (Feb 7, 2008). "Cobra language slithering to open source". InfoWorld. Retrieved 2010-08-31. http://www.infoworld.com/d/developer-world/cobra-language-slithering-open-source-202 ↩
"The Cobra Programming Language". Cobra Language LLC. Retrieved 2008-02-29. http://cobra-language.com/downloads/source/ ↩