Cobrais a discontinuedgeneral-purpose,object-orientedprogramming language.[1]Cobra is designed by Charles Esterbrook, and runs on theMicrosoft.NETandMonoplatforms.[2]It is strongly influenced byPython,C#,Eiffel,Objective-C,and other programming languages.[3]It supports bothstaticanddynamic typing.[4][5]It has support forunit testsand contracts.[4]It haslambda expressions,closures,list comprehensions,andgenerators.[6]
Paradigm | Multi-paradigm:object-oriented |
---|---|
Designed by | Charles Esterbrook |
Developer | Cobra Language LLC |
First appeared | 2006 |
Final release | 0.9.6
/ December 23, 2013 |
Typing discipline | strong,static,dynamic,inferred |
OS | Microsoft.NET,Mono |
License | MIT |
Filename extensions | .cobra |
Website | cobra-language |
Influenced by | |
Python,Eiffel,C#,Objective-C |
Cobra is anopen-sourceproject; it was released under theMIT Licenseon February 29, 2008.[7][8]
Features
edit- Object-oriented
-
- Namespaces
- Classes,interfaces, structs, extensions, enumerations
- Methods,properties,indexers
- Mixins,extension methods
- Generics,attributes
- Quality control
-
- Contracts,assertions
- Unit tests,docstrings
- Compile-timenil-tracking
- Expressiveness
-
- Static and dynamic binding
- List, dictionary, and set literals
in
andimplies
operatorfor
expressions- Slicing
- Interpolated strings
- Compile-timetype inference
- Lambdas andclosures
- General productivity
-
- Exception handling
- Postmortem exception report
- Garbage collection
- Miscellaneous
-
- Documentation tool (
cobra -doc
) - Syntax highlightingtool (
cobra -highlight
)
- Documentation tool (
Examples
editThe following examples can be run from a file usingcobra<filename>
.
classHello
defmain
print'HELLO WORLD'
A simple class
editclassPerson
var_nameasString
var_ageasint
cueinit(nameasString,ageasint)
_name,_age=name,age
deftoStringasStringisoverride
return'My name is [_name] and I am [_age] years old.'
References
edit- ^"The Cobra Programming Language".Cobra Language LLC.Retrieved2012-09-26.
- ^Charles Esterbrook (Jan 28, 2008).Lang.NET Symposium 2008 – The Cobra Programming Language.Microsoft.Archived fromthe original(wmv)on March 26, 2009.Retrieved2010-08-31.
- ^Bridgwater, Adrian (5 March 2008)."Cobra takes a bite at open source".ZDNetUK.Retrieved2010-08-31.
- ^abNeward, Ted (June 2009)."Reaping the Benefits of Cobra".MSDN Magazine.
- ^Erickson, Jonathan (April 2008)."Was George Costanza a Computer Programmer?".Dr. Dobb's Journal.
- ^Morris, Richard (April 2010)."Chuck Esterbrook: Geek of the Week".Simple-talk.
- ^Krill, Paul (Feb 7, 2008)."Cobra language slithering to open source".InfoWorld.Retrieved2010-08-31.
- ^"The Cobra Programming Language".Cobra Language LLC.Retrieved2008-02-29.
External links
edit- Official website
- The Cobra blogby Charles Esterbrook
- Cobra News Index