Welche Programmiersprache für welches Problem???
compu
- programmiertechnik
Hi Leute,
ich habe folgende Frage bei der erfahrene Programmierer wahrscheinlich nun die Hände über dem Kopf zusammenschlagen uns sagen: " Mensch hat der Typ überhaupt keine AHnung", aber egal.
Also, es gibt ja heutzutage unzählige Programmiersprachen.
Wie in einigen Postings weiter unten erwähnt ist jede Programmiersprache in irgendetwas besser als eine andere.
Nun, selbst wenn ich einige Zeit in einer Programmiersprache programmiert habe und diese ziehmlich fließend behersche kann ich doch wohl annehmen, dass ich für ein bestimmtes Problem besser eine andere wähle,oder!?
Wie finde ich heraus welches die beste Programmiersprache für ein bestimmtes Problem ist und ich nicht jede erlenen möchte, um dieses herauszufinden oder immer in diesem Forum fragen. :-)
Es muss doch irgendeine Organisation geben, die sämtliche Sprachen kennt und Auskunft geben könnte. Ich meine jetzt nicht irgendeine private Homepage.
Blödes Beispiel. Um zu wissen, wie man Dokumente für die Wirtschaft verfasst gibt es z.B die DIN (Deutsche Industrie Norm), wo man nachgucken kann. Gibt es Ähnliches auch für Programmiersprachen.
Ich meine alleine für das Web, gibt es Perl,PHP,ASP,JAVA,etc.
Wenn jetzt ein Laie etwas bestimmtes für das Internet programmieren will, woher weiß er dann welche von diesen Sprachen er nimmt.
Giibt es irgendwo im Intetnet eine Gegenüberstellung von Programmiersprachen?
Danke
hi compu,
ich habe folgende Frage bei der erfahrene Programmierer wahrscheinlich nun die Hände über dem Kopf zusammenschlagen uns sagen: " Mensch hat der Typ überhaupt keine AHnung"
Nö. er Ausspruch wird vielmehr sein: "Hat der Mensch aber Probleme!"
Also, es gibt ja heutzutage unzählige Programmiersprachen.
Naja, zählbar sollten sie noch sein. Wenn du allerdings einrechnest, daß du dir eine SGML-Sprache jederzeit selbst bauen kannst und einrechnest, daß das ein paar tausend Leute bereits getan haben könnten, wirds ne recht große Zahl.
Nun, selbst wenn ich einige Zeit in einer Programmiersprache programmiert habe und diese ziehmlich fließend behersche kann ich doch wohl annehmen, dass ich für ein bestimmtes Problem besser eine andere wähle,oder!?
Klint logisch. Aber das hängt natürlicxh vom Problem ab.
Wie finde ich heraus welches die beste Programmiersprache für ein bestimmtes Problem ist
Eigentlich nur durch Ausprobieren.
Es muss doch irgendeine Organisation geben, die sämtliche Sprachen kennt und Auskunft geben könnte.
Ist mir nicht bekannt und wahrscheinlich in der Komplexität, die du ansprichst, gar nicht existent.
Ich meine jetzt nicht irgendeine private Homepage.
Oh, warum denn nicht? Es gibt zahlreiche "private Homepages", die genau solche "Lücken" in den offiziellen Seiten der "Großen" zu schließen versuchen, teilweise mit betreächtlichem Aufwand und hoher Zuverlässigkeit.
Blödes Beispiel. Um zu wissen, wie man Dokumente für die Wirtschaft verfasst gibt es z.B die DIN (Deutsche Industrie Norm)
Hm, wirklich blödes Beispiel, weil da so ziemlich nix zu Programmiersprachen genormt werden kann, der Kompetenzbereich liegt woanders.
Ich meine alleine für das Web, gibt es Perl,PHP,ASP,JAVA,etc.
Och, und noch ein paar Dutzend mehr.
Wenn jetzt ein Laie etwas bestimmtes für das Internet programmieren will, woher weiß er dann welche von diesen Sprachen er nimmt.
Wie gesagt: Ausprobieren. Und bei Erfolg: Pause machen und mit der Freundin in die laue Sommernacht hinausspazieren und ...
Grüße aus Berlin
Christoph S.
Moin!
Nun, selbst wenn ich einige Zeit in einer Programmiersprache programmiert habe und diese ziehmlich fließend behersche kann ich doch wohl annehmen, dass ich für ein bestimmtes Problem besser eine andere wähle,oder!?
Warum?
Wie finde ich heraus welches die beste Programmiersprache für ein bestimmtes Problem ist und ich nicht jede erlenen möchte, um dieses herauszufinden oder immer in diesem Forum fragen. :-)
Es gibt eigentlich nur zwei Arten von Kriterien, die hier eine Wahl ermöglichen: Harte Kriterien und weiche Kriterien.
Die harten Kriterien sind die Fakten. Wenn du mit clientseitigem Javascript allein ein CMS programmieren willst, wirst du schnell feststellen, dass es nichts wird, weil die Daten nicht haltbar gespeichert werden können.
Es gibt also gewisse Unmöglichkeiten bei einigen Programmiersprachen, die einen Einsatz von vorneherein verbieten.
Ansonsten aber kann man mit jeder Programmiersprache _alles_ programmieren, was man mit einer anderen Programmiersprache auch programmieren könnte. Der gute Herr Turing hat mal einen Automaten entworfen, mit dem man alle Programmierprobleme vollständig bearbeiten kann. Der Automat hatte nur einen ganz minimalen Befehlssatz. Irgendwie hat er wohl bewiesen, dass man damit alles programmieren kann. Und wenn man eine andere Programmiersprache hat, und mit der diesen Automaten simulieren kann, kann man mit dieser Programmiersprache auch alles programmieren.
Die Frage dabei ist nur, welche Sprache für ein Problem vielleicht am geeignetsten ist. Das sind die weichen Kriterien, für die es nach meiner Definition keine absoluten, sondern nur relative Hindernisse bzw. Entscheidungsgrundlagen gibt.
Ein Grund für dich, eine bestimmte Sprache einzusetzen, ist beispielsweise, dass du sie gut kennst. Würdest du eine andere Sprache einsetzen müssen, die du nicht kennst, wäre das Programmierergebnis vielleicht nicht so optimal.
Ein weiterer Grund, eine Programmiersprache einzusetzen wäre, wenn eine Sprache eine typische Aufgabe, die bei der Programmierung der gestellten Aufgabe sehr häufig anfällt, besonders einfach erledigen kann. PERL zum Beispiel ist mal als eine Sprache entstanden, die typischerweise Textdateien nach Textmustern durchsuchen und darüber einen Report anfertigen kann. Dementsprechend sind die Details der Perl-Programmierung immer noch darauf ausgelegt, Textdateien einzulesen und nach Mustern zu durchsuchen - das geht halt einfach irgendwie nett und schnell damit - vor allem in relativ wenig Codezeilen.
Nur bringt dir dieser Vorteil nichts, wenn du nur PHP programmieren kannst. Bis du Perl gelernt und die Feinheiten, bei denen Perl seine Vorteile mit Textdateien ausspielt, erkundet hast, hättest du vermutlich eine genauso gut funktionierende, nur wenige Zeilen längere Version in PHP programmiert.
Noch ein anderes Beispiel: Es gibt Programmiersprachen, deren innere Datenstrukturen sich möglicherweise gut für die Lösung eines Problems eignen. So bieten es sich beispielsweise an, eine Sprache mit einem Datentyp "Money" zu verwenden, welche ohne binäre Rundungsfehler (die bekanntermaßen immer da auftreten, wo man sie als dezimal rechnender Mensch nicht erwartet) rechnen kann, zu verwenden, wenn man eine finanzmathematische Applikation programmieren soll. Beispielsweise eine Software für eine Bank. Bei Banken ist es nämlich eine Katastrophe, wenn auf Kundenkonten ein Cent abhandenkommt.
Es muss doch irgendeine Organisation geben, die sämtliche Sprachen kennt und Auskunft geben könnte. Ich meine jetzt nicht irgendeine private Homepage.
Viele Sprachen sind tatsächlich standardisiert. Allerdings besagt das nicht sonderlich viel. Fortran ist beispielsweise ein ISO-Standard. Javascript ist ein ECMA-Standard. Zu Fortran kann ich nichts sagen, aber bei Javascript ist lediglich die Sprache selbst standardisiert worden, aber beispielsweise _nicht_ das Document Object Model, was den unerfahrenen Programmierern soviele Probleme mit alten IEs und Netscapes macht.
Auf einen Standard kann man sich also nicht verlassen. PHP ist vermutlich gar nicht standardisiert. Sowas kostet mit Sicherheit eine Menge Geld, und es lohnt sich eigentlich auch nur, wenn man verschiedene Hersteller hat, die Compiler, Interpreter o.ä. für diese Sprache herstellen wollen. Bei PHP ist der eine Interpreter in zentraler Hand und wird weiterentwickelt - Inkompatibilitäten aufgrund unterschiedlicher Hersteller treten da nicht auf. Die treten, wenn, dann deshalb auf, weil sich in den einzelnen Versionen was an den zur Verfügung stehenden Funktionen geändert hat. :)
Ein weiteres weiches Kriterium wäre, ob deine Lösung eine gewisse Performance bieten soll. Wenn du viele User und viele Zugriffe auf einem eher langsamen Server hast, dürfte eine Skriptsprache vielleicht nicht ganz so geeignet sein, eine compilierbare Sprache hingegen arbeitet wahrscheinlich wesentlich schneller.
Wenn du aber den Server aufrüsten kannst, dass er die Aufgaben dennoch bewältigen kann, und dafür den enormen Vorteil gewinnst, anscheinend simple Aufgaben tatsächlich mit nur wenigen Zeilen Code einer Skriptsprache zu programmieren, wozu du das zwanzigfache in der Compilersprache benötigt hättest, dann ist das ein guter Grund für die Skriptsprache.
Wenn du also eine Sprache zur Programmierung eines Projekts auswählen willst, kommen da so viele mögliche Auswahlkriterien in Betracht - die kann man gar nicht irgendwie standardisieren und zusammenfassen in eine "Wenn Problem X, dann Sprache Y"-Anleitung.
- Sven Rautenberg