Boo (Programmiersprache)

Boo (Programmiersprache)
Boo
Boo Logo.svg
Objektorientierte Sprache
Basisdaten
Paradigmen: Objektorientierte Sprache
Erscheinungsjahr: 2003
Entwickler: Rodrigo Barreto de Oliveira
Aktuelle Version: 0.9.4  (23. Januar 2011)
Typisierung: statisch (siehe Text)
Einflüsse: Python
Betriebssystem: Windows, Linux, Mac OS X, u.v.m.
Lizenz: MIT / BSD
boo.codehaus.org

Boo ist eine seit 2003 von Rodrigo Barreto de Oliveira entwickelte Programmiersprache für die Microsoft CLR, die aber auch mit Mono verwendet werden kann. Die Syntax lehnt sich stark an die von Python an.

Inhaltsverzeichnis

Spracheigenschaften

Boo ist statisch typisiert, wobei dem Programmierer das explizite Binden von Variablen an Typen durch Typinferenz und generische Typen großteils erspart wird. Daneben wird auch das langsamere, von Ruby übernommene Duck-Typing, also dynamische Typisierung geboten. Dadurch ist sie auf der explizit für statisch typisierte Sprachen ausgelegten CLR recht schnell, ohne auf die Flexibilität einer Skriptsprache verzichten zu müssen.

Von Python erbt die Sprache Generatoren. Sie unterstützt relativ viele eingebaute Literale beispielsweise für Listen, Hashes und reguläre Ausdrücke. Hinzu kommen für eine OO-Sprache moderne, aus der Funktionalen Programmierung übernommene Features wie first-class Funktionen und echte Closures. Was die Sprache von anderen Sprachen in der Java- und .NET-Welt abhebt, ist, dass sie syntaktische Makros bietet, die ähnlich bequem einzusetzen sind wie in Dylan.

Lizenz

Boo ist freie Software mit eigener Lizenz, die der MIT und der BSD-Lizenz stark ähnelt.

Code-Beispiele

Hallo-Welt-Programm

 print "Hallo Welt!"

Funktionen

Funktion zum Generieren der Fibonacci-Zahlen:

 def fib():
     a as long, b as long = 0, 1
     while true:
         yield b
         a, b = b, a + b

Windows-Forms

Einfaches Windows-Forms-Beispiel mit Klassen, Closures und Events:

 import System.Windows.Forms
 import System.Drawing
 
 class MyForm(Form):
     def constructor():
         b = Button(Text: "Click Me")
         b.Location = Point(100, 50)
         b.Click += do():
             MessageBox.Show("you clicked the button!")
 
         self.Controls.Add(b)
 
 
 f = MyForm()
 Application.Run(f)

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Boo — steht für: Boô (Weidestall) Boo (Spanien), ein Kirchspiel der Gemeinde Aller in Asturien Boo (Programmiersprache) Boo (Schweden), Ort in Schweden. Built Operate Own, Betreibermodell. Sternbild Bärenhüter (lat. Bootes), Abkürzung in der… …   Deutsch Wikipedia

  • Programmiersprache/Zeittafel — Jahr Name Entwickler, Hersteller Vorläufer, Vorgänger 1840 Erstes Programm Ada Lovelace * 1946 Plankalkül Konrad Zuse * 1952 A 0 Grace Hopper * …   Deutsch Wikipedia

  • Python (Programmiersprache) — Python Basisdaten Paradigmen: multiparadigmatisch Erscheinungsjahr: 1991 …   Deutsch Wikipedia

  • BO-O — Boo steht für: Boô (Weidestall) Boo (Spanien), ein Kirchspiel der Gemeinde Aller in Asturien Boo (Programmiersprache) Boo (Schweden), Ort in Schweden. Built Operate Own, Betreibermodell. Sternbild Bärenhüter (lat. Bootes), Abkürzung in der… …   Deutsch Wikipedia

  • Liste der .NET-Sprachen — Die folgende Aufstellung enthält eine Liste von Programmiersprachen für Microsoft .NET, Mono, DotGNU oder einer kompatiblen Laufzeitumgebung. Sprache Implementierung Hersteller Ada 2005 A# (Ada for .NET) APL Dyalog.NET ASP ASP.NET: ASM to IL …   Deutsch Wikipedia

  • Liste von Hallo-Welt-Programmen/Programmiersprachen — Dies ist eine Liste von Hallo Welt Programmen für gebräuchliche Programmiersprachen. Weitere Beispiele für grafische Benutzeroberflächen, Web Technologien, exotische Programmiersprachen und Textauszeichnungssprachen sind unter Liste von Hallo… …   Deutsch Wikipedia

  • Liste der Programmiersprachen — A A (Programmiersprache) A# A+ A 0 A 1 A 2 A 3 A9 AACC AADL AAIMS aal AAPL Aardappel AARDVARK Abacus ABACUS 10 ABACUS/X ABAP ActionScript Ada ADbasic AgentSpeak(L) Agilent VEE AHDL Aleph ALGOL (ALGOL 60, ALGOL W, ALGOL 68) Amber …   Deutsch Wikipedia

  • Dynamic typing — Dynamische Typisierung ist die Zuteilung des Typs einer Variablen zur Laufzeit eines Programms. Im Gegensatz zur statischen Typisierung verzichtet man auf eine explizite Typisierung; der Typ einer Variablen ergibt sich aus dem Typ des Werts, der… …   Deutsch Wikipedia

  • Dynamische Typsysteme — Dynamische Typisierung ist die Zuteilung des Typs einer Variablen zur Laufzeit eines Programms. Im Gegensatz zur statischen Typisierung verzichtet man auf eine explizite Typisierung; der Typ einer Variablen ergibt sich aus dem Typ des Werts, der… …   Deutsch Wikipedia

  • Sharp Develop — SharpDevelop2 Screenshot der SharpDevelop IDE Basisdaten Entwickler: IC#Code Aktuelle Version: 3.0.0 (10. Februar 20 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”