• [gelöscht]

Kann mir vielleicht jemand einen Überblick über alle gängigen Programmiersprachen und deren Unterschiede, Vor- und Nachteile, etc. liefern?
Konkret wären das z.B. JavaScript, Java, Tcl, ASP, Perl, PHP, C, C++, Delphi und was weiß ich noch. Für mich sind die meisten davon nur kryptische Bezeichnungen, ich würde aber gerne wissen, was man damit anstellen kann und welche sich lohnen, sie zu erlernen. Kennt sich jemand von euch auf diesem Gebiet aus? (Ich nehm es mal stark an, denn irgendwie musste ja auch dieses Forum programmiert werden 😃).

Danke im Vorraus, fraggingBrain
Da ich schonmal mit der ein oder anderen Programmiersprache gearbeitet habe, hier eine grobe Einschätzung:
  • Scriptsprachen
Programme werden nicht in Maschienencode umgesetzt (kompiliert) sondern von einem "Interpreter" interpretiert. Daher sehr langsam und unfelxibel, aber plattformunabhängig.
  • Perl
als UNIX-Shell-Sprache konzipiert. Mit Hilfe von versch. Modulen wird es oft als GCI-Script für WebServer-Anwendungen verwendet. (LL2 wurde in Perl5 geschrieben)
  • PHP
Speziell für Webanwendungen konzipiert. Java-ähnliche Syntax. Als Servermodul recht schnell. sehr leicht zu erlernen. leider kein einheitliches Sprachkonzept. wird stetig weiterentwickelt. (Pseudo-)ObjektOrientierung.(LL3 wurde in PHP4 geschrieben)
  • JavaScript
wie oft fälschlich angenommen wird, hat JS mit Java nichts zu tun. Meines Wissens nach von Netscape entwickelt. Ermöglicht begrenzte, clientseitige Programmierung innerhalb von HTML-Dokumenten. Hauptsächlich für Spielereien entwickelt 😉 dient dazu, um Dokumente im Browser zu verändern.
  • Imperative Programmierung
Programme werden durch Befehlsartige Algorithmen representiert. sehr intuitiv zu erlernen. Größere Projekte sind aber nur schwer zu realisieren und zu warten. Folgende Programme werden kompiliert. -> sehr schnell, klein und flexibel. müssen aber für jede Plattform neu kompiliert werden.
  • C
ziemlich kryptische Sprache. wird bis heute noch verwendet. plattformunabhängig.
  • Pascal
leicht zu lernen. Syntax ist sehr intuitiv. Große Projekte sind aber aufwendiger und komplizierte Algorithmen werden unübersichtlich.
  • Objektorientierte Programmierung (OOP)
"Modernstes" Programmierparadigma. sehr problembezogen; nicht so maschienennah wie z.B. imperative Programmierung. schwerer für Anfänger zu erlernen. Wiederverwendbarkeit von bereits geschriebenen "Objekten". Große Projekte bleiben übersichtlich und leicht wartbar. (LL3 ist teilweise objektorientiert)
  • C++
objektorientiert Weiterentwicklung von C
  • Delphi
objektorientiertes Pascal (nur für Windows). Unter UNIX heißt es Kylix oder so ähnlich 😉
  • Java
objektorientiert bis zum Anschlag 😉. durchdachte Syntax. plattformunabhängig. erstellt leider keine ausführbaren Dateien. Der sog. Bytecode muß wie bei Scriptsprachen interpretiert werden. Daher sehr langsam, aber plattformunabhängig. Eignet sich meiner Meinung nach nur für Server und ggf. für kleine Clientanwendungen innerhalb von HTML-Dokumenten (->Appletts)

So, das war eine wirklich kleine Übersicht. Nimm das mit der Aufteilung nicht so genau. Denn eigentlich vergleiche ich hier Äpfel mit Birnen. So ist PHP beispielweise auch eingeschränkt oop-fähig und im Prinzip wird Java auch interpretiert.
  • [gelöscht]

Hallo,

generell kann ich Dir sagen:
C ist eine Sprache, die knapp über Assembler liegt, aber portabel ist.
Mit C ist alles möglich, vorausgestzt man kennt sich damit aus.
Vorteil von C:
Die Ausführungsgeschwindigkeiten sind Assembler sehr nahe.
Der Befehlssatz ist klein, aber ideal zum Programmieren von Betriebssystemen (Beispiel Linux).
Ich habe einige Bücher über C und damit auch die Basis für andere Programmiersprachen gefunden.
Es lohnt sich C zu lernen, obwohl die heutigen Anwendungen eher auf objectorientierten Sprachen basieren.
C war ursprünglich als portable Programmiersprache gedacht, hat dies aber nie erreicht, denn Du brauchst für jedes System einen Compiler.

In allen Sprachen tauchen wieder Elemente von C auf oder sind sogar in C geschrieben.

Java ist z.B. eine Fortsetzung von C und ähnelt auch der Syntax. Java baut aber auf einer virtuellen Maschine auf und ist daher ein Compreter. Vorausgesetzt die VirtualJavaEngine wurde nicht (z.B. unter Windows von Microsoft) verändert, ist Java hardwareunabhängig portabel. Dafür aber langsamer als C. Da heutige Rechner aber genügend schnell genug sind, ist das Programmieren von Office-Programmen in Java sehr zu empfehlen.
Da Java aber von SUN und nicht von Microsoft erfunden wurde, ist die Entwicklung für Windows eine defizile Sache. Oft leidet die Performance, da von MS nicht hundertprozentig unterstützt.
Eigentlich sollten Java-Programme das System nicht zum Absturz bringen können, lediglich das jeweilige Programm selbst. Unter Windows ein bedeutender Vorteil. (Beispiel Netscape 7 und StarOffice bzw. Open Office).
Unter Linux und Unix-system (Solaris,BeOs,MacOs X, QNX) ist Java der Renner. Der Vorteil: Du brauchst nur einen "Compiler" für alle Systeme (JDK).

Obwohl Java und JavaScript unterschiedlich sind, ist das Erlernen von Java ein Vorteil für die Script-Programmierung. Auch Servlets die serverseitigen Applets laufen unter Java.

Java zu lernen ist also für webber eine gute Sache.
Ich habe nach C mich mit Java befasst und dadurch einen guten Einstieg zu den Scriptsprachen gefunden.

Ein Haken dabei: Bist Du erstmal mit Java "verwurzelt" ist der Umstieg auf andere Sprachen kein Problem.

Delphi ist eine Weiterentwicklung von Pascal. Pascal ist leicht lernbar, schränkt aber die hardwarenahe Programmierung sehr ein. Es ist für jedes System ein eigener Compiler erforderlich. Delphi ist u.U. weitgehend protable zu Linux,Windows und Mac. Delphi bzw. Pascal gibt es auch als Freeware für Linux und Windows. Für Teamarbeit ist Delphi sehr zu empfehlen, da der Quell-Code gut lesbar ist. Viele Windowsprogramme sind in Delphi geschrieben. Dafür ist der Code sehr aufgebläht und ggf. langsamer als Java und C-Programme. Modula ist auch eine Pascal-Variante, aber objectorientiert.

Das wars

Michael
  • [gelöscht]

[*]Java
objektorientiert bis zum Anschlag 😉
Pierre, schon mal was von SMALL TALK gehört?! Oder Eiffel?! Das sind "echte" OOP-Sprachen 😉
Eine schöne Übersicht. Da könnte ich noch seitenweise zu schreiben 😉
@Magistix: Nein, von denen habe ich noch nichts gehört. Aber von den real eingesetzten Programmiersprachen ist Java wohl sehr oop.
@michelm: Meiner Erfahrung nach sind die Geschwindigkeitsunterschiede zwischen Delphi und C++ wohl vernachlässigbar. Zu Java allerdings nicht: Delphi schlägt hier Java mehr als deutlich. Java ist auf Prozessoren unter 1GHz einfach nicht zu gebrauchen.
  • [gelöscht]

Erstmals danke an euch alle! Das ist mir schon eine ziemlich große Hilfe! :-*
Eine schöne Übersicht. Da könnte ich noch seitenweise zu schreiben 😉
Wenn du Lust dazu hast, bitte! :lol: Ich brauch das nämlich für meine Fachbereichsarbeit. Und da ihr euch auf diesem Gebiet ja phänomenal auskennt, wäre es doch eine Sünde auf euer Wissen zu verzichten! 😃
  • [gelöscht]

Ich hab jetzt auch eine nicht üble Übersicht über Google gefunden:

http://www.iha.bepr.ethz.ch/pages/leu...leseminar/

Vielleicht interessiert sich ja jemand dafür. Die Seite ist recht simpel gestaltet, bietet aber recht brauchbare Infos. :lol:
5 Jahre später
Hallo,

noch ein paar anmerkungen zum Post von Michael.
michelm schrieb In allen Sprachen tauchen wieder Elemente von C auf oder sind sogar in C geschrieben.
Das stimmt zwar, aber dass ein Interpreter wie z.B. Perl in C codiert ist, muss keinen Einfluss auf die durch ihn implementierte Sprache haben.
michelm schrieb Modula ist auch eine Pascal-Variante, aber objectorientiert.
Das stimmt nicht! Modula-2 (und die meinst du wahrscheinlich, dnn Modula ist wohl kaum über die ETH Zürich hinausgekommen) ist nicht objektorientiert. Erst mit deren Nachfolgern Oberon (TH Zürich) oder Modula-3 (entwickelt von der Firma DEC) lassen sich objektorientierte Konstrukte aufbauen.

All diese Sprachen sind allerdings eher als Nachfolger von Pascal konzipiert worden denn als Pascal-Varianten. Aber auch die heutigen Pascal-Implementationen haben mit dem ursprünglichen Pascal nicht viel zu tun, und mit "heutig" meine ich alle Pascal-Versionen auf PCs sei Turbo Pascal 4.0.
😉
fraggingBrain schrieb Ich hab jetzt auch eine nicht üble Übersicht über Google gefunden:

http://www.iha.bepr.ethz.ch/pages/leu...leseminar/

Vielleicht interessiert sich ja jemand dafür. Die Seite ist recht simpel gestaltet, bietet aber recht brauchbare Infos. :lol:
Hallo,

der Link funktionierte bei mir nicht.

Aber auch sehr interessant, wenn auch umfangreich, ist die Liste der Programmiersprachen in der deutschen WikiPedia
9 Tage später
Ich denke gerade, wenn wir in der OpenSource-Welt von Programmiersprachen sprechen sollte noch Python erwäht werden.
Wie oben beschrieben eine Interpretersprache, aber trotzdem OOP (weiß auch nicht, was das Eine mit dem Anderen zu tun hat)
Geht ziemlich eigene Wege und versucht dabei aber die Programmiersprachen an sich ein wenig zu "revolutionieren" - ist einfach und mächtig !
http://de.wikipedia.org/wiki/Python_%28Programmiersprache%29

...und Delphi (muss ich leider durch den Schulunterricht lernen) ist nicht gerade Plattformunabhängig Kylix läuft auf aktuellen Disitris nimmer und FreePascal/Lazarus ist sowieso kein reiner Delphi-Nachbau, als auch nicht komplett kompatibel.
Nein, ich weiß schon was OOP ist. Ich weiß nur nicht warum eine Interpretersprache keine OOP-Sprache sein kann (kommt in dem ersten Beitrag hier irgendwie so rüber).

Ansonten danke für das Buch 😉
Interpretierte Sprachen können durchaus OO sein. Z.B. Ruby ist komplett OO und interpretiert.
4 Monate später
  • [gelöscht]

Pierre schrieb
  • Scriptsprachen
Programme werden nicht in Maschienencode umgesetzt (kompiliert) sondern von einem "Interpreter" interpretiert. Daher sehr langsam und unfelxibel, aber plattformunabhängig.
Ja sind vielleicht langsam, sind aber nicht für extrem zeitkritische Einsatzgebiete bestimmt.
Klar würd ich meine Airbag-Sensoren nicht unbedingt mit ner Scriptsprache abfragen.

Scriptsprachen werden, wenn sie nicht mal zufällig für Webanwendungen mißbraucht werden, gerne da eingesezt wo es darum geht etwas schnell und einfach zu lösen, sie sind meistens nicht ganz so mächtig wie Hochsprachen C++/Java aber haben dafür ziemlich einfache Typkonzepte, d.h. du musst dich nicht mit fiesen Variablentypen und Datenstrukturen rumschlagen,
z.B. Administration eines Servers, da sezt man gerne Scripts ein um Daten zu löschen, zu verschieben, umzubenennen etc... das Ganze in ner Hochsprache zu schreiben wäre wesentlich aufwendiger und größer!
Pierre schrieb
  • C
ziemlich kryptische Sprache. wird bis heute noch verwendet. plattformunabhängig.
Das zu hören tut sehr weh!
C ist eine sehr schöne und solide Sprache mit der man heute noch Systemprogramme schreibt weil sonst nur Assembler in Frage kommt.
C ist eine Prozedurale Programmiersprache, d.h. bestimmte Sachen lassen sich sehr schwer realisieren.
Pierre schrieb
  • C++
objektorientiert Weiterentwicklung von C
C ist eine Teilmenge von C++.. d.h. C wurde einfach um C++ erweitert, was der Lesbarkeit nicht unbedingt dient. C++ ist eine der meist genuzten Programmiersprachen weil sie eben die Vorteile von C (Maschinenähe) und Objektorientierung kombiniert. C++ ist manchmal leider unsauber und nicht zu 100% durchdacht.
C++ ist eine sehr mächtige Sprache, aber wie wir wissen kommt mit großer Macht große Verantwortung.
Pierre schrieb
  • Java
objektorientiert bis zum Anschlag 😉. durchdachte Syntax. plattformunabhängig. erstellt leider keine ausführbaren Dateien. Der sog. Bytecode muß wie bei Scriptsprachen interpretiert werden. Daher sehr langsam, aber plattformunabhängig. Eignet sich meiner Meinung nach nur für Server und ggf. für kleine Clientanwendungen innerhalb von HTML-Dokumenten (->Appletts)
Java das ewige Stiefkind der Hobbyprogrammierer, zu unrecht wie ich meine.
Java ist sehr gut dokumentiert, kommt standardmäßig mit einer riesigen Auswahl von Funktionen (für den Anfänger oft verwirrend) und ist sehr robust.
Der größte Vorteil von Java ist manchmal auch ein großer Nachteil, es gibt in Java keine Zeiger nur Referenzen was bestimmte Sachen echt nicht einfach macht.
Java wird gerne eingesezt zur Implementierung von Programmlogik oder von Komponenten die eben extrem robust sein müssen.
Außerdem ist Java sehr einsteigerfreundlich und eignet sich gut zum erlernen der OO-Konzepte.

P.S. Java ist nicht MEHR langsam ... Dieses alte Gerücht hält sich leider immer noch sehr hartnäckig.

liebe Grüße,
Badger
Badger schrieb P.S. Java ist nicht MEHR langsam ... Dieses alte Gerücht hält sich leider immer noch sehr hartnäckig.
Dieses Gerücht hält sich v.a. deshalb hartnäckig, weil Du es gerade aus einem fast vier Jahre alten Thread hervorgekramt hast - und jetzt verblüffst Du uns mit der Bemerkung: Stimmt nicht MEHR?

Bitte lasst solch alte Diskussionen doch eines natürlichen Todes sterben, und macht bei Bedarf einfach einen neuen Thread auf.
  • [gelöscht]

LooL.. ich dachte die Community gibts erst seit 3 Jahren :lol:
Naja dann haben wir jetzt eine aktualisierte Übersicht ^^
matthias schriebBitte lasst solch alte Diskussionen doch eines natürlichen Todes sterben, und macht bei Bedarf einfach einen neuen Thread auf.
Same procedure as every ... week (zur Zeit :lol: )
ein Monat später
Pierre schrieb (LL2 wurde in Perl5 geschrieben)

(LL3 wurde in PHP4 geschrieben)
Was bedeutet LL hier in diesem Fall?

Googeln hilft nicht.
LL heißt das Forensystem hier. Kommt von laber-land.de. Die aktuelle Version ist eine Neu-Implementierung in PHP5.