Welche Sprachen neben Java?

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Jeder der sich schon mal etwas intensiver mit Programmierung beschäftigt hat weis, dass es oftmals von großem Wert ist die Konzepte mehrerer Programmiersprachen zu kennen.
Sei es nun prozedurale Prorgammierung (Pascal, C), objektbasierte Prorgammiersprachen (VB,...), funktionale Programmierung (Haskell,...) oder objektorientierte Programmierung (Java,Smalltalk, C++,C#...) / statisch (Java,C#) oder dynamisch typisierte Sprachen wie (Python, Ruby).

Mich interessiert nun, welche Sprachen könnt ihr noch neben Java bzw. welche Sprachen und Konzepte sollte man euer Meinung nach unbedingt kennen?

Ich habe mich bisher mit ein wenig Basic, Pascal, C, Visual Basic, C++, PL/SQL, Java, C#, Python (und 2-3 proprietären Geschichten...) herumgeschlagen und muss sagen, dass mich gerade in letzter Zeit die Konzepte aus dynamischen Sprachen wie Python mit Closures, Generator Functions, etc... beim Lösen von Problemstellungen neue Denkansätze liefern.

Gruß Tom
 
Hallo,

als angehender Informatiker sollte man sich meiner Ansicht nach auch mit der
Denke von funktionalen Programmiersprachen anfreunden können.
Ein Kandidat (eventuell auch exotischer) der da meiner Ansicht nach auch in
Bezug auf Java recht intressant sein könnte ist Nice. Hab selber noch nichts damit
gemacht, bin aber durch Zufall mal auf den Wiki Artikel gestoßen:

http://de.wikipedia.org/wiki/Nice_(Programmiersprache)

Gruß

RedWing
 
Also ich hab auch schon in andere Sprachen reingeschnuppert, gestern erst in C#..
Was ich da sah erinnerte mich schon sehr stark an Java.. Kann es sein, das die Syntax fast komplett identisch ist? (Nur Methodennamen werden wie bei VB groß geschrieben *igitt*)
Ansonsten hab ich mich schon mal mit C++ (hauptsächlich Zeiger und so ;)) und ein bissel Assembler beschäftigt.
 
Also von können kann keine Rede sein. :rolleyes: Aber sagen wir mal ich "beschäftige" mich nebenbei noch mit C# und PHP. Mit PL/SQL musste ich mal ein Dataminingprojekt realisieren und ich fand, dass diese Sprache (wenn man sie so nennen kann?) ein ziemlichr Krampf ist .. Java ist nach wie vor die Sprache meiner Wahl. Mich würde mal interessieren, wieso man sich mit Python auseinander setzen sollte? Ich hab das mal installiert wegen Blender. Da wird es irgendwie als Scriptsprache benutzt. Aber was kann ich damit vielelicht besser erledigen als mit, sagen wir mal Java ?

Danke,
Gruß Stefan
 
Ich denke nicht, dass man einen pool von Sprachen benennen kann, den ein Programmierer zwingend können muss. Es kommt halt immer drauf an, was man für ein spezielles Problem zu lösen hat.
Ich halte es für vorteilhaft, wenn man die verschiedenen Konzepte der Programmierung kennt. Dabei muss man nicht die Syntax der einzelnen Sprachen beherrschen, denn die eignet sich der Programmierer schnell an.
Schwierigkeiten wird derjeneige bekommen, der versucht, alle Probleme in der Sprache zulösen, die er am besten "beherrscht" oder die ihm am besten liegt, denn dabei sind häufig Konzeptbrüche (vor)programmiert.

Fazit: Einfach mal bisschen nach links und rechts gucken, aber dafür wurde ja mit diesem thread schonmal der Grundstein gelegt :D
 
Hallo!

Mich würde mal interessieren, wieso man sich mit Python auseinander setzen sollte? Ich hab das mal installiert wegen Blender. Da wird es irgendwie als Scriptsprache benutzt. Aber was kann ich damit vielelicht besser erledigen als mit, sagen wir mal Java ?

na ja, mir gefaellt beispielsweise die einfache elegante Art und Weise wie man in Python mit Listen und Maps (Dictionaries) Umgehen kann. Weiterhin sind Python Programme immer "entsprechend" eingerueckt (ist doch die Einrueckung der Mechanismus zur Struturierung von Bloecken in Python), so dass man in der Regel schnell Strukturen erkennt. Aufgrund der seiner dynamisch typisierten Natur (typen werden in Python nur zur Laufzeit ermittelt, nicht zur Compile-zeit) sind Python Programme oftmals ein wenig kuerzer als vergleichbare Java Programme. Ein Nachteil davon ist jedoch, dass Typ-Fehler oftmals erst zur Laufzeit auffallen. Auch erschwert dies die Fehlersuche ungemein, da man waehrend des Debuggens immer (muehsam) ueberpruefen muss, welchen Typ nun an eine Referenz gebunden ist...

Gruss Tom
 
Also ich würde ja nichtmal behaupten das ich "richtig" Java kann.. :/ und an anderen Sprachen, hmm, etwas PHP und Perl, in Python hatte ich nur mal reingeschnuppert.. PL/SQL hab ich auchmal mit rumhantiert und <inronie>oh ja mein absoluter Liebling Actionscript 2 </ironie> grauenvolle Syntax...
 
Ein_Freund hat gesagt.:
Schwierigkeiten wird derjeneige bekommen, der versucht, alle Probleme in der Sprache zulösen, die er am besten "beherrscht" oder die ihm am besten liegt, denn dabei sind häufig Konzeptbrüche (vor)programmiert.

mmmmhhh also da bin ich nicht ganz Deiner Meinung.
Sehr sehr viele Sprachen haben im Laufe Ihrer Entwicklung recht ähnliche Möglichkeiten und Konzepte anderer Sprachen übernommen, sofern Vorgängersprachen nicht sowieso schon großen Einfluß bei den meisten Sprachen hatten.
Natürlich gibt es Sprachen die sehr speziell sind und klare Stärken in einer Richtung und vermutlich gnadenlose Schwächen in der anderen Richtung haben.
PL/SQL ist denke ich ein schönes Beispiel. Diverse Syntaktische Elemente wurden offenbar von PL1 hergeholt, Stärken sind halt vorranging Proceduren für Oracle Datenbanken zu schreiben. Gnadenlose Schwäche ist vor allem die Meldung(en) des Compilers wenn man was falsch gemacht hat. Er sagt inhaltlich meistens sowas wie Fehler weil es könte daran, and diesem oder an jenem oder an sonst nochwas liegen.
In anderen Worten, man sucht sich alein bei Syntaxproblemen tot (grusel).

Ein_Freund hat gesagt.:
Fazit: Einfach mal bisschen nach links und rechts gucken, aber dafür wurde ja mit diesem thread schonmal der Grundstein gelegt :D

Dein Fazit teile ich auf jedenfall.

Außerdem bin ich der Meinung, dass, wenn man in einer für sich selbst weiteren neuen Sprache etwas entwickelt, sollte man die Philosophie versuchen zu adaptieren. Ich habe nicht selten reine C-Programmeirer manchmal auch Powerbuilderexperten in Java entwickeln sehen (hmmmm) das hat man dann aber auch gemerkt :suspekt: .

Angefangen habe ich mit BASIC (C64'er) naja Basic halte ich eigetnlich nicht für eine Sprache sondern eher eine Sprachfamilie, ebenso wie Assembler eine Sprachfamilie ist.
in der Schule hatte ich dann mal UCSD-Pascal und war echt happy endlich "eigene Befehle" (sprich Proceduren), so wie ich es mir schon immer gewünscht hatte, bauen zu können. Ich experiemtnierte fast zeitgleich mit Forth und 6510 Assembler, damals war ich auch der Ansicht ich müsste möglichst viele Sprachen lernen, was ich heute etwas relativierter sehe.
Während meiner Ausbildung war PL1, 8085 Assembler und C angesagt, ein wenig experimentierte ich damals auch in REXX, einer Sprache, der es egal ist, ob man einen String hat oder eine Zahl :) .
Bei meiner 1. Arbeitstelle war dann /370 Assembler von Nöten mit herzlich proprietärem Zeug dazwischen (Grusel)
Was mir eigetnlich besonders an Java auffällt ist, dass man bei Java bei weitem nicht nur die Sprache an sich lernen muss, um was sinnvolles entwickeln zu können, sondern dass man auch die diversen Framworks, zumindest diejenigen, die man für seine bestimmte Aufgabe benötigt in wesentlichen Teile verstehen lernen muss. Einerseits toll das allesmögliche schon existiert, andererseits muss man dennoch bei manchen Technologien mit Java ne Menge lernen um es gescheit anwenden zu können. In den älteren Sprachen hatte man entweder mehr zu Fuß gemacht oder aber Bibliotheken die auch von ziemlich proprietärer Natur waren und eben nicht plattformunabhängig (z.B Os/2 PresentationManager Programmierung mit C. Naja das hat einen damals auch nicht groß geschert. Internet, auch wenn schon existent, war halt noch reichlich fern.

Naja was ich für mich halt sehe ist, dass ich die Dinge, die ich früher einmal tat, wirklich nicht mehr zu meinem Wissen rechnen darf, da ich heute vermutlich vieles von dem neu lernen müsste. Man kann sich halt nicht alles merken. Für wichtig halte ich es aber, die Sprache, in der man aktuell etwas bewerkstelligen will, von ihrer Philosophie zu begreifen, um sie nicht ggf. zu vergewalltigen.

in diesem Sinne

Takidoso
 
Zurück