- Cobra (programming language from Cobra Language LLC)
-
Cobra Paradigm(s) Multi-paradigm: object-oriented Appeared in 2006 Designed by Chuck Esterbrook Developer Cobra Language LLC Stable release 2010-10-18 (October 18, 2010 )Typing discipline strong, static, dynamic, inferred Influenced by Python, Eiffel, C#, Objective-C OS Microsoft .NET, Mono License MIT Usual filename extensions .cobra Website http://cobra-language.com/ Cobra is an object-oriented programming language produced by Cobra Language LLC.[1] Cobra is designed by Chuck Esterbrook, and runs on the Microsoft .NET and Mono platforms.[2] It is strongly influenced by Python, C#, Eiffel, Objective-C, and other programming languages.[3] It supports both static and dynamic typing.[4][5] It has first class support for unit tests and contracts.[4] It has lambda expressions, closures, list comprehensions and generators.[6] Cobra provides both rapid development and performance in the same language.[7]
Cobra is an open-source project; it was released under the MIT License on February 29, 2008.[8]
Updates are posted to the Cobra news forum with progress on features, fixes, documentation and related projects since the last update.[9]
Contents
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:
- Doc tool (cobra -doc)
- Syntax highlighting tool (cobra -highlight)
Examples
The following examples can be entered into a file and run using
cobra <filename>
.Classic Hello world example:
class Hello def main print 'Hello, World'
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
- ^ "The Cobra Programming Language". Cobra Language LLC. http://cobra-language.com. Retrieved 2010-08-31.
- ^ Chuck Esterbrook (Jan 28, 2008) (wmv). Lang.NET Symposium 2008 – The Cobra Programming Language. Microsoft. https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=7259. Retrieved 2010-08-31.
- ^ Bridgwater, Adrian (5 March 2008). "Cobra takes a bite at open source". ZDNet UK. http://www.zdnet.co.uk/news/application-development/2008/03/05/cobra-takes-a-bite-at-open-source-39362140/. Retrieved 2010-08-31.
- ^ a b 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.
- ^ 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. http://www.infoworld.com/d/developer-world/cobra-language-slithering-open-source-202. Retrieved 2010-08-31.
- ^ "The Cobra Programming Language". Cobra Language LLC. http://cobra-language.com/downloads/source/. Retrieved 2008-02-29.
- ^ Cobra News Forum
See also
External links
- Official website
- The Cobra blog by Chuck Esterbrook
- Cobra News Index
Categories:- Object-oriented programming languages
- .NET programming languages
- Object-oriented:
Wikimedia Foundation. 2010.