Welche Programmiersprache als Elektroingenieur



  • Hallo, ich hab mich jetzt doch entschlossen einen Programmierkurs zu machen und nicht eigenständig mit einem Buch das Programmieren zu lernen. Wie schon erwähnt bin ich Elektroingenieur.
    Hat vielleicht jemand Ahnung mit welcher Sprache (C++, C#, Java) man als Elektroingenieur am besten etwas erreichen kann bzw. welche Sprache am meisten verwendet wird.



  • Wie viel Ahnung hast du denn vom Programmieren?



  • Das kommt natürlich darauf an, was du genau vorhast. Ich gehe mal davon aus, dass du irgend was mit µC machen willst. Dann ist C oder C++ die erste Wahl. Was auch noch gerne benutzt wird im Elektrotechnik-Bereich ist Matlab/Simulink, um Signal- und Automatisierungszeugs zu entwerfen. Ich bin aber kein großer Fan von Matlab und es hat halt außerhalb der Numerik und Simulation wenig Anwendungsmöglicheiten. Einige Leute nutzen sogar LabView (ist aber keine Programmiersprache im traditionellen Sinn, sondern ein grafisches System. Simulink ist ähnlich.). Besonders um Laborgeräte anzusteuern. Aber LabView ist imho furchtbar. Wenn du Device-/Feld-Simulationen basteln willst, dann lern C++ (oder Fortran, wenn du dir das wirklich antun willst).

    C# ist eher für Windows-GUI-Anwendungen und Java eher für "Enterprise-Business-blablub". Also beides weniger interessant für ETechniker. (und beides könntest du auch mit C++ abdecken).



  • mngbd schrieb:

    Wie viel Ahnung hast du denn vom Programmieren?

    Nicht so viel. Hab mich schon ein wenig mit C++ beschäftigt. Das mit den Variablen, Schleifen und Funktionen hab ich gut verstanden, also die Grundlagen. Viel weiter bin ich noch nicht. Was es mit zeigern auf sich hat und wie Klassen aufgebaut sind hab ich auch noch verstanden, aber wie man diese verwendet bin ich ziemlich ahnungslos.



  • Wie die anderen bereits sagten, kommt es halt drauf an was du genau vor hast.

    Wenn du im Bereich µC was machen willst, dann C oder gar C++.

    Neuere µC kann man zwar auch mit Java programmieren, aber das muss nicht sein. 😃



  • Cybertec schrieb:

    Wie die anderen bereits sagten, kommt es halt drauf an was du genau vor hast.

    Wenn du im Bereich µC was machen willst, dann C oder gar C++.

    Neuere µC kann man zwar auch mit Java programmieren, aber das muss nicht sein. 😃

    Also µC hab ich nicht vor. In meinem bisherigen Berufleben hab ich aber mitbekommen das einige Anlagen in Hochsprachen kombiniert mit einer SPS automatisiert worden sind. Das Anzeigen von irgendwelchen Messwerten z.B. Drücken, Temperaturen usw. werden über eine Hochsprache ausgegeben.



  • Für μC-Programmierung sollte man auch die jeweilige Assemblersprache können. Die Herangehensweise eines typischen E-Technikers an solche Probleme ist ja eigentlich, das in erster Linie als digitale Schaltung zu begreifen, bei der man die einzelnen Signale auf dem Oszilloskop nachverfolgen will. Also will man natürlich auch exakt wissen, was der Controller wann macht, und das geht halt nur mit Assembler.

    edit: Achso, kein μC. Dann vergiss das 🙂

    edit2: Vielleicht sollte man mal fragen, was du eigentlich vorhast? Du hast deine Frage nur mit "für Elektroingenieur" qualifiziert. Ich bin auch so einer, und am meisten hat mir bisher Common Lisp gebracht, aber das heißt nicht, dass das für dich auch gilt 😉



  • Bashar schrieb:

    Für μC-Programmierung sollte man auch die jeweilige Assemblersprache können. Die Herangehensweise eines typischen E-Technikers an solche Probleme ist ja eigentlich, das in erster Linie als digitale Schaltung zu begreifen, bei der man die einzelnen Signale auf dem Oszilloskop nachverfolgen will. Also will man natürlich auch exakt wissen, was der Controller wann macht, und das geht halt nur mit Assembler.

    edit: Achso, kein μC. Dann vergiss das 🙂

    edit2: Vielleicht sollte man mal fragen, was du eigentlich vorhast? Du hast deine Frage nur mit "für Elektroingenieur" qualifiziert. Ich bin auch so einer, und am meisten hat mir bisher Common Lisp gebracht, aber das heißt nicht, dass das für dich auch gilt 😉

    Was ich machen will hab ich ja oben eigentlich schon geschrieben. Ich weiss ja auch nur das manche Anlagen über eine Hochsprache automatisiert werden. das Messungen z.B. in Visual C++,C# ausgewertet und weiter berarbeitet werden. Wie das genau geschieht weiss ich ja auch nicht. Deswegen will ich es ja auch lernen. Ich hab dies in meinem Praxissemester mitbekommen. Oder das in Laboren mittels einer Hochsprache gewisse Diagnosen durchgeführt werden. Also Dinge wie man sie Mit Matlab oder LabView auch macht.



  • Dann sag ich jetzt einfach mal: nimm C++, dann bist du für fast alles abgedeckt, und kannst leichter in eine andere Sprache springen, wie z.B. C#.



  • Als Elektroingenieur wirst du vielleicht viel mit Mikrocontrollern und FPGAs arbeiten.

    Für Mikrocontroller lernst du am Besten die jeweilige Assemblersprache, so lernst du das Gerät am besten kennen. Ein C-Compiler ist auch für praktisch jede Prozessorarchitektur verfügbar und C wird sehr häufig in dem Bereich eingesetzt.

    Wenn du VHDL als Hardwarebeschreibungssprache kennst, bietet sich auch Ada an. Ada wird hauptsächlich in sicherheitskritischen Systemen eingesetzt. Die Sprache ist wirklich sehr angenehm, die Verfügbarkeit von (bezahlbaren) Compilern ist aber nicht so gut wie bei C.

    Matlab ist für die Simulation gängig, allerdings teuer. Eine Alternative ist Gnu Octave.

    Wann hast du denn studiert? Müssten solche Dinge nicht auch schon lange Inhalt eines Elektrotechnik-Studiums sein?



  • Ich würde sagen als Eloing begegnet einem im Alltag C++, C#, C, Visual Basic in der allseits beliebten Version 6 und als VBScript, SPS-Programmierung, vereinzelt Assembler, sowie Matlab und Labview. Auch wird SQL immer wichtiger wegen des Aspekts der Datenarchivierung.

    Du solltest meines Erachtens in einer strukturierten Programmiersprache und in einer objektorientierten Sprache programmieren können. Ein Umstieg auf die anderen Gebiete fällt dann eher leicht.

    Es würde sich daher anbieten, sowohl Programme in C als auch C++ erstellen zu können, wobei meines Erachtens auch C und C# akzeptabel wären.



  • Elek schrieb:

    Als Elektroingenieur wirst du vielleicht viel mit Mikrocontrollern und FPGAs arbeiten.

    Für Mikrocontroller lernst du am Besten die jeweilige Assemblersprache, so lernst du das Gerät am besten kennen. Ein C-Compiler ist auch für praktisch jede Prozessorarchitektur verfügbar und C wird sehr häufig in dem Bereich eingesetzt.

    Wenn du VHDL als Hardwarebeschreibungssprache kennst, bietet sich auch Ada an. Ada wird hauptsächlich in sicherheitskritischen Systemen eingesetzt. Die Sprache ist wirklich sehr angenehm, die Verfügbarkeit von (bezahlbaren) Compilern ist aber nicht so gut wie bei C.

    Matlab ist für die Simulation gängig, allerdings teuer. Eine Alternative ist Gnu Octave.

    Wann hast du denn studiert? Müssten solche Dinge nicht auch schon lange Inhalt eines Elektrotechnik-Studiums sein?

    Ich hatte bis vor drei Jahren studiert und ich bin ehrlich, dabei hatte ich auch C++. Klausuren hatte ich nur bis zum Thema Funktionen. Ab dann hab ich auch nicht mehr weiter gemacht, weil ich damals blödsinniger Weise riesige Angst vorm Programmieren hatte. Warum auch immer. Jetzt wo ich mich wieder mit C++ beschäftige hab ich mich schon öfters gefragt warum ich damals solchen Respekt davor hatte. Weil so schwierig ist es gar nicht wenn man Interesse hat und es macht auch noch Spaß. Im Studium ging dies bis zur Oberflächenprogrammierung.



  • Elektroingenieur -> C oder C++

    Zumindest ist es hier bei uns Pflicht, wenn du es studieren willst.

    MfG



  • Matzi schrieb:

    Weil so schwierig ist es gar nicht wenn man Interesse hat und es macht auch noch Spaß. Im Studium ging dies bis zur Oberflächenprogrammierung.

    Was du programmierst, ist eigentlich gar nicht so wichtig, solange du nur möglich viel programmierst. Das ist ein bisschen wie das Lernen einer neuen Fremdsprache: am Anfang sieht man nichts als Stolpersteine, aber mit ein bisschen Übung geht's dann ganz leicht. Und auch für Programmiersprachen gilt, dass sie die Art und Weise verändern, wie man denkt.



  • rüdiger schrieb:

    Was auch noch gerne benutzt wird im Elektrotechnik-Bereich ist Matlab/Simulink, um Signal- und Automatisierungszeugs zu entwerfen. Ich bin aber kein großer Fan von Matlab und es hat halt außerhalb der Numerik und Simulation wenig Anwendungsmöglicheiten.

    Naja, schau mal, wie häufig zB. Automotive-Steuergeräte programmiert werden. Embedded Matlab/Simulink/Stateflow, erste Tests in der Simulation, dann das gleiche Modell in Hardware-in-the-Loop-Tests und dann Codegenerierung nach C, ST oder VHDL.

    Funktioniert auch und ich kenne keine freien Tools, die das auch nur annhähernd so gut machen. Für daheim würd ich das jetzt aber nicht empfehlen, besonders weil man sich für das Geld auch einen ordentlichen Mittelklassewagen kaufen kann.



  • Matzi schrieb:

    Hallo, ich hab mich jetzt doch entschlossen einen Programmierkurs zu machen und nicht eigenständig mit einem Buch das Programmieren zu lernen. Wie schon erwähnt bin ich Elektroingenieur.
    Hat vielleicht jemand Ahnung mit welcher Sprache (C++, C#, Java) man als Elektroingenieur am besten etwas erreichen kann bzw. welche Sprache am meisten verwendet wird.

    Wegen der Progammierung von Mikrocontrollern, was ja sicher zu deinem Bereich gehört, ganz klar reines C.

    Also kein C++, kein C# und auch kein Java, sondern echtes C.
    Und im Fall C kann es dann nochmals empfehlenswert sein, sich an den C90 Standard zu halten, denn ob jeder Compiler für Mikroprozessoren schon C99 kann, würde ich bezweifeln.



  • C90 schrieb:

    Wegen der Progammierung von Mikrocontrollern, was ja sicher zu deinem Bereich gehört, ganz klar reines C.

    Das reicht auf keinen Fall aus. Mikrocontroller sind nur eine kleine Sparte in der Etechnik, noch dazu ziemlich spezialisiert. Die meisten programmierenden Etechniker befassen sich mit Automatisierungstechnik, und dort gibt's SPS, die PLS-Tools, und Hochsprachen.

    Eine OO-Hochsprache muß auf jeden Fall ins Gepäck. Ich würde keinen Etechniker einstellen, der nur C kann. Das ist ja tiefste 90er...



  • Alles ausser Java xD

    Ich würde sagen c/c++ kenne einen EI, der hat glaub ich auch c/c++ programmiert.

    Gruss Java1234



  • Matzi schrieb:

    Hallo, ich hab mich jetzt doch entschlossen einen Programmierkurs zu machen und nicht eigenständig mit einem Buch das Programmieren zu lernen. Wie schon erwähnt bin ich Elektroingenieur.
    Hat vielleicht jemand Ahnung mit welcher Sprache (C++, C#, Java) man als Elektroingenieur am besten etwas erreichen kann bzw. welche Sprache am meisten verwendet wird.

    Wenn Du echtes Elektroingenieurenblut in Dir hast, gilt für Dich "Was man nicht in Assembler machen kann, muß man löten.". Allerdings gibt es neuerdings einen supi Makroassembler namens C. Suviele normale Dinge gehen in C gut und man erstellt mithilfe des optimierenden C-Compilers besseren Code als per Hand, weil der wirklich gut gleichwirkende Befehlsfolgen umherwirben kann und die Reihenfolge nehmen kann, die im Prozessor am besten parallelisiert/gepipelined/vorhergesagt und so werden kann. Bei ein paar Ausnahmen geht man halt auf asm zurück.
    Je nachdem, wie groß die Programme sind, kann es sogar günstig sein, nach C++ aufzusteigen. C++ ist ein supi precompiler für C.

    Aber in C++ gibt es keine einheitliche Bibliothek für Grafik, Sound und so...
    Willst Du schnell Endbenutzerprogramme bauen, sind C#, VB.net, Java, PHP die vielleicht erste Wahl.

    Am Ende wird eh alles zusammenwachsen, Du wirst rudimentäre Kenntnisse in C, C++, C#, Java, PHP, Perl, Lisp, Haskell, Pascal, Delphi und vielen andern erlangen und Dich in wenige davon spezialisieren. Je schlauer Du bist, desto egaler ist die Reihenfolge.



  • Wahrscheinlich Matlab/Simulink mit C++. VHDL als Hardwarebeschreibungssprache ist unverzichtbar.

    Mir hat bis jetzt C# am meisten geholfen,
    ist aber glaub ich auch eher die Ausnahme.



  • student1234 schrieb:

    Wahrscheinlich Matlab/Simulink mit C++. VHDL als Hardwarebeschreibungssprache ist unverzichtbar.
    Mir hat bis jetzt C# am meisten geholfen,
    ist aber glaub ich auch eher die Ausnahme.

    Wenn ich jetzt Dein Arbeitgeber wäre und wir entschieden hätten, ein neues Projekt in einer (nicht esoterischen)(!) Sprache zu machen, die Du bisher noch nie verwendet hast...
    Jetzt ist mittwoch abend. Ich Gebe Dir 100€ Amazon-Gutschein für Bücherkauf für die neue Sprache. Bist Du am Montag fit, produktiv zu sein? Also in der neuen Sprache nicht mehr zu kosten als zu bringen?


Anmelden zum Antworten