Welche Programmiersprache sollte ich als Ingenieur als nächstes lernen?
Ich bin Maschinenbaustudent im Master und finde nach und nach immer mehr Gefallen an Programmierung. Ich habe am Anfang meines Studiums viel mit Java gearbeitet, würde aber nicht behaupten, ich sei sicher damit. Womit ich jedoch im Laufe der letzten 2 Jahre sehr sicher geworden bin ist Matlab-Programmierung. Ich habe mit Matlab bereits an mehreren umfangreichen Simulationsumgebung unter Einbindung von Simulink gearbeitet und Gefallen daran gefunden. Jetzt denke ich darüber nach eine weitere "richtige" Programmiersprache zu lernen, bin mir allerdings nicht sicher, welche für mich als Ingenieur am sinnvollsten wäre. Ich habe über c#, c++, Python oder R nachgedacht. Welche davon macht eurer Meinung nach am meisten Sinn und warum? Oder würdet ihr mir empfehlen erstmal sicher mit Java zu werden? Oder vielleicht etwas ganz anderes? Danke für die Antworten schonmal :)
4 Antworten
Wenn ich mich nicht irre, dann ist R eine Sprache für Statistik. Für Python sind numpy und scipy die wichtigsten Bibliotheken für Wissenschaft.
Ich kann auch Matlab und Octave, oder Maple für Mathematik empfehlen. Fortran ist die traditionelle Programmiersprache für Wissenschaft.
Für allgemeine Zwecken kannst du ja c#, c++, Python und auch Java wählen.
Python ist für schnelle Programmierung, ist aber langsam. C# und Java sind ähnlich, aber Java ist platformunabhängig. C++ ist schneller, aber schwieriger als die andere Sprachen; du kannst aber doch besser erkennen, wie dein Rechner lauft.
Ich würde C++ empfehlen. Das ist eine der meistgenutzen Programmiersprachen. Das meiste wird damit programmiert.
Dazu empfehle ich den Qt Creator. Das ist eine komplette C++ Entwicklungsumgebung bestehend aus Editor, Debugger, Formdesigner und der plattformunabhängigen Qt-Bibliothek. Diese enthält Funktionen wie Zugriff auf die Schnittstellen (z.B. USB, Bluetooth etc), Netzwerkfunktionen, Multimediafunktionen, grafische Oberflächen/Darstellung und vieles mehr. Das gibt es sowohl als kostenlose Open Source Lizenz oder als kostenpflichtige propritäte Lizenz. Der Funktionsumfang ist bei beiden Lizenzen identisch. Damit kann man ohne den Quellcode ändern zu müssen C++ Programme für Windows, Mac und Linux zu entwickeln. Beim Qt-Creator lassen sich auch externe Bibliotheken einbinden um den Funktionsumfang beliebig zu erweitern. Dabei sollte man möglichst plattformunabhängige Bibliotheken verwenden.
Hier die benötigten Downloads:
für Windows:
- MinGW, das sind die GCC Compiler für Windows: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download
- Qt-Creator: https://www.qt.io/download Wähle Open Source. Diese Lizenz ist kostenlos. Nach der Installation vom Qt-Creator muss man die Pfade zu MinGW eintragen.
- Qt Installer Framework: https://download.qt.io/official_releases/qt-installer-framework/3.2.2/QtInstallerFramework-win-x86.exe Damit kann man sein fertig kompiliertes Programm mit allen benötigten Laufzeitbibliotheken in ein Installationspaket (setup.exe) verpacken. Ideal wenn man sein Programm veröffentlichen oder weitergeben möchte.
für Mac:
- Zuerst muss man die GCC Compiler installieren: https://www.codeflow.site/de/article/mac__how-to-install-gcc-compiler-on-mac-os-x
- Qt-Creator: https://www.qt.io/download Wähle Open Source. Diese Lizenz ist kostenlos. Die Pfade muss man nicht eintragen, das geht beim Mac automatisch.
- Qt Installer Framework: https://download.qt.io/official_releases/qt-installer-framework/3.2.2/QtInstallerFramework-mac-x64.dmg Damit kann man sein fertig kompiliertes Programm mit allen benötigten Laufzeitbibliotheken in eine ausführbare .app zusammenfassen und in ein DMG-Paket verpacken. Ideal wenn man sein Programm veröffentlichen oder weitergeben möchte.
Linux-Nutzer installieren die GCC Compiler und den Qt-Creator über die Paketverwaltung der Distribution. Das Qt Installer Framework gibt es nicht für Linux, dort erzeugt man mit den Bordmitteln je nach Distribution deb oder rpm Programmpakete.
Die Zukunft des Programmierens ist die indem man von Anfang an plattformunabhängig programmiert. Das ist in der heutigen Zeit immer wichtiger. Wer plattformunabhängig programmiert hat auch später bessere berufliche Chancen.
C++ ist sicherlich ne gute alternative. Auch wenn ich persönlich nicht so der Fan davon bin, wird es trotzdem sehr oft genutzt. Grund warum gerade C++ ist das es ein Paar meachaniken hat die im vergleich zu den anderen sprachen (zu R kann ich leider nichts sagen) sehr spezifisch sind.
Namendlich sachen wie Pointer und manuelles speichermanagement.
Der umstieg von Java zu C# ist sehr einfach da sich beide sprachen ziemlich ähneln und die unterschiede nicht all zu schwer zu verstehen sind.
Python ist ja meines wissens nach ne scriptsprache und sollte auch nicht allzuschwer zu erlernen sein.
Und über R kann ich nichts sagen.
Ansich ist es allgemein nicht soo schwer ne neue sprache zu erlernen wenn man ersteinmal eine kann und die Konzepte dahinter versteht.
Zumindest was die klassischen Programmiersprachen angeht.
C++ bieten den besten Einstieg meiner Meinung nach. Ich habe bereits in vielen Unternehmen gearbeitet, unter anderem auch in einem Gusswerk, in der die Mehrheit der Computer & Roboterprogramme in C++ geschrieben wurden.