Ruby/Python als erste Programmiersprache

Vor vielen Jahren ist BASIC bzw. Pascal zu Standards für die Ausbildung als Programmierer geworden. Für viele heute war das die erste Programmiersprache, mit der sie in der Schule oder im ersten Semester ihre ersten Zeilen Code geschrieben haben. Bis heute hat sich die Situation jedoch nur wenig verändert. Hat sich denn in den vielen Jahren gar nichts verändert? Gibt es denn heute wirklich keine besseren Programmiersprachen dafür? Sind BASIC und Pascal immer noch geeignet dafür?

Probleme oder was spricht eigentlich gegen Pascal und Basic?

  • Alte IDE. Die Konsole in Turbo Pascal ist ja recht cool, aber wieso greift man nicht auf eher moderne Texteditoren? Klar, man auch Delphi oder Visual Basic.Net zurückgreifen, aber das sind professionelle Instrumente mit vielen Funktionen, die ein Anfänger nicht braucht.
  • Schwierigkeit. Pascal und Basic sind Sprachen die leicht zu erlernen sind, aber die Entwicklung geht weiter.
  • Veraltete API. Mit QBasic oder Pascal kann man kein Programm mit einer graphischen Oberfläche schreiben oder eine einfache Webseite. Man braucht das Ganze zwar nicht für Erlernen von Algorithmen und Datenstrukturen, aber mit allen neuen und coolen Sachen, welche die Programmiersprachen heute mit sich bringen, kann man das Interesse an dem Lernprozess steigern.
  • Praktische Anwendung. Basic und Pascal sind in der Praxis kaum noch anzutreffen, D.h. Man lernt eine Sprache, die man später nicht verwenden wird.

Verbesserungen

Wieso ist Ruby bzw. Python besser?

IDE

Ruby und Python unterstützen interaktiven Modus, d.h. man gibt in die Konsole ein Ausdruck ein und bekommt sofort ein Ergebnis. Das ganz ist ideal zum Testen und Ausprobieren.

Ruby Beispiel:

>> 1 + 1
=> 2
>> a=[2,5,4,7,45,23,24,52]
=> [2, 5, 4, 7, 45, 23, 24, 52]
>> a.sort
=> [2, 4, 5, 7, 23, 24, 45, 52]
>> a < < 1
=> [2, 5, 4, 7, 45, 23, 24, 52, 1]
>> a.reject{|i| i%2==0}
=> [5, 7, 45, 23, 1]

Für Ruby gib es sogar eine Interaktive Shell Online, man braucht nichts auf seinem Computer zu installieren.
Da Ruby und Python interpretierbare Sprachen sind, kann mansich für die Arbeit jeden beliebigen Texteditor zur Hand nehmen.

Praktische Anwendungen

Weltweite Firmen, wie Google, Yahoo!, CERN, NASA benutzen Python als eine der Programmiersprachen. Immer mehr Web Projekte werden in Ruby mit RubyOnRail und Python mit Django realisiert.

Schon mit guten Kenntnissen in Ruby oder Python, hat man die Chance eine gute Arbeitstelle zu bekommen, im Gegensatz zu Basic oder Delphi(es wird immer weniger Nachgefragt).

Außerdem kann man sich bei Ruby oder Python gleich mit der OOP beginnen, ohne das heutzutage nicht geht.

Einfachheit

Durch viele Paradigmen, die Ruby oder Python unterstützen, gibt es viele schöne und einfache Lösungen.
Zum Beispiel Schleifen. In Pascal und Basic müssen sie überlegen, wie  ihre Schleife aussehen wird in Ruby z.B. gibt man das ein, was man braucht:

loop do
# Endlosschleife
end

n.times do |i|
# Die Schleife läuft n mal durch
end

[‘x’, ‘y’, ‘z’].each do |i|
# Läuft jedes Element des Arrays durch
end
Und die unverzichtbare Einrückung bei Python zwingt den Programmiere zu einem lesbaren Stil.

API

Für Ruby kann man Shoes erwähnen, da damit relativ einfach ist coole Effekte, Animationen und GUI basteln kann. Dieser Code zeichnet ein Stern, welcher dann dem Mauszeiger folgt.

Shoes.app {
@shape = star :points => 5
motion do |left, top|
@shape.move left, top
end
}

Mit Hilfe von Sinatra kann man sich eine einfache Webseite mit Ruby on Rails programmieren.
Da es nun wirklich viele freie API’s zu finden sind, kann ich sie leider nicht alle hier ansprechen.

Multiparadigmen

Ruby oder Python als erste Programmiersprache zu wählen, finde ich ganz gut, denn durch viel Paradigmen, die diese Sprachen unterstützen, kann man viele Bereiche abdecken. Man lernt schnell die Funktionen höherer Ordnung und Lambda aus der funktionalen Programmierung kennen. Der Einblick in die OOP zeigt die Möglichkeiten von Duck Typing.

Außerdem sind Ruby und Python plattformunabhängig. Sie werden immer weiter entwickelt. Sie unterstützen Unicode. Und viele anderen Features, die moderne Programmiersprachen auch haben.

Ich will hier nicht sagen, dass andere Programmiersprachen, wie z.B Groovy, Lua, Scala oder andere für diesen Zweck nicht geeignet wären, ich hatte mit diesen Sprachen nur wenig bis keine Erfahrung gehabt.

One thought on “Ruby/Python als erste Programmiersprache”

Leave a Reply