Ich bin völlig neu in der Computerwissenschaft und suche einen guten Ausgangspunkt.
Ich verstehe, dass es keine objektiv beste Sprache gibt, aber ich möchte eine Sprache lernen, die eine unbestreitbar starke und herausragende Präsenz in Bezug auf die Computerwissenschaft hat - eine Sprache, die als außergewöhnlich fähig und effizient gilt.
Zu Beginn neigte ich zur Modellierung in Bezug auf Atombindungen und Wechselwirkungen, wobei grafische Darstellungen / Simulationen erforderlich waren.
Sind einige Sprachen in einigen Bereichen besser als in anderen (dh Physik vs. reine Mathematik)? Oder basiert die Auswahl einer Sprache auf anderen Faktoren?
Ich habe gehört, wie der Name Fortran viel herumgeworfen wurde.
Vorschläge?
Antworten:
Meistens kommt es auf die numerischen Bibliotheken an, die Ihnen zur Verfügung stehen, um Ihre Aufgabe zu erfüllen. In C / C ++ ist eine große Anzahl numerischer Bibliotheken implementiert, aber Low-Level-Sprachen sind nicht die besten, um schnell Prototypen zu erstellen.
Ich denke, um schnell zu einer Lösung zu gelangen, würde ich die Verwendung von Matlab oder Mathematica empfehlen. Sie haben ein großes Toolset und sind sehr hochwertig. Höchstwahrscheinlich wird Ihre Implementierung dort nicht für den Produktionseinsatz skaliert, aber es könnte ein guter Spielplatz sein, um verschiedene Methoden auszuprobieren. Sobald Sie einen Weg kennen, können Sie immer etwas in C / C ++ effizienter implementieren.
quelle
Python!
Dies umschreibt, was meiner Meinung nach der beste Weg ist, um ein Problem im wissenschaftlichen Rechnen anzugehen. Beginnen Sie damit, das Problem in den Griff zu bekommen, indem Sie mit Spielzeugbeispielen in kleinen Skripten herumspielen. Werden Sie systematischer und richten Sie eine Code-Suite ein. Dann lass deinen Code funktionieren !!! Führen Sie schließlich bei Bedarf eine Codeoptimierung durch. Erfinden Sie das Rad nicht neu und optimieren Sie es nicht vorzeitig.
(Zusätzliche Vorteile: Python ist kostenlos - keine Lizenzprobleme, große Community, z. B. Stackoverflow, Module für eine gute Programmierung als Unit-Test oder Protokollierung ...)
quelle
Probieren Sie Python aus, wie beispielsweise im Buch Python Scripting for Computational Science beschrieben .
quelle
Python kann ein guter Ausgangspunkt sein. Die folgende Ressource ist ein guter Ausgangspunkt.
http://www.openbookproject.net/thinkcs/python/english2e/
quelle
Fortran: Matlab-artig, einfach zu erlernen und zu verwenden und schnell produktiv, aber nur gut für numerisches Rechnen
C ++: Schwer zu beherrschen (wird Jahre dauern), aber viel außerhalb des numerischen Rechnens verwendet (Arbeitsplatzsicherheit)
Python: Heutzutage viel empfohlen, aber zu langsam für nicht triviale Arbeit. Sie müssen alle Ihre zugrunde liegenden rechenintensiven Kernel in C schreiben und sie dann von Python aus aufrufen, was bedeutet, dass Sie (mindestens) zwei Sprachen lernen müssen
quelle
Kurze Antwort
Erfahren Sie mehr über die Grundlagen von objektorientiertem Code durch Python und lernen Sie die Grundlagen der Informatik durch C. Wenn Sie mit diesen beiden anderen Sprachen zumindest ziemlich einverstanden sind, lernen Sie C ++, da Sie in C ++ so ziemlich alles können und lassen Sie es schnell laufen (obwohl das Schreiben ewig dauert).
Längere Antwort
Also, hier ist die Sache: Für Ihr erstes Projekt sind Sie in einem Labor, das an einem anderen Code arbeitet. In diesem Fall wählen sie die Programmiersprache. Was ich persönlich irgendwie toll finde!
Ich meine, als Anfänger wirst du deinen Arsch für eine Weile nicht wirklich von deinem Ellbogen kennen, und besonders wenn du nicht weißt, was du tust, kann das Lernen des Programmierens entsetzlich sein. Daher ist es gut, die Struktur und die Grenzen zu haben, die sich aus der Arbeit am Code eines anderen ergeben, und es ist gut, die Motivation und Aufregung zu haben, die nur aus der Arbeit an einem echten Projekt resultieren können.
Unabhängig von der Sprache, die Ihr Labor verwendet (insbesondere wenn es sich um Matlab handelt), sollten Sie wahrscheinlich Python, C und C ++ lernen. Insbesondere wenn Sie nicht aus der Informatik stammen, MÜSSEN Sie Kernighans und Ritchies "The C Programming Language" lesen. Es ist 35 Jahre alt und vermittelt den deutlichen Eindruck, dass seine Autoren auf Lochkarten programmiert haben, aber es ist der seltenste Vogel: ein zeitloses Informatikbuch. Es wird viele Dinge viel klarer machen.
quelle