ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 63 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste
Autor Nachricht
 Betreff des Beitrags: Blick über den Tellerrand!
BeitragVerfasst: 21 Aug 2006, 14:16 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Hi Leute!

Ich habe mir jetzt mal ein paar Wochen lang Zeit genommen und mir diverse Programmiersprachen ein wenig näher angesehen. Damit meine ich jetzt nicht, dass ich tiefgreifend wertvolle Programme mit ihnen geschrieben habe, sondern dass ich mir einfach mal so Tutorials durchgekuckt habe, Hallo Welt Programme geschrieben habe und mich ein wenig schlau gemacht habe was es so alles momentan gibt.

C / C++ habe ich mal aussen vor gelassen, das ist für mich und meinen Anwendungszweck nichts, bzw. zu heftig.

Java hab ich mir angekuckt, ist ja ganz okay, aber irgendwie... ich finds irgendwie unsympathisch.

Ada habe ich mir angekuckt -> erinnerte mich ein wenig an Pascal, nur noch ein bisschen "ausführlicher". Diese Sprache gefällt mir dermassen gut, dass ich es verwunderlich finde, dass es eigentlich so ein kümmerliches Nieschendasein auf Universitäten und Behörden führt. Belehrt mich eines besseren, aber Ada verbindet man doch immer mit Raketen und Genmanipulation ^_^

Dann habe ich mir ein wenig C# angekuckt. Jau, eh... Java lässt grüssen, ober hab ich was versäumt?

Und dann, als ich mir diesbezüglich SharpDevelop 2.0 angekuckt habe stellte ich mit erstaunen fest, dass da doch tatsächlich eine Python ähnliche Sprache namens Boo eingewurstelt war. Flugs, ein wenig genauer darüber gelesen, und für gut befunden. Die nächsten 1-2 Monate kuck ich mir an, was man damit so anstellen kann.

Hier ein URL: http://boo.codehaus.org/

Ruby werde ich immer noch gerne verwenden, wenns schnell gehen soll, aber Boo erscheint mir auch sehr einfach erlernbar zu sein. Und es schadet ja nicht wenn man seinen Horizont ein wenig erweitert, oder?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Blick über den Tellerrand!
BeitragVerfasst: 21 Aug 2006, 14:30 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Gekko hat geschrieben:
Ada habe ich mir angekuckt -> erinnerte mich ein wenig an Pascal, nur noch ein bisschen "ausführlicher". Diese Sprache gefällt mir dermassen gut, dass ich es verwunderlich finde, dass es eigentlich so ein kümmerliches Nieschendasein auf Universitäten und Behörden führt. Belehrt mich eines besseren, aber Ada verbindet man doch immer mit Raketen und Genmanipulation ^_^

Dass Du sie speziell mit Raketen in Verbindung bringst ist nicht verwunderlich. Diese Sprache wurde im Auftrag der amerikanischen Verteidigungsministeriums entwickelt. Die Verwendung der neuen OO-Variante ist heute noch bei den meisten militärischen Projekten Pflicht, insofern stimmt die Aussage mit dem kümmerlichen Dasein nicht.

Zu Ada kann ich eine Aussage zitieren, die ein alter Kollege, nachdem er bei Siemens in einem Projekt damit praktisch zu tun bekam, machte: "Ada ist eine unheimlich sichere Sprache. Man schreibt sich zwar die Finger wund, aber das System findet dadurch schon während der Compile-Time sehr viele der Fehler, die bei anderen Sprachen erst während der Runtime auftreten".

Ada ist also für "quick and dirty" völlig ungeeignet, und daher für alles, was man erst mal prototypisch beginnt, sehr schwerfällig. Wahrscheinlich wird es deshalb ausserhalb sicherheitsrelevater Entwicklungen selten angewandt.


Gekko hat geschrieben:
Dann habe ich mir ein wenig C# angekuckt. Jau, eh... Java lässt grüssen, ober hab ich was versäumt?

Nö - ich kannte mal einen Dozenten, der sowohl Java-, als auch C#-Kurse gehalten hat. Er hatte sehr oft Schwierigkeiten nichts zu verwechselt. Allerdings hat sich in C# 2.0 ja einiges erweiternd geändert.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 21 Aug 2006, 14:37 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Das mit Ada und dem Nieschendasein meinte ich so:

Mich wundert es ehrlichgesagt, dass es nicht für noch mehr verwendet wird. Ich kenne es wie gesagt nur von einigen Uni Seiten und von militärischem. Und das finde ich ein wenig spaßig, weil es ja eigentlich wirklich eine schöne Sprache ist.

Dass es in diesen Sektoren stark vertreten ist nehme ich schon an. Aber ansonsten gibt es da ja nicht wirklich viel zu hören davon. Die meisten Bücher die man dazu kriegen kann sind aus dem Jahre 199x herum.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 21 Aug 2006, 14:52 
Offline
Interpreter
Benutzeravatar

Registriert: 10 Nov 2005, 15:04
Beiträge: 1477
Für Rubyisten einen Seitenblick wert ist auch Objective-C, was natürlich vor allem an die Mac-Fraktion geht (aber es geht auch ohne).

Für Ada hätten sie bei uns auch mal einen Kurs anbieten sollen, wüsste sogar jemanden ...

azuby

_________________
[code=]Na, mal wieder nur grauer Code?[/code][url=http://rubyforen.de/viewtopic.php?t=1866]Das muss nicht sein!
azuby, Initiative "Pimp your Quellcode"[/url]

Plenken, Klempen, und andere Verbrechen


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 21 Aug 2006, 15:03 
Offline
Interpreter

Registriert: 29 Okt 2002, 14:25
Beiträge: 2137
Interessant: Ich wollte auch schon mal einen ähnlichen Thread starten... :)

Ich habe auch noch eine interessante Sprache beiszusteuern: Io.

Sehr schlichter (wie auch das Design der Homepage widerspiegelt) aber mächtiger Ansatz.

Gruß,
janfri

PS: Freue mich schon auf weitere Blicke über den Tellerrand.

_________________
Ruby-Mine

"Simplicity is the ultimate sophistication." Leonardo da Vinci


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 21 Aug 2006, 15:13 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Gekko hat geschrieben:
Die meisten Bücher die man dazu kriegen kann sind aus dem Jahre 199x herum.

Na, da ist ja auch seitdem nichts oder nicht viel passiert. Der GNU-Ada-Compiler ist der Standard, und da die Sprache sehr genau definiert ist, wird da auch nicht schnell sehr viel neues kommen.

Die militärischen und anderen Sicherheitanwendungen (Kraftwerke, Luftverkehr) geben nun mal auch nicht soviel Open Source Software her :wink:

Im Wiki steht über die Historie praktisch alles drin. Durch die Standardisierung passiert da auch nicht so viel auf die Schnelle
Wikipedia hat geschrieben:
1983 wurde die Sprache zu einem ANSI-Standard (ANSI/MIL-STD 1815), die ISO übernahm den Standard 1987 als ISO-8652:1987. Diese Version wird heute als Ada 83 bezeichnet, nach dem Jahr der ANSI-Standardisierung.

Ada 95, der gemeinsame ISO/ANSI-Standard ISO-8652:1995 ist die jüngste standardisierte Ada-Version. Sie wurde im Februar 1995 angenommen. Damit wurde Ada 95 zur ersten objektorientierten Programmiersprache mit einem ISO-Standard. Im September 2000 wurde die erste technische Korrektur gemäß den Statuten der ISO als ISO/IEC 8652:1995(E)/Cor.1:2000 angenommen. Zur Zeit ist die nächste Sprachrevision, bekannt als Ada0Y, in Arbeit.

Um die Verbreitung des Standards und der Sprache im Allgemeinem zu unterstützen, finanzierte die US Air Force die Entwicklung des kostenfreien GNAT-Compilers.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 21 Aug 2006, 19:53 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
WoNáDo hat geschrieben:
Gekko hat geschrieben:
Die meisten Bücher die man dazu kriegen kann sind aus dem Jahre 199x herum.

Na, da ist ja auch seitdem nichts oder nicht viel passiert. Der GNU-Ada-Compiler ist der Standard, und da die Sprache sehr genau definiert ist, wird da auch nicht schnell sehr viel neues kommen.

Die militärischen und anderen Sicherheitanwendungen (Kraftwerke, Luftverkehr) geben nun mal auch nicht soviel Open Source Software her :wink:

Im Wiki steht über die Historie praktisch alles drin. Durch die Standardisierung passiert da auch nicht so viel auf die Schnelle
Wikipedia hat geschrieben:
1983 wurde die Sprache zu einem ANSI-Standard (ANSI/MIL-STD 1815), die ISO übernahm den Standard 1987 als ISO-8652:1987. Diese Version wird heute als Ada 83 bezeichnet, nach dem Jahr der ANSI-Standardisierung.

Ada 95, der gemeinsame ISO/ANSI-Standard ISO-8652:1995 ist die jüngste standardisierte Ada-Version. Sie wurde im Februar 1995 angenommen. Damit wurde Ada 95 zur ersten objektorientierten Programmiersprache mit einem ISO-Standard. Im September 2000 wurde die erste technische Korrektur gemäß den Statuten der ISO als ISO/IEC 8652:1995(E)/Cor.1:2000 angenommen. Zur Zeit ist die nächste Sprachrevision, bekannt als Ada0Y, in Arbeit.

Um die Verbreitung des Standards und der Sprache im Allgemeinem zu unterstützen, finanzierte die US Air Force die Entwicklung des kostenfreien GNAT-Compilers.


>>>>> Edit >>>>>

Gekko hat geschrieben:
C / C++ habe ich mal aussen vor gelassen, das ist für mich und meinen Anwendungszweck nichts, bzw. zu heftig.

Obwohl die gerade im Zusammenhang mit interpretierten Sprachen wie Ruby oder Python interessant sind. Wenn irgendetwas mal zu gross wird oder zu langsam, kann man es in C schreiben und anhängen.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 02:08 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien


1
2
3
4
5
6
7
8
9
10
11
namespace helloworld

import System
import System.Collections

def doppelt(number as int):
return number * 2

list = map([1,3,5,7],doppelt)
print join(list)
// Ausgabe: "2 6 10 14"


Boo find ich sehr lustig :D


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 10:11 
Offline
Interpreter
Benutzeravatar

Registriert: 10 Nov 2005, 15:04
Beiträge: 1477
Hm, das Boo-Beispiel sieht aus wie Ruby, nur dass man mehr Krempel schreiben muss. Das Schöne an Ruby ist ja auch, dass der Typen nicht explizit bekannt sein müssen. Wenn ich nun einen String "doppelt" haben will, was dann in Boo? Muss ich dann noch eine zweite Methode tippen?

Zum Thema "Über den Tellerrand ..." fiel mir gerade wieder ein, dass das neue Python (2.5, umm?) folgendes Konstrukt erlaubt:


var2 = 10 if var1 == 11 else 0
Schaut mir irgendwie wie eine Kreuzug aus ternärem Operator und Modifikator aus.

azuby

_________________
[code=]Na, mal wieder nur grauer Code?[/code][url=http://rubyforen.de/viewtopic.php?t=1866]Das muss nicht sein!
azuby, Initiative "Pimp your Quellcode"[/url]

Plenken, Klempen, und andere Verbrechen


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 10:21 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Du meinst eher: Das sieht wie Python aus.
Allerdings ist diese Abwandlung der Sprache statisch getyped. Und dafür aber trotzdem noch recht schlank finde ich. Klar ist Ruby wesentlich hübscher anzusehen, allerdings find ich Boo dafür, dass da eine echte managed Executable rauskommt echt fein.

Da es eine statische Sprache ist müsste man ein wenig überladen, es gibt aber sicher auch die Möglichkeit auf den Typ des Parameters zu prüfen, das werd ich mir heute noch mal ankucken:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace overload

import System
import System.Collections

def doppelt(number as int):
return number * 2

def doppelt(str as string):
return str * 2

list = map([1,3,5,7],doppelt)
print join(list)

// druckt: "2 6 10 14"

print doppelt("Huhu ")

// druckt: "Huhu Huhu "


Ich stecke Ruby und Boo bewusst nicht in eine Schublade und vergleiche das auch nicht direkt. Ruby wird interpretiert. Boo wird kompiliert -> da kommt ne managed Executable raus. Und man muss weniger Krempel als in C# klopfen ^_^

Ich habe eine exe von C# und von Boo im Disassembler verglichen, da kommt so ca. das gleiche raus. Also ist das Teil auch relativ flott könnt ich meinen.

Aber, und das ist auch recht funny: Boo kann man auch als Interpreter verwenden, und auch als Interpreter in eigene Apps einbinden. Desweiteren gibt es da noch Booish, vergleichbar mit irb.

ps.: So ganz ist der Python Highlighter dafür nicht geeignet ;) Der verwurstelt da - ist aber klar, ich missbrauche ihn ja auch *hrhr*


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 11:11 
Offline
ri
Benutzeravatar

Registriert: 02 Jun 2006, 23:18
Beiträge: 702
Hallo,

wer eher auf Java als auf .NET steht und noch dazu Ruby mag, der sollte sich mal Groovy ansehen. Groovy-Code sieht Ruby nicht unähnlich, wird aber vor der Ausführung in Java-Bytecode umgewandelt.

Die Zeitschrift JavaSPEKTRUM stellt hierzu auch einen schönen Einführungsartikel (216KB, PDF) bereit.

<edit>Ach ja. JRuby gibts natürlich auch noch :D</edit>

Grüße,
Matthias


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 12:39 
Offline
Interpreter
Benutzeravatar

Registriert: 05 Jun 2005, 01:54
Beiträge: 3225
Ich wollte mir gerade Groovy emergen, aber nachdem ich die Dependency-Liste gesehen habe, hab ichs doch gelassen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Calculating dependencies... done!
[ebuild N ] dev-java/java-config-1.2.11-r1
[ebuild N f ] dev-java/java-sdk-docs-1.4.2
[ebuild N ] dev-java/blackdown-jdk-1.4.2.03-r2 USE="X alsa doc -browserplugin -mozilla -nsplugin"
[ebuild N ] virtual/jdk-1.4.2
[ebuild N ] dev-java/ant-core-1.6.2-r5 USE="doc -source"
[ebuild N ] virtual/jre-1.4.2
[ebuild N ] dev-java/servletapi-2.3-r2 USE="doc -jikes -source"
[ebuild N ] dev-java/bsf-2.3.0-r2 USE="doc -jikes -jython -rhino -source"
[ebuild N ] dev-java/servletapi-2.4-r2 USE="doc -jikes -source"
[ebuild N ] dev-java/commons-lang-2.0-r1 USE="doc -jikes -source"
[ebuild N ] dev-java/log4j-1.2.9 USE="doc -javamail -jikes -jms -jmx -source"
[ebuild N ] dev-java/junit-3.8.1-r1 USE="doc -jikes -source"
[ebuild N ] dev-java/avalon-logkit-1.2 USE="doc -javamail -jikes -jms -source"
[ebuild N ] dev-java/commons-logging-1.0.4-r1 USE="doc -avalon -jikes -source"
[ebuild N ] dev-java/commons-cli-1.0-r4 USE="doc -jikes -junit -source"
[ebuild N ] dev-java/jakarta-regexp-1.3-r2 USE="doc -jikes -source"
[ebuild N ] dev-java/bsh-2.0_beta1-r1 USE="-gnome -kde"
[ebuild N ] dev-java/libreadline-java-0.8.0-r1 USE="doc -source"
[ebuild N ] dev-java/jython-2.1-r6 USE="doc readline -jikes -source"
[ebuild N ] dev-java/rhino-1.5.5-r2 USE="doc -jikes -source"
[ebuild N ] dev-java/xml-commons-resolver-1.1 USE="doc -source"
[ebuild N ] dev-java/xml-commons-external-1.3.02 USE="doc -source"
[ebuild N ] dev-java/xjavac-20041208-r1 USE="-jikes"
[ebuild N ] dev-java/xerces-2.7.1 USE="doc -examples -jikes -source"
[ebuild N ] dev-java/commons-collections-3.1 USE="doc -jikes -source"
[ebuild N ] dev-java/commons-beanutils-1.6.1-r2 USE="doc -jikes -source"
[ebuild N ] dev-java/jakarta-oro-2.0.8-r1 USE="doc -examples -jikes -source"
[ebuild N ] dev-java/commons-net-1.2.2-r1 USE="doc -jikes -source"
[ebuild N ] dev-java/jdepend-2.8.1 USE="doc -jikes -source"
[ebuild N ] dev-java/jzlib-1.0.5 USE="doc -jikes -source"
[ebuild N ] dev-java/gnu-crypto-2.0.1 USE="doc"
[ebuild N ] dev-java/jsch-0.1.18 USE="doc -examples -jikes -source"
[ebuild N ] dev-java/bcel-5.1-r2 USE="doc -jikes -source"
[ebuild N ] dev-java/javacup-0.10k USE="-source"
[ebuild N ] dev-java/xalan-2.7.0-r1 USE="doc -jikes -source"
[ebuild N ] dev-java/antlr-2.7.5-r2 USE="doc python -debug -examples -mono -nocxx -nojava -script -source"
[ebuild N ] dev-java/ant-tasks-1.6.2-r9 USE="-javamail -noantlr -nobcel -nobeanutils -nobsh -nocommonslogging -nocommonsnet -nojdepend -nojsch -nojython -nolog4j -nooro -noregexp -norhino -noxalan -noxerces"
[ebuild N ] dev-java/ant-1.6.2-r6
[ebuild N ] dev-java/ant-owanttask-1.1-r1
[ebuild N ] dev-java/asm-1.4.1 USE="doc"
[ebuild N ] dev-java/gnu-jaxp-1.3 USE="doc"
[ebuild N ] dev-java/crimson-1.1.3 USE="doc -examples -jikes -source"
[ebuild N ] dev-java/xmojo-bin-5.0.0 USE="doc"
[ebuild N ] dev-java/mockobjects-0.09-r1 USE="doc -jikes -junit -source"
[ebuild N ] dev-java/classworlds-1.0-r2 USE="doc -jikes"
[ebuild N ] dev-java/groovy-1.0_beta4-r1 USE="doc -jikes"

Would you like to merge these packages? [Yes/No] No
Gibts vielleicht sowas wie einen OCI fuer Windows? Eine kurze Suche auf der Groovy-Seite hat nichts ergeben.

EDIT: Stellt sich heraus dass das installieren so einfach wie entpacken und das setzen einiger Env-Variablen ist. Ein OCI waer trotzdem nett ;)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 12:57 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Schade, dass es mit Gentoo noch nicht die Möglichkeit gibt die Anzahl der vermutlich zu kompilierenden LOC's auszuspucken, um die geschätze Rechenzeit absehen zu können :lol:

Ich habe Gentoo 3 Jahre lang benutzt, aber dann aufgegeben. Ich finde Windows nun doch nicht so schlecht. :D


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 13:07 
Offline
Interpreter

Registriert: 29 Okt 2002, 14:25
Beiträge: 2137
Gekko hat geschrieben:
Ich finde Windows nun doch nicht so schlecht. :D

Na dann haben wir ja jemanden, den wir demnächst losschicken können, wenn es mal wieder heißt: "Die Bibliothek XY ist nicht im Ruby OCI enthalten..." oder "Wie bekomme ich Bibliothek XY unter Windows zum Laufen...?" oder '...' oder '...' ;)

_________________
Ruby-Mine

"Simplicity is the ultimate sophistication." Leonardo da Vinci


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2006, 13:33 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Ich verwende eigentlich prinzipiell Bibliotheken, die sowohl auf Linux als auch Windows laufen (so weit es möglich ist).

Ich versuche auch so weit wie möglich meine Programme plattformunabhängig zu machen. Binaries von Boo z.B. laufen auch unter Mono. Ansonsten ist Programmieren ja mein Hobby und nicht mein Beruf, deshalb habe ich da bestimmt auch anderer Anforderungen.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 63 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: