Lassen Sie mich zunächst einige Hintergrundinformationen geben, bevor ich die Frage tatsächlich stelle. Ich studiere Physik und alle meine Programmierkurse waren in einfachen Programmiersprachen wie MATLAB. Mit einfach meine ich, dass die Sprache einen Großteil des Denkens für Sie erledigt ... In den nächsten Jahren werde ich Informatikkurse belegen und ich denke darüber nach, eine Karriere in der Programmierung zu verfolgen.
Wenn man bedenkt, dass viele College-Kurse in C ++ abgehalten werden, wird die Verwendung eines linearen Algebra-Pakets (Armadillo) mit einer ähnlichen Syntax wie MATLAB als faul angesehen?
Ich codiere gerade einen genetischen Algorithmus, und während er in MATLAB schnell lief, nimmt er in C ++ ohne die Hilfe dieser Pakete viel Zeit in Anspruch.
Wie funktioniert es im wirklichen Leben? Welche Pakete dürfen Sie verwenden?
Zum Beispiel möchte ich mein C ++ - Wissen nicht mit Gürteltier aufbauen und habe keine umfassenden Kenntnisse über andere weiter verbreitete Pakete wie "vector.h", "algorithm", "list" usw.
quelle
lazy
zusensible
in Ihrem Titel, und die Antwort ist „Ja“ (vorausgesetzt , Sie tun , eine Aufgabe , die lineare Algebra beinhaltet, natürlich).Antworten:
Richards Kommentar ist die meiste Antwort bereits. Wann immer Sie für etwas anderes als eine Klassenübung programmieren, möchten Sie so viel vorhandenen Code wie möglich wiederverwenden, wobei nur ein paar andere Überlegungen zu berücksichtigen sind.
Die Vorteile der Wiederverwendung von Code sind:
Es gibt nur einige Dinge zu beachten:
Wie das Sprichwort sagt, ist Faulheit in einem Programmierer eine Tugend.
quelle
Was meinst du jemals mit "erlaubt"? Ich denke, ich könnte hier etwas hinzufügen, das helfen könnte, ein Missverständnis einiger Anfänger zu klären: Sie werden gebeten, Ihren eigenen Code und Algorithmen usw. usw. an der Universität zu schreiben, weil Sie einen Kurs lernen und was konsolidieren möchten Sie haben in den Klassen gelernt, indem Sie den Code selbst geschrieben haben. Eine solche Codierung unterstützt Ihren Lernprozess . Nachdem Sie beispielsweise eine bestimmte Datenstruktur / einen bestimmten Algorithmus gelernt haben, schreiben Sie Ihren eigenen Code, um zu sehen, wie er tatsächlich funktioniert, und um Ihr Verständnis zu vertiefen. Das macht Sinn.
Wenn Sie ein reales Programmierprojekt durchführen, schreiben Sie keinen Code, um einige Konzepte / Kenntnisse zu erlernen. Sie versuchen, ein technisches Produkt herzustellen. Beim Engineering geht es nicht wirklich um Erfindungen, sondern darum, auf den bereits von anderen gelegten Grundlagen aufzubauen, um einem bestimmten praktischen Bedarf gerecht zu werden. Es gibt ein Sprichwort, dass beim Programmieren zu 80% die Bibliotheken / Codes anderer gelesen / wiederverwendet werden und zu 20% eigene geschrieben werden. Könnte etwas übertrieben sein, aber Sie bekommen den Geist.
In Ihrem Fall möchten Sie keine externen Bibliotheken verwenden, wenn Sie ein Programmierprojekt für einen Kurs durchführen und Sie ausdrücklich aufgefordert werden, Ihren eigenen Algorithmus zu codieren. Wenn Sie Ihr eigenes Engineering-Projekt durchführen, verwenden Sie so viele Bibliotheken wie möglich, bevor Sie versuchen, Ihre eigenen zu erstellen.
Wenn Sie diese Unterscheidung klarstellen, werden Sie verstehen, was Sie tun.
quelle