Was gibts noch fuer tolle Sprachen?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
zero-one
User
Beiträge: 58
Registriert: Dienstag 20. Mai 2008, 20:52

Montag 5. Januar 2009, 20:49

Hi,

Ok der Titel is wahrscheinlich nen bissle doof aber mir faellt grad auch nichts vernuenftigeres ein :-/

Nachdem in diesem Thread http://www.python-forum.de/topic-17294.html die Loesung in vielen Programmiersprachen vorgestellt wurde, kam mir der gedanke das es ja noch viele andere coole Sprachen gibt.

Welche sind denn eurer Meinung nach besnders Lernenswert?
Mir geht es im um Sprachen die man auch wirklich produktiv einsetzen kann, ok klar ... man kann alle Sprachen produktiv einsetzen, aber ich meine halt fuers daily work und nicht fuer die Wartung irgendwelcher Software die irgendwann mal fuer Banken geschrieben wurde... ich meine Sprachen mit denen man heute noch Sachen wie Webapps oder Tools basteln kann...

Ich hoffe ihr versteht so grob worauf ich hinauswill, des ist irgendwie bissle bloed zu Erklaeren, da man ja mit allen Sprachen so gut wie alles machen kann... aber ich denke mal nicht das jemand noch gross was mit Cobol macht (ausser eben bei Banken oder Versicherungen)

Naja die wohl Bekanntesten sind ja wohl:
Python
Ruby
Java

was gibts da noch tolles was auch den horizont des Programmiers beim erlernen und anwenden erweitert?

gruessle zero-one
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Montag 5. Januar 2009, 20:54

Ich finde stinknormales Ansi-C erweitert den Horizont gewaltig und gibt einen eine Menge Möglichkeiten. Es muss nicht C++ sein, einfach nur C. Javasciprt wird zwar immer noch von vielen verpöhnt, aber ich finde das sie Python gar nicht so unähnlich ist. Außerdem ist's irgendwie schön in ihr zu schreiben...

Ich finde D noch sehr genial! ( http://de.wikipedia.org/wiki/D_(Programmiersprache) )... Neben diesen Prozedrualen Programmiersprachen kann man sich halt noch die funktionalen anschauen, Haskell ist ein bekannter Kandidat und macht auch Spaß.

Außerdem mag ich C# und allgemein das .net/mono-Zeug eigentlich sehr gerne, auch wenns viele Leute doof finden. Ich finds auf jedenfall moderner und angenehmer als Java und seine virtuelle Maschine...
DasIch
User
Beiträge: 2452
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Montag 5. Januar 2009, 21:39

Mit irgendeinem Lisp Dialekt sollte man imho mal experimentiert haben auch wenn man nie ein ernsthaftes Programm drin schreibt lernt man eine ganze Menge.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Montag 5. Januar 2009, 22:28

Scheme lernen mit http://mitpress.mit.edu/sicp/ lohnt sich sehr.

Danach vielleicht mal was funktionales wie Haskell (Kopfschmerzen!). Wenn man sich quälen will, dann von mir aus auch C ;)
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 5. Januar 2009, 22:32

Oh, wieder ein Thread über eines meiner Lieblingsthemen,
zero-one hat geschrieben:Welche sind denn eurer Meinung nach besnders Lernenswert?
Mir geht es im um Sprachen die man auch wirklich produktiv einsetzen kann, ok klar ... man kann alle Sprachen produktiv einsetzen, aber ich meine halt fuers daily work und nicht fuer die Wartung irgendwelcher Software die irgendwann mal fuer Banken geschrieben wurde... ich meine Sprachen mit denen man heute noch Sachen wie Webapps oder Tools basteln kann...
Naja, das ist irgendwie ungenau. Du kannst viele Sprachen heutzutage nutzen auch produktiv. Aber das Problem sind nun eben oftmals die Libraries und die teilweise recht kleinen Communities. Es ist oft nicht einfach Hilfe zu bekommen. Ich habe teilweise für ein simples Problem drei Läufe im IRC gebraucht um eine halbwegs brauchbare Antwort zu bekommen und musste einiges selbst ausprobieren - nicht so wie hier im Forum, wo einige sogar zu faul sind die Tutorials anzusehen und sich die Dokumentation lieber vorlesen lassen.
zero-one hat geschrieben:Naja die wohl Bekanntesten sind ja wohl:
Python
Ruby
Java
Also bei Java würde ich kaum von Horizont erweitern sprechen. Ganz ehrlich, Java ist für mich immer mehr das neue Basic:
Edsger W. Dijkstra hat geschrieben:It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
Generell scheint die Tendenz so zu sein, dass je schlechter die Sprache, desto mehr wird sie in der Praxis genutzt und desto größer ist der Jobmarkt.

Es gibt ein paar Sprachen die interessant sein könnten für einen größeren Markt:
  • C#: Schon heute recht verbreitet und man muss zugeben, dass wenn ich die Wahl zwischen C# und Java hätte C# die wesentlich interessantere Sprache ist. Allerdings würde für mich persönlich nur Mono (bzw. evtl. diese GNU-Sachen, die aber wohl eher weit hinterher sind) in Frage kommen.
  • JavaScript: Die Sprache hat immer mehr Potential, da sie quasi überall ist und von einigen Pitfalls als Sprache selbst gar nicht so übel ist. Das größte Problem sehe ich wohl darin, dass die Weiterentwicklung recht hart ist, da unterschiedliche Browser-Hersteller in verschiedene Richtungen ziehen und es mit der Adaptation neuerer Versionen recht schleppend vorran geht. Die Idee die gleiche Sprache für Server-Side und Client-Side zu nutzen, wie es mit JS geht, finde ich durchaus interessant. Aber ansonsten bietet die Sprache kaum irgendetwas was einen wirklich vom Hocker haut.
Soviel zu den kommerziell verwendbaren Sachen. Keine Sprache wo man danach besonders begeistert von wäre, aber wenn man eine halbwegs akzeptable Platform haben will passabel.

Nun kommen wir zu der Kategorie der interessanteren Sprachen:
  • Scala: Mein kurzer Ausflug in Scala. Generell ist die Sprache in meinen Augen ein Java dass weniger ätzend ist. Statisch typisiert und mit einem recht komplexen Typsystem ist es interessant für alle die von dynamischen Sprachen kommen, aber nicht alle Annehmlichkeiten verzichten wollen. Es läuft auf der JVM und integriert sich ziemlich gut in das Java-Ökosystem; somit eine passable Wahl wenn man ein Projekt hat das auf der JVM laufen soll und eine bessere Sprache als Java nutzen soll. Vorteil ist auch, dass es sich von Java nicht so sehr unterscheidet, man es also vergleichsweise leicht Schritt für Schritt lernen kann. Positiv herauzustellen ist auch die recht umfangreiche Dokumentation, sowohl die Online-Referenzen, aus auch die Online-Tutorials in Buchform. Das erste Scala-Buch (an dem auch der Designer der Sprache mitgeschrieben hat) ist bereits erschienen, das zweite, von den Pragmatic Programmer (die das Ruby-Buch, Pickaxe geschrieben haben) folgt im März. Schön auch, dass Scala mehr Fokus auch auf Funktionale Programmierung legt sowie auf parallele Programmierung die in Zukunft durch die immer größere Anzahl von Cores wohl wichtiger werden wird. Hat mit Lift auch ein Web-Framework.
  • Clojure: Das ist ein in letzter Zeit recht populär gewordenes neues Lisp das auch extra für die JVM und mit recht stakrem Fokus auf Parallelisierung und funktionale Programmierung entworfen wurde. Ich habe damit noch nicht so viel gemacht aber es hat gute Möglichkeiten sich als moderner Lisp-Dialekt zu etablieren. Das Clojure-Buch der Pragmatic-Programmer kommt auch Anfang des Jahres raus. Hat Scala in der Popularität wohl eingeholt und weniger Kritik als Scala abbekommen. Scheint zumindest das Lisp auf der JVM zu sein. Compojure scheint ein nettes Web-Framework für Clojure zu sein.
  • OCaml: eine recht alte Sprache die Caml, eine auf ML aufbauende funktionale Sprache mit Objektorientierung verbindet. Ist wohl inzwischen ziemlich ausgereift und die Implementation ist ziemlich flott. Es zwingt den Programmierer nicht, Probleme Funktional zu lösen sondern ermöglicht es ihm auch direkt Objektorientiert zu programmieren. Für Fans von Metaprogrammierung ist auch einiges dabei.
  • Haskell: Der heilige Gral der funktionalen Programmierung. Wenn man sich eingehend mit funktionaler Programmierung beschäftigen will - das ist die momentan mit Abstand angesagteste Sprache. Die Community soll super sein, es gibt ein immenses Wachstum und das Buch Real World Haskell ist wohl ziemlich super wenn man wissen will wie man reale, nichtakademische Probleme lösen will.
  • Scheme: feine Sprache, wenn man neues Lernen will, insbesondere für Metaprogrammierung geeignet da sie ein ziemlich feines Makrosystem hat. Hat eine ganze Menge leider nicht kompatibler Implementationen und ist somit quasi überall lauffähig. PLT Scheme bringt einen programmierbaren Webserver mit, mit dem man durchaus recht interessante Webapplikationen schreiben kann (konzeptuell etwas mit Seaside vergleichbar). Wenn man es aber stark praktisch nutzen will ist vermutlich Common Lisp die bessere Wahl.
  • Smalltalk: die OOP-Sprache schlechthin, die ebenso wie Lisp viele neue Konzepte überhaupt erst erfunden hat. Wenn man wissen will wie die Grundidee von OOP ausschaut (also nicht was Java daraus gemacht hat) dann sollte man sich Smalltalk mal ansehen. Mit Seaside gibt es auch ein ziemlich interessantes Webframework. Als modernere, reine OO-Sprache gibt es auch Io, was aber eher für so kleine Schnippsel wie im Forum gesehen interessant ist - für richtig praktische Sachen fürchte ich, dass die Community zu klein ist.
  • Erlang: die Sprache ist nicht sonderlich hübsch und auch recht alt aber wenn man ein ausfallabgesichertes System bauen will, das hochparallel funktioniert dann ist Erlang wegen seiner extra für diese Zwecke gebauten VM und der Datenbank Mnesia das Mittel der Wahl. Es soll auch Aufsätze auf Erlang geben, mit denen die Syntax eher einem Lisp ähnelt, habe es aber nicht ausprobiert. Mit ErlyWeb gibt es auch dafür ein Web-Framework.
No-Go, also die Liste der Sprachen die zu langweilig sind um sie zu lernen.
  • Java: Also bis auf zugegebenermaßen gute JVM gibt es kaum etwas positives was ich über die Sprache sagen könnte. Ehrlich, ich versuche sie zu mögen, aber darin zu programmieren ist unglaublich langweilig und viele Designideen sind meiner Meinung nach schlichtweg schlechte Ideen gewesen. Dafür aber Industrie-Standard und wird es auf absehbare Zeit bleiben. Wegen der großen Menge an Enterprise-Code und der Menge an Programmierern die bei Java-Schools rauskommen.
  • Ruby: Ich kann durchaus verstehen, dass viele die Sprache toll finden, aber ich muss sagen dass ich sie zu ähnlich zu Python finde um von Interesse zu sein. Hat einige coole Features wie Blöcke oder recht große Möglichkeiten DSLs zu machen, aber generell finde ich Ruby-Code unnötig schwer zu lesen und die Stdlib recht chaotisch, ganz zu schweigen von den Problemen mit offenen Klassen und den Hang von Ruby-Programmieren zu lustigen Hacks, die zwar kreativ sind, aber im Gesamtbild eher Probleme bereiten. Jedem das seine und ich Respektiere auch Ruby-Leute die Python nicht so toll finden, genau aus den Gründen warum ich die Sprache als gelungenen Kompromiss zwischen Verständlichkeit und Flexibilität sehe. Ruby geht eher in Richtung Flexibilität, aber ob es das Wert ist muss jeder für sich entscheiden.
  • Groovy: Nach anfänglichem Hype ist es darum recht Still geworden. Ein Mischmasch aus Java, Ruby und Python hat scheinbar nicht ganz so hingehauen. Wenn man aber eine dynamische, extra für die JVM entworfene Skriptsprache will, kann man sich das ansehen (hat mit Grails auch ein Web-Framework und kann natürlich auch Java-Frameworks nutzen). Im Gegensatz zu JRuby und Jython gibt es da weniger Integrationsprobleme, da es auf die Möglichkeiten der JVM abgestimmt ist.
Ich könnte noch etwas über C und Vala oder Factor sagen, aber ich glaube das reicht erstmal, das ist genug zum verdauen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
zero-one
User
Beiträge: 58
Registriert: Dienstag 20. Mai 2008, 20:52

Montag 5. Januar 2009, 23:12

Wow... danke fuer die resonanz und besonders an Leonidas fuer seinen mehr als ausfuehrlichen beitrag...

ich denk mal das ich mir clojure angucken werde da es ja wohl auch eine Art lisp ist jedoch nen bissle moderner zu sein scheint... mal nen bissle in den Dokus lesen ...

ihr koennt jedoch gerne weiter Sprachen vorstellen und eure Meinungen zu den anderen genannten sagen

gruessle
BlackJack

Dienstag 6. Januar 2009, 12:34

C ist eine Sprache die sich lohnt zu kennen, und wenn es nur dazu dient eine der vielen guten Bibliotheken in seine Lieblingssprache einzubinden. Bei Python würde ich dafür `ctypes` oder `Cython` empfehlen, aber man muss ja trotzdem die Grundlagen von C verstehen, um die beiden richtig einsetzen zu können. C ist sehr nah an der Hardware aber trotzdem sehr portabel und man kann damit "alles" machen, allerdings einiges sehr unbequem.

Von C# und Java gefällt mir C# ein ganz kleines bisschen besser.

Bei D hoffe ich, dass die Sprache eine Zukunft hat, denn sie ist IMHO im Gegensatz zu C++ der bessere Weg von C zur OOP-Sprache.

Mit Haskell werde ich für echte Programme einfach nicht warm. Die Sprache ist es definitiv wert gelernt zu werden, um den Horizont zu erweitern, aber ich schaffe es einfach nicht an alles zu denken, was für brauchbare Programme nötig ist. Zum Beispiel die "lazy evaluation" ist immer wieder ein Stolperstein, weil die mehr "lazy" ist, als IMHO nützlich ist, und man dann doch immer wieder hier und da strikte Auswertungen erzwingen muss, damit einem nicht, bei im Grunde ganz trivialen Aufgaben, der Hauptspeicher ausgeht.

Io ist auch ganz interessant und für kleine Skriptingaufgaben brauchbar. Aber die "Standardbibliothek" ist zu inkonsistent, die Sprache noch zu sehr im Fluss, und die Community zu klein. Interessant finde ich, dass eine Sprache die reines OOP praktiziert, sich ähnlich wie Lisp oder Scheme "anfühlt". "Alles ist Funktion" unterscheided sich in der Handhabung eben nicht allzusehr von "alles ist Methode". Sowohl Scheme als auch Io versuchen mit möglichst wenig Syntax und fest vorgegeben Sprachelementen auszukommen.

Ich persönlich habe in letzter Zeit Forth (wieder)entdeckt. Recht hardwarenah aber gleichzeitig sehr flexibel erweiterbar. Das man Worte definieren kann, die bei der Übersetzung von anderen Worten ausgeführt werden, bietet ähnliche Möglichkeiten wie Scheme's Makros. Dementsprechend gibt es zum Beispiel verschiedene OOP-Implementierungen für Forth in Forth geschrieben. Den Hammer schlechthin fand ich, dass ich in Forth auf dem C64 objektorientierte Programme schreiben kann.
würmchen
User
Beiträge: 255
Registriert: Mittwoch 7. November 2007, 14:17

Dienstag 6. Januar 2009, 12:37

Ich benutz noch recht viel AWK

Ist recht praktisch in der Shell um Ausgaben zu verarbeiten oder Logfiles zu parsen.

Ist recht leicht zu erlernen und braucht nicht viel Zeit um es zu entwickeln.

Nachteil ist die Geschwindigkeit, ist im Vergleich zu anderen Sprachen recht lahm, was aber durch die wenigen Minuten programmieren und rumtüffteln wieder raus geholt wird...
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dienstag 6. Januar 2009, 13:17

Lua wurde noch nicht genannt. Auch wenn ich mich noch nicht weiter damit befasst habe, so hat die Sprache ja ein durchaus interessantes Anwendungsgebiet als eingebettete Scriptsprache in vielen Spielen (und sicherich auch "seriösen" Anwendungsprogrammen ;-) ). Insofern darf man sie hier sicherlich mal nennen.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 6. Januar 2009, 17:03

AWK und den meisten POSIX-Tools nehme ich es übel, dass sie so limitierte reguläre Ausdrücke haben, selbst wenn man auf EREG schaltet gibt es zum Beispiel bei sed keine non-greedy Wiederholungsoperatoren. Deswegen finde ich zum Beispiel ``ack`` so toll, eben weil es dem Nutzer die Perl-Regex in die Hand gibt.
Hyperion hat geschrieben:Auch wenn ich mich noch nicht weiter damit befasst habe, so hat die Sprache ja ein durchaus interessantes Anwendungsgebiet als eingebettete Scriptsprache in vielen Spielen (und sicherich auch "seriösen" Anwendungsprogrammen ;-) ).
Ich habe mal ein wenig mit Lua anfangen wollen, aber als nicht-eingebettete Sprache ist es nur bedingt brauchbar, siehe Rants about Lua (die Situation in der auch JavaScript ist, wobei ich persönlich JS noch interessanter finde). Der Python-Interpreter ist auch für eingebetteten Betrieb nutzbar. Wenn nich Python, dann würde ich vermutlich eher TinyScheme, Guile oder ECL hernehmen, bevor ich Lua in Betracht ziehen würde.

Achja, wenn es um ein Nicht-Spiel geht, dass Lua verwendet: Luatex und SciTE haben einen eingebetteten Lua-Interpreter. Gimp hat TinyScheme (und davor SIOD) und Emacs besteht quasi aus einem immensen Haufen Elisp der mit C-Code verdrahtet ist.

Ich habe ein wenig über Factor gelesen sowie auch über Joy und Cat. Letztere sind insofern interessant, dass sie nicht auf dem Lambda-Kalkül basieren und damit für mich eine Neuheit darstellen. Factor scheint aber am ehesten noch verwendbar zu sein und Slava hat sich auf Reddit schon eine recht ansehnliche Fangemeinde angesammelt. Allerdings hat es bis auf das es stackbasiert ist scheinbar viel mit Lisp gemein (was vielleicht auch die Fangemeinde begründet). Gerade die Features die auf der englischen Wikipedia-Seite genannt werden sind fast alle auch so in PLT Scheme (bis auf dynamic scoping, das bietet nur Common Lisp). Gibt es eigentlich irgendwelche interessanten Sachen die eben nur mit Factor so schön lösbar sind?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Mittwoch 7. Januar 2009, 10:08

Lernenswert, weil horizonterweiternd, finde ich sind Sprachen, die anders funktionieren als wie man's schon kennt. Python ist eine imperative und prozedurale Programmiersprache aus der selben Familie wie Pascal, C, usw. Kennt man da eine, kennt man sie alle.

C könnte aufgrund der Maschinennähe und der Pointer interessant sein. Für einen Python-Programmierer ist möglicherweise auch wichtig, dass man in C Module für Python schreiben kann.

Dreht man das Rad der Zeit bis zu den Anfängen der Hochsprachen in die späten 50er zurück, dann sind da drei Hochsprachen: Cobol, Fortran und Lisp. Während die ersten beiden eigentlich eher historisch interessant sind, was ihre Beschränkungen angeht (keine dynamischen Datenstrukturen bei Fortran z.B.) ist Lisp nach wie vor ein Meilenstein, den man kennen sollte. Wahlweise auch Scheme, welches in den 70ern als minimalistisch und systematisch neu entworfen wurde. Ein modernes Lisp für die Java-Virtuelle-Maschine ist das schon erwähnte Clojure. Die Eleganz von Lisp und Scheme leidet dort ein bisschen durch den Pragmatismus, Java-Bibliotheken einzubinden, aber dafür ist's aufgrund der Nähe zu Java auch produktiv einsetzbar. Lisp Makros, der metazirkuläre Interpreter und das Gleichsetzen von Code und Daten ist unerreicht in allen späteren Sprachen.

Wer objektorientierte Programmierung lernen will, sollte sich Smalltalk anschauen. Diese Sprache ist alleine deswegen interessant, weil es mehr als eine Programmiersprache ist. Ein Smalltalk-System ist die Kombination aus Betriebsystem und Sprache, die in den frühen 80ern eine - wir würden heutzutage IDE sagen - Entwicklungsumgebung hatte, die bei vielen Sprachen unerreicht war und ist. Mit Seaside gibt es ein konzeptionell interessantes Webrahmenwerk (komponentenbasiert und continuations nutzend, wie es sonst nur noch Lisp- bzw. Scheme-basierte Webrahmenwerke sind). Squeak hat zwar ein quietschbuntes, leicht archaisch wirkendes UI, ist aber dennoch empfehlenswert, will man sich nicht an VisualWorks versuchen.

Prolog ist eine deklarative Programmiersprache für die Logikprogrammierung. Ein produktiver Einsatz würde mir jetzt nicht direkt einfallen - denn alles andere als "Expertensysteme" oder andere Problemlöser sind in Prolog eher anstrengend zu bauen - doch die Sprache ist ein Meilenstein und der Unifikationsalgorithmus, der den Kern von Prolog bildet, ist etwas, das zumindest Informatiker kennen sollten. Für diesen Schlag Menschen bietet sich dann auch an, Prolog in Lisp oder Smalltalk nachzubauen. Für beide Sprachen ist das eine übliche Übung.

Die selbe komische Syntax wie Prolog hat übrigens auch Erlang, welches sich aber nicht nur aus diesem Grunde lohnt. Aktive Objekte - Akteure - als zentrales Konzept sind ein hoch gehandeltes Mittel, das Problem dieses Jahrhunderts zu lösen: Wir müssen unsere Programme stärker parallelisieren, wenn sie noch schneller werden sollen. Die ursprüngliche Idee von Akteuren stammt übrigens aus dem Smalltalk und Lisp-Umfeld und ich meine, Scheme entstand, weil die Autoren lernen wollten, wie das eigentlich funktioniert.

Ganz anders ist Forth. Forth ist gleichzeitig sehr primitiv und maschinennah und kann extreme abstraktionen wie gute Hochsprachen haben. Forth ist ein Exot, das dem menschlichen Programmierer eine für Computer wunderbar einfach verständliche Notation aufzwingt, bei der die Operationen den Operanden nachgestellt werden. Eine moderne Variante (inklusive IDE) ist Factor. Die Sprache ist faszinierend. Übrigens, Postscript und PDF gehen ebenfalls als Forth-Varianten durch. Jede stackbasierte virtuelle Maschine - also das, was Java oder .NET benutzen und auch Python - funktioniert nach diesem Grundprinzip.

Dann bleibt eine funktionale Programmiersprache. Haskell wurde schon erwähnt. Diese hat gleichzeitig auch noch mit träger Auswertung, was eine sehr interessante Kombination ist. Einfacher zu verstehen ist aber meiner Meinung nach ML (aus dem dann das auch schon erwähnte Caml und OCaml abgeleitet wurde) und dort das Hindley/Milner-Typsystem. Von einem Informatiker würde ich wiederum verlangen, dass er dieses kennt.

Clojure und Erlang sind übrigens ebenfalls funktional und Clojure hat teilweise auch träge Auswertung. Theoretisch kann man mit Scheme und anderen Lisp-Dialekten (oder in Python) ebenfalls funktional programmieren, doch eine Sprache, die es erzwingt, macht es einem einfacher.

Zum Schluss möchte ich noch Scala erwähnen, welches zwar eine sehr komplexe und daher IMHO schwer zu meisternde (erlernen ist nicht so schwer) Sprache ist, aber viele Konzepte kombiniert. Sie basiert auf der JVM und kann beliebigen Java-Code einbinden. Das macht sie praxistauglich. Sie ist funktional und objektorientiert. Sie ist streng und statisch getypt und mit etwas Aufwand kann man ähnlich wie bei Haskell bzw. Clojure träge Auswertung benutzen. Dank call-by-name-Parametern gibt es so etwas wie Makros und man kann mit Scala beschränkt Metaprogrammierung durchführen.

Stefan
Neg'
User
Beiträge: 30
Registriert: Sonntag 11. Juni 2006, 19:42

Freitag 16. Januar 2009, 11:21

Wenn dich Webdevelopment interessiert schau dir PHP, JavaScript (ECMAScript im Allgemeinen) an. Ansonsten da du Python und Ruby schon kennst vll. Boo oder ähnliche adaptierte Scriptsprachen.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Freitag 16. Januar 2009, 13:38

Warum PHP? Oo
Panke
User
Beiträge: 185
Registriert: Sonntag 18. März 2007, 19:26

Freitag 16. Januar 2009, 13:57

Damit man gegenüber PHP-Programmierern nicht argumentativ ins Hintertreffen gelangt.
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Freitag 16. Januar 2009, 16:42

Panke hat geschrieben:Damit man gegenüber PHP-Programmierern nicht argumentativ ins Hintertreffen gelangt.
Naja ... Außerdem wird man ab dem Tag, an dem man sich mit PHP beschäftigt, Gott dafür danken, dass es Python gibt. Obwohl Gott wohl der falsche sein sollte, dem man dankt ;)
Antworten