Ich hatte ein kleines Gespräch zwischen Teamkollegen darüber, wie Sie eine Programmiersprache für die Verwendung in einem Projekt auswählen, was mich zu der Annahme veranlasste, dass es zu Beginn eines Projekts viele Kriterien gibt, aber keine wirklichen Standards.
Wählen Sie eine Programmiersprache für die Syntax und Semantik? Oder wählen Sie eine, weil sie die beste Unterstützung bietet, um bestimmte Dinge zu tun? Oder weil Sie bessere Bibliotheken haben? Oder wählen Sie es für das Paradigma?
Nach welchen Kriterien wählen Sie eine Sprache aus, wenn Sie ein Projekt durchführen möchten?
const Haskell :: [Constraint] -> ProgrammingLanguage
.Antworten:
Meine Kriterien in der Reihenfolge:
Ist es das richtige Werkzeug für den Job? Wenn Sie beispielsweise einen grafischen, vernetzten Desktop-Client erstellen, möchten Sie eine Sprache verwenden, die solche Standardfunktionen wie Java oder C # unterstützt. OTOH, wenn Sie an einem Echtzeitsystem arbeiten, möchten Sie etwas, das Ihnen mehr Vorhersehbarkeit und Kontrolle auf niedriger Ebene bietet (wie C).
Ist es für die Umwelt geeignet? Sind Compiler / Interpreter für die Zielplattform verfügbar?
Ist es etwas, mit dem ich bereits vertraut bin, oder ist es eine Sprache, die ich schnell lernen kann? Da ich zum Beispiel den größten Teil meiner Erfahrung mit C und C ++ habe, kann ich schnell und einfach Sprachen mit ähnlicher Syntax (wieder Java oder C #) lernen. Etwas, das zu einer völlig anderen Familie gehört (wie Haskell), würde mich mehr Zeit nehmen, um mich damit vertraut zu machen.
Ist es etwas, das gut unterstützt wird, mit vielen Referenzen sowohl online als auch auf Papier?
quelle
Ich denke, es würden viele Faktoren eine Rolle spielen
Passt die Sprache gut zu dem Anwendungstyp, den Sie codieren möchten?
Wie gut beherrschen Sie die Programmiersprache? (Wird wichtiger, wenn die Fristen kürzer werden)
Bibliotheks- und Sprachfunktionen für einen bestimmten Bereich in Ihrer Anwendung.
Ist es eine neue Sprache? Wurde es im aktuellen Bereich getestet und bewiesen?
Wie viele Leute codieren tatsächlich darin? Wichtig, wenn Sie Hilfe benötigen und eine aktive und große Community vorhanden ist
quelle
Wichtige Kriterien für mich sind:
Ich würde sagen, Syntax und Paradigma sind nicht so wichtig.
Ich würde keine neue Sprache wählen, weil mir die Syntax oder das Paradigma gefallen, aber ich hatte schlecht funktionierende Tools und eine minimale Bibliothek, die das meiste, was ich brauche, nicht tun konnte.
quelle
Sprachen sind Werkzeuge. Wie bei jedem Tool müssen Sie verschiedene Dinge berücksichtigen:
1) Haben Sie Zugriff auf das Tool?
2) Wissen Sie, wie man das Tool benutzt?
3) Welches der Tools, die die Kriterien 1 und 2 erfüllen, ist das beste für Ihren Job?
Wenn Sie nur ein Werkzeug haben, ist die Antwort einfach. Wenn Sie über ein Dutzend Tools verfügen, müssen Sie sich mit Hosting, Wartungskosten und anderen Problemen mit Peripheriegeräten befassen.
quelle
Dies wird mich wahrscheinlich abstimmen lassen, aber das Wichtigste für mich ist die Syntax. Mit Programmen, die heutzutage viel mehr Zeit und Mühe in die Wartung investieren als beim ursprünglichen Schreiben, können Sie einen unbekannten Code (den eines anderen oder meinen eigenen, wenn ich ihn vor mehr als 6 Monaten oder so geschrieben habe) abrufen und den schnell ermitteln Die Absicht ist statistisch gesehen eine der wichtigsten Fähigkeiten, die ein moderner Programmierer haben kann. Eine saubere, leicht lesbare Sprache hilft dabei ungemein.
Danach in keiner bestimmten Reihenfolge,
quelle
Ich benutze nur die Sprachen, die ich am besten kenne:
Ich versuche nicht, eine neue Sprache zu lernen, wenn ich ein ernstes neues Projekt starte. Ich benutze was ich weiß.
quelle
Die Kosten für die Erstellung einer Anwendung sind nahezu proportional zur Codegröße. Um die Kosten zu minimieren, wähle ich die leistungsstärkste Sprache, die zur Lösung ähnlicher Probleme verwendet wurde. Ich mache mir keine Sorgen um die Anzahl der Programmierer, die die Sprache kennen, da ich nicht sehr viele brauche. Ich versuche auch, eine Lieferantenbindung zu vermeiden, daher bevorzuge ich offene Lösungen.
quelle