Durchblick verschafffen über verschiedene Programmiersprachen und deren Einsatz



  • da stimme ich bashar zu. die sprache nach den problemen zu klassifizieren ist eigentlich nicht so geschickt. ich mein, was hilfts jemanden, der exzellent c++ kann zu wissen, dass in lisp sein problem vielleicht besser zu lösen wäre. der aufwand bis er lisp gelernt hat überwiegt den c++ aufwand. nochdazu glaube ich, dass sich jede information die du bekommst (welche sprache für was) rein subjektiv ist, oder sich halt so herauskristallisiert hat, weils z.b. "damals" noch keine andere sprache gab.
    sowas ist vielleicht für jemand ganz hilfreich, der jetzt _irgendeine programmiersprache lernen will, und eigentlich keine ahnung hat was, sondern nur, was er gerne machen würde. aber daraus gleich einen ganzen artikel zu machen. naja, wenn du willst, aber ich denke mal, dass die überwiegende leserzahl des potentiellen magazins die fortgeschrittenen sind, und die lesen das vermutlich nicht (also ich würds nicht lesen denk ich, und wenn dann nur, um in einigen punkten widersprechen zu können 😉



  • Verschiedene Aufgabengebiete erfordern verschiedene Sprachen mit unterschiedlicher Komplexität. Will man alles aus einer Maschine herausholen, so wird man zu Assembler greifen bzw. die kritischsten Teile eines Programmes in Assembler programmieren.

    Ein anderes Aufgabengebiet ist z. B. die Programmierung von WWW-Applikationen. Dieser Code wird ständig gewartet, weshalb sich in diesem Bereich Skriptsprachen wie Perl, Python, Ruby und PHP durchgesetzt haben, obwohl Perl totaler Mist ist und ziemlich langsam interpretiert, weil die Syntax sehr flexibel ausgelegt wird. Der Vorteil dieser Skriptsprachen ist auch, dass sie Funktionen zur String-Manipulation etc. gleich mitbringen und dass das bei weitem nicht so kompliziert ist wie in C/C++ oder Java. Dass die interpretierten Sprachen langsamer sind, nimmt man in Kauf, da die Entwicklungszeit bei diesen Sprachen gering ist. Zu Perl: Ja, ich verwende ab und an auch Perl. Aber Freude macht es nicht.

    Eine Besonderheit stellt Lisp dar. Mit Lisp kann man schnell programmieren und schnelle Programme schreiben, die mitunter auch so schnell wie C sein können. Lisp kann man kompilieren und interpretieren. Und meines Wissen gibt's für Apache auch ein Lisp-Modul. Viaweb, was Yahoo vor ein paar Jahren teuer übernommen hat, war ursprünglich in Lisp programmiert, von drei Mann innerhalb einer Woche.

    Smalltalk war und ist DIE Sprache in der Objektorientierung. Viele Konzepte wurden in die anderen Sprachen von Smalltalk übernommen. Ich habe mir auch schon sagen lassen, dass die Konzeption von Smalltalk radikal objektorientiert ist. Sowas übt einen unglaublichen Reiz aus, weshalb ich mir diese Sprache auch mal anschauen werden muss. Bei Lisp ist es ja auch die Syntax, die jeden Mathematiker und theoretischen Informatik sehr reizt; die lieben solche sauberen, kompromisslosen und klaren Entwürfe.

    Aber nun hat sich C/C++ durchgesetzt. Ein Grund ist, dass man in C schnelle Programme schreiben kann, auch weil alle wichtigen Betriebssysteme in C geschrieben wurden (Unix, Linux, Windows). Ein anderer Grund ist, dass Programmierer und Ingenieure einfach anders ticken als Mathematiker und theoretische Informatiker. Die wollen nicht elegant sein, sondern pragmatisch. Und mit C/C++ kann man pragmatisch programmieren, da man sehr systemnah (Schlüsselwort register, Inline Assembler) programmieren kann, aber auch die komplexesten Aufgaben lösen. Deshalb hat sich C/C++ durchgesetzt.

    Was neueres ist Java. Der Vorteil von Java ist die Plattformunabhängigkeit. Ich kann mich mit Java zwar nicht so recht anfreunden, weil ich schon von C/C++ versaut wurde. Schade ist, dass manche Hersteller den Vorteil von Java oder anderen plattformunabhängigen Sprachen noch nicht erkannt haben. Es ist schon ärgerlich, dass es keine oder nur wenig Telefonbuch-CDs gibt, die auch auf anderen Plattformen als Windows laufen. Anstatt großspurig anzukündigen, dass man bald auch Linux unterstützt, brauchen die doch nur das Telefonbuchprogramm in Java zu hacken und schwuppidiwupp werden alle Plattformen unterstützt. Gerade solche Anwendungen, die nicht sehr leistungsintensiv sind, kann man doch auf der JVM laufen lassen. Man müsste auch nur einen Quellcode warten anstatt für jedes Betriebssystem einen eigenen. Die Telefonbuchprogramme sind die idealen Java-Applikationen, nur keiner kommt darauf. Gleiches gilt für andere Nachschlagewerke. Zum Beispiel wäre es der Firma, die die Wikipedia-CD im Oktober rausbrachte, anzuraten, sich ein neues Navigationsprogramm zu programmieren und zwar in Java oder Python. Das bisherige Programm war nicht nur ausschließlich unter Windows lauffähig, sondern auch so totaler Mist. (z. B.: Darstellung von DIN-A6-Seiten, die dann auch nur als DIN-A6-Seiten ausgedruckt werden konnten.)



  • Ich finde trotzdem jede Sprache hat eine ( oder mehrere Stärken) und bei so vielen Sprachen ist es doch mal interessant das zu recherchieren.



  • @Korbinian
    Ich hatte nicht vor lediglich auf die Einsatzzwecke einzugehen, sondern auch ein bisschen allgemeineres zu beschreiben, wie z.B. das 5 Generationen-Denken von Programmiersprachen (1. Generation: Assembler usw.), bisschen was historisches und wie von Ruhollah angedeutet ein bisschen auf die (subjektiven) Stärken und Schwächen einer Sprache einzugehen.
    Stimmt schon, dass das vielleicht ein bisschen langweiliger sein wird, für diejenigen unter uns, die schon wahre Halbgötter des Programmierens sind

    😃 , aber ich denke, das wird ganz nützlich für diejenigen sein, die wie ich, sich ein bisschen Überblick verschaffen wollen. Ich finde es ebenfalls gut, wenn man von (bisher unbekannten) Programmiersprachen dann zumindest was mal gehört hat.



  • Wo ist PLM und Forth?

    @NewProggie, wenn es allgemein beschrieben werden soll, dann bietet es sich doch an, die Begründungen und Einsatzdefinitionen der "Erfinder" der jeweiligen "Sprache" hinzuschreiben. Da gibt es wenigsten keinen Widerspruch von Seiten der Anwender.
    Wie die Sprachen dann eingesetzt wurden - darüber würde ich mich nicht auslassen, da gibt's nur Streit.

    Blackbird



  • Blackbird schrieb:

    Wie die Sprachen dann eingesetzt wurden - darüber würde ich mich nicht auslassen, da gibt's nur Streit.

    Um so besser. Ich glaube am meisten hab ich hier aus den größten Streitpunkten gelernt. Wenn etwas so einfach und klar ist, daß man nicht drüber streiten muß, dann krieg ich's auch selber raus. Wenn sich aber die Forum-Größen hier drum kloppen wie's besser ist, dann gibt's ne Menge zu lernen!



  • NewProggie schrieb:

    😃 , aber ich denke, das wird ganz nützlich für diejenigen sein, die wie ich, sich ein bisschen Überblick verschaffen wollen. Ich finde es ebenfalls gut, wenn man von (bisher unbekannten) Programmiersprachen dann zumindest was mal gehört hat.

    Das ganze bringt aber IMHO nur was, wenn es nicht einfach nur bestehende Vorurteile wiederkäut, wie z.B. "Lisp ist eine interpretierte KI-Sprache" oder ähnlicher Quatsch. Verzeih mir, wenn ich dir zu nahe trete, aber ich habe eigentlich genau die Befürchtung, dass dir das passieren wird. Wenn nicht mit Lisp, dann mit irgendeiner anderen Sprache. Oder willst du jetzt erstmal ein paar Jahre recherchieren und dabei jede existierende Sprache auseinandernehmen?



  • schließe mich bashar und blackbird an.

    eine zeitleiste, und aussagen der entwickler wäre ev. ein guter ansatz.

    ein so verfasster artikel könnte hervorragend als basis für jesters idee von "streit über einsatz..." dienen, ohne jedoch (dann) voller ev. zu kurz gefasster oder abgeschriebener "ansichten" eines einzigen autors zu sein, der sich mit den jeweiligen sprachen nicht befasst hat.

    ohne jetzt aber die mühen eines jenigen unter den scheffel stellen zu wollen, der einen artikel verfasst. ich weiß, dass das eine immense arbeit ist.



  • Nur um mal anzudeuten, wie aufwendig es wird "alle" Sprachen zu katalogisieren guck dir mal die allseits beliebte 99 bottles of beer Seite an. Da findest du jedenfalls schonmal ein paar weitere.



  • Ich lach mich schlapp, das ist ja ne witzige Seite.

    Gut gemacht:)

    AM besten gefallen mir die verschiendene Programmierstile <hacking-style, meta-style....>

    Ist eigentlich für jeden Programmierneuling gut


Anmelden zum Antworten