Hello world in Cobra is here! Another Python – Like language which has lots of built in cool features such as Unit Tests and Contracts.
NOTE: The indentation appears to be 1 space when it should be 4. Cobra won't accept anything other than 4 (or one tab per indent). Take it in consideration if you want to test the code :)
By the way, you can see my previous post here: http://carlosqt.blogspot.com/2010/06/oo-hello-world.html
where I give some details on WHY these "OO Hello World series" samples.
Version 1 (Minimal):
The minimum you need to type to get your program compiled and running.
class Greet
var name
cue init(name as String)
base.init
#.name = name[0].toString.toUpper + name[1:]
.name = name.capitalized
def salute
print "Hello [.name]!"
# Greet the world!
class GreetProgram
def main
g = Greet("world")
g.salute
Version 2 (Verbose):
Explicitly adding instructions and keywords that are optional to the compiler.
use System
namespace _GreetProgram
class Greet
var name as String
cue init(name as String)
base.init
#.name = name[0].toString.toUpper + name[1:]
.name = name.capitalized
def salute
print "Hello [.name]!"
use _GreetProgram
# Greet the world!
class GreetProgram
def main is shared
g = Greet("world")
g.salute
The Program Output:
Cobra Info:
“Cobra is a general purpose programming language with: a clean, high-level syntax, static and dynamic binding, first class support for unit tests and contracts, compiled performance with scripting conveniences, lambdas and closures, extensions and mixins... and more” Taken from: (http://cobra-language.com/)
Appeared:
|
2006
|
Current Version:
|
2010-10-18 (latest version in "Languages" page)
|
Developed by:
|
Chuck Esterbrook
|
Creator:
|
Chuck Esterbrook
|
Influenced by:
|
Python (Guido van Rossum), C# (Anders Hejlsberg), Eiffel (Bertrand Meyer), Objective-C (Tom Love, Brad Cox)
|
Predecessor Language
| |
Predecessor Appeared
| |
Predecessor Creator
| |
Runtime Target:
|
CLR
|
Latest Framework Target:
|
2.0
|
Mono Target:
|
Yes
|
Allows Unmanaged Code:
|
No
|
Source Code Extension:
|
“.cobra”
|
Keywords:
|
139 (including types)
|
Case Sensitive:
|
Yes
|
Free Version Available:
|
Yes
|
Open Source:
|
Yes
|
Standard:
|
No
|
Latest IDE Support:
|
SharpDevelop
MonoDevelop
VisualStudio
|
Language Reference:
| |
Extra Info:
|

No comments:
Post a Comment