Cobra (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Cobra
ParadigmMulti-paradigm: object-oriented
Designed byCharles Esterbrook
DeveloperCobra Language LLC
First appeared2006; 20 years ago (2006)
Final release
0.9.6 / December 23, 2013; 12 years ago (2013-12-23)
Typing disciplinestrong, static, dynamic, inferred
OSMicrosoft .NET, Mono
LicenseMIT
Filename extensions.cobra
Websitecobra-language.com
Influenced by
Python, Eiffel, C#, Objective-C

Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal'). Cobra is a discontinued general-purpose, object-oriented programming language.[1] Cobra is designed by Charles 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 support for unit tests and contracts.[4] It has lambda expressions, closures, list comprehensions, and generators.[6]

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

Features

[edit | edit source]
Object-oriented
Quality control
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
Scripting conveniences
  • Clean syntax
  • Dynamic binding
  • One-step run
  • Shebang line (#!)
Miscellaneous

Examples

[edit | edit source]

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

class Hello
    def main
        print 'HELLO WORLD'

A simple class

[edit | edit source]
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

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]