PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hat wer Erfahrungen mit "anderen" Sprachen? (Nicht imperativ)



Lin728
28-11-2002, 19:07
Servus!


Ich würde mich sehr gerne mit alternative Programmiersprachen beschäftigen.

Besonders interressieren mich Sprachen die einen anderen Ansatz als interpretative Sprachen haben.

Mfg

JoelH
28-11-2002, 23:26
ich hätte ja Ruby eingeworfen, aber scheinbar arbeiten Interpretersprachen sowieso 'suboptimal' oder wie versteeh ich dein Posting ?


ansonsten www.ruby-lang.org

Lin728
29-11-2002, 06:25
Ja, du hast recht, eine Scriptsprache sollte es möglichst nicht sein, wenn dann schon was "ordentliches" ;)

ComSubVie
29-11-2002, 08:11
das java suboptimal ist weiß ich ja auch, aber was stört dich an c++?

wenn du all das nicht magst kannst du dir ja mal prolog ansehen, das ist nicht wirklich eine scriptsprache...

sehr praktisch und gut finde ich ruby und perl, auch wenn das skriptsprachen sind, mit ruby hab ich mich noch nicht so beschäftigt, aber mit perl solltest du keine probleme haben irgendwas zu machen...

peschmae
29-11-2002, 08:37
als M$ - Verfechter ;) bringe ich jetzt natürlich noch .NET ins Spiel :D
das ist extrem laufzeit-nativ-jit - kompilierter sch...

im Ernst: etwas wirklich perfektes kenne _ich_ nicht!

MfG Peschmä

anda_skoa
29-11-2002, 08:38
Ich hab mal mit Occam gearbeitet.
Das ist zwar auch eine imperatve Sprache, aber serh interessant weil hoch parallel.
Wurde für Transputer entworfen, die es leider nicht mehr gibt.

Dann hatten wir auf der Uni ein paar Sachen in SML, einer funktionalen Sprache.
Das ist am Anfang schon eine ganz schöne Umstellung, wenn man aus der imperativen Programmierung kommt :)
Ist aber wesentlich leichter als Lisp, das ja prakisch die bekannteste funktionale Sprache ist.

Ciao,
_

Lin728
29-11-2002, 11:52
@anda-skoa:
Und, was hältst du so davon? Ist weniger fehleranfällig oder produktiver oder was hast du davon gehalten? Ich finde den Ansatz irgendwie extrem genial, weil man halt nicht mehr so viel Synthaxgrübeln muss, und das braucht ja schließlich den großteil der Zeit....


Mfg

micha
29-11-2002, 12:40
Original geschrieben von ceisserer:
Warum sollte Java bitte suboptimal sein?


Original geschrieben von ceisserer:
da ich der Meinung bin dass z.B. Sprachen wie Java nur suboptimal arbeitet...


Ja was denn nun ???

Gruß micha

anda_skoa
29-11-2002, 15:01
Original geschrieben von ceisserer

@anda-skoa:
Und, was hältst du so davon? Ist weniger fehleranfällig oder produktiver oder was hast du davon gehalten? Ich finde den Ansatz irgendwie extrem genial, weil man halt nicht mehr so viel Synthaxgrübeln muss, und das braucht ja schließlich den großteil der Zeit....


Wie schon gesagt, war es anfangs eine ziemlich Umstellung.
Funktionale Sprachen sind ganz gut, wenn man Daten transformiert.
Also zB eine Filterkette oder ähnliches.

Das coolste sind da Funktionen höherer Ordnung.
Die geben zB als Rückgabewert eine Funktion zurück, bzw nehmen Funktionen als Parameter.

Die Funktoren in der C++ Standardbibliothek sind da ja eine Entwicklung in diese Richtung.

Ciao,
_

Lin728
29-11-2002, 17:35
@anda_skoa: Das hört sich wirklich gut an :)

@micha: Nein, so wars nicht gemeint. Java ist bisher das so ziemlich beste, was ich gefunden habe, natürlich in Funktionalität steht es C++ nach, aber was die wartbarkeit und die Struktur der Sprache angeht, finde ich sie toll.

Lg

ComSubVie
29-11-2002, 17:49
Original geschrieben von ceisserer
Warum sollte Java bitte suboptimal sein? Hast du damit schon einmal gerbaeitet? Ist zwar vom Sprachumfang her nicht ganz so mächtig aber wesentlich komfortabler als C++.
Lass mich raten, du hast noch nicht mit Java programmiert, falls doch, dann entschuldige, sollte keine Beleidigung sein.

ja, ich habe zur genüge mit java gearbeitet. Hab mich mit Xerces gespielt, hab ein Reservierungssystem mit JDBC gebastelt, aber es sind da genug Dinge die mich daran stören. Zum Beispiel das ich für jede Klasse eine eigene Datei basteln muss, ich kann zum Beispiel nicht alle geometrischen Figuren die voneinander vererbt werden in eine Datei basteln. Klar, GUI-Anwendungen sind mit Java sicher leicht zu erledigen, aber versuch mal eine Konsolenanwendung zu basteln....

Und das die Geschwindigkeit von Java eine Katastrophe ist, ist ja wohl bekannt (ja, klar, es gibt diverse Native-Code-Schnittstellen für DirectX, OpenGL und was weiß denn ich was noch alles, aber im Prinzip ist der JIT suboptimal - das Problem ist bei .net nicht sooo extrem). Schon mal geschaut was ein java -version ausgeführt und geschaut wie viel Speicher das braucht???

anda_skoa
29-11-2002, 18:27
Original geschrieben von ComSubVie
Zum Beispiel das ich für jede Klasse eine eigene Datei basteln muss, ich kann zum Beispiel nicht alle geometrischen Figuren die voneinander vererbt werden in eine Datei basteln.


Ich empfinde das eher als Vorteil, bei C++ mache ich das genau so, bzw. kommt da ja noch pro Klasse ein Header.

Mehrere Klasse zusammenfassen bringt vielleicht was bei winzigen Klassen.
Aber die gehören ohnehin selten zu API und solche Klassen kann man auch in Java in eine Datei schreiben.

Ciao,
_

Lin728
29-11-2002, 19:06
..................

ComSubVie
29-11-2002, 19:51
ad 1) hm, schon möglich, aber das weiß scheinbar keiner.

2) da musst du erst mal draufkommen. wie schön einfach ist dagegen ein scanf, gets, cin, ncurses....

3) schon mal gehört das java auch auf PDA's und Handy's und so zeug laufen sollte? Was bringt mir Plattformunabhängigkeit, wenn ich massenhaft Speicher brauche?

4) irgendwie bezweifel ich, das ein JIT von der Geschwindigkeit an Native Code rankommt...

5) das erste was mir aufgefallen ist (mal von der konsoleneingabe abgesehen) waren die fehlenden pointer.

eclipse mag ich nicht, das ist mir zu langsam. ich verwende vi und manchmal anjuta
naja, wenn du aus java native code erzeugst führst du ja das konzept ad absurdum...

thinking in java hab ich gelesen, thinking in c++ auch...

und warum keiner was gegen perl sagt? bei mir ist es zumindest so, das ich perl recht gerne verwenden. auch wenn ich bei perl zugegebenermaßen manche probleme suboptimal löse, ich hab mit perl noch nie probleme gehabt. und es lässt sich auf servern der generation 486 auch noch problemlos damit arbeiten.... bei java zweifel ich daran ;)

und wenn wir schon dabei sind, einen flame-war auszutragen, vielleicht kann mir mal wer erklären, warum ich in einer sprache "depreciated" funktionen habe? es gibt die funktionen zwar, aber man soll sie nicht verwenden, und der compiler streikt wenn man sie verwendet.... nur wegen der abwärtskompatibilität?

sorry, ich kann mit java nicht besonders produktiv arbeiten, und für mich wirkt diese sprache - noch immer - unausgereift... Sun baut gute Hardware, aber von Software sollten sie die Finger lassen...

Lin728
29-11-2002, 20:16
........................

anda_skoa
30-11-2002, 11:54
Original geschrieben von ComSubVie
ad 1) hm, schon möglich, aber das weiß scheinbar keiner.


Nunja, Java Programmierer wissen das :)



2) da musst du erst mal draufkommen. wie schön einfach ist dagegen ein scanf, gets, cin, ncurses....


Ob der Standardinoutstream jetzt cin oder Sysmte.in heißt, sollte doch kein großer Unterschied sein, oder?



5) das erste was mir aufgefallen ist (mal von der konsoleneingabe abgesehen) waren die fehlenden pointer.


Ich kann das nur aus Warte eines C++ Programmierers sagen, aber da braucht man selten die direkte Addressierbarkeit.

Meistens hat man Pointer nur als Datentyp, wenn man große Objekte übergibt oder immer das selbe Objekt meint.
Und das ist in Java ja inherent bei Objekten er Fall.



und wenn wir schon dabei sind, einen flame-war auszutragen, vielleicht kann mir mal wer erklären, warum ich in einer sprache "depreciated" funktionen habe? es gibt die funktionen zwar, aber man soll sie nicht verwenden, und der compiler streikt wenn man sie verwendet.... nur wegen der abwärtskompatibilität?


Das ist ansich eine gute Einrichtung.
Bei C oder C++ hat man zwei Möglichkeiten.
Entweder man behält die alte API zusätzlich und müllt damit seine API zu (zB MFC) oder man macht einen Schnitt und bringt einen Source und binär inkompatible neue Version (zB Qt).

Java hat da jetzt die Möglichkeit, die API praktisch in einem Zwischenschritt binär- und sourcekompatible zu halten, dem Entwickler neuer Applikationen aber zu sagen, welche Funktionen besser nicht mehr verwendet werden sollen.

Bzw, das adaptieren auf eine neue Version wird verkürzt, weil der Compiler alle betroffenen Stellen findet.

Ciao,
_