mikrocontroller.net

Forum: Ausbildung, Studium & Beruf C++ Java oder andere Sprachen für Elektrotechnik Studium


Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

In den nächsten Monaten beginnt mein Studium im Bereich Elektro und 
Informationstechnik und da ich aktuell viel Zeit habe, habe ich überlegt 
noch eine weitere Programmiersprache zu lernen.
Aktuell kennen ich mich ganz gut mit Python aus.
Was ist nun besser für mein Studium? Java, C++ oder doch was völlig 
änderes?

Freundliche Grüß
Tobias

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennst du dich auch mit Objektorientierung an sich aus?

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sowas wie Java oder C++ lernt man nicht in zwei oder drei 
Monaten...obwohl es natürlich nicht verkehrt und durchaus löblich ist, 
sich aus eigener Initiative damit zu befassen.

Autor: Tobias (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Ich will es ja auch nicht komplett lernen. Ich will halt soweit sein das 
ich bereits damit was anfangen kann und es dann nicht noch mittem im 
Studium lernen will. Objekorientierung kenn ich mich ein wenig aus aber 
bin darin jetzt auch kein Experte

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mir auch sehr wichtig ist das man es Praxis bezogen üben kann. Z.b 
Minecraft Mods in java oder ein kleines Projekt mit Unreal Engine in C++ 
etc

Autor: Auf der Metaebene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Strebst du ein Studium an einer wissenschaftlichen Universität oder 
einer weniger wissenschaftlichen Fachhochschule an?
In ersterem Fall würde ich tatsächlich Zeit in Programmiervorkurse 
investieren. In letzterem ist der Programmierkurs dann die Vorlesung 
"Informatik".

Autor: B'ler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir ein paar Stellenausschreibung an, welche dich interessieren 
würden. So kannst du auch rechtzeitig Zusatzqualifikationen erwerben, 
die wirklich gesucht werden.

Für Automotive / Embedded ist die Antwort ganz klar C++

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich werde eine Technische Universität besuchen. Später möchte ich 
gerne in die Richtung Forschung gehen, weswegen ich wahrscheinlich als 
Hauptfach später Nanotechnik wählen werden.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei ich natürlich auch in Richtung Deep learning liebäugele

Autor: Auf der Metaebene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BTW: Jetzt fällt ihnen plötzlich auf, dass C nicht mehr reicht und die 
Realität wieder mal schneller war als die strategische Planung. Aber sei 
schlau und stell dich dumm: Ab jetzt gibt es dann ganz ganz viele C++ 
und Java Threads. Das aktuelle Bildungssystem ist bei weitem zu starr 
und unflexibel um mit dem tatsächlichen Bedürfnissen des Arbeitsmarktes 
auch nur ansatzweise Schritt zu halten. Da muss eine grundlegende 
Strukturreform her. Wozu braucht man diese aufgeblähten 
Bürokratiemonster noch?

Beitrag #5109171 wurde von einem Moderator gelöscht.
Autor: Finger Hakler (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Tobias schrieb:

> Aktuell kennen ich mich ganz gut mit Python aus.
> Was ist nun besser für mein Studium? Java, C++ oder doch was völlig

Lerne Assembler für einen 8bit uC, dann C für ARM, dann C++ für GUI/Web. 
Damit verstehst Du Hard- und Software.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf der Metaebene schrieb im Beitrag #5109171:
> Tobias schrieb:
>> Wobei ich natürlich auch in Richtung Deep learning liebäugele
>
> Genau. Darum studierst du EIT. Netter Versuch, subtiler als die alte
> Kampagne.

Ok ich verstehe nicht ganz wie das gemeint ist "subtiler als die alte 
Kampagne"
Meine Leidenschaft ist die Elektrotechnik. Aber ich interessiere mich 
auf für Informatik.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier sind zwei Threads, die in eine ähnliche Richtung gehen und
möglichweise ebenfalls Antworten liefern:

  Beitrag "Programmiersprachen im Beruf (Elektrotechnik)"
  Beitrag "Programmiersprachen im Beruf (Elektrotechnik)"

Autor: Wühlhase (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Das mit dem Assembler lernen ist gar nicht mal so doof.

Im Beruf wirst du es selten bis gar nicht brauchen, diese Sprache kommt 
in der Regel allenfalls noch auf Treiberebene in Gebrauch. Bei 
Mikrocontrollern nur in Spezialfällen.

Allerdings formt es enorm das Verständnis für die Arbeitsweise eines 
Mikroprozessors, besser als jede theoretische Vorlesung. Und wenn ich 
daran denke wieviele meiner Kommilitonen echte Probleme in C hatten weil 
sie Pointer nicht verstanden haben...wenn es dir um das Verständnis 
geht, wäre das wirklich eine Überlegung wert.

Sowas wird auch bei vielen Arbeitgebern gerne gesehen. Und es gibt hier 
ein prima Tutorial dazu.

Autor: Mittwochsaccount (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lern C. Wer das als C++ Enwickler nicht kann hat immer massive Probleme. 
Wer kein C kann und C++ auf MCs entwickelt sollte berufsverbot bekommen.
Auch wenn dir die C++-Jockel 100 mal erzählen wollen dass C++ viel 
moderner,eleganter und alles besser macht als C, das ist alles unwichtig 
weil in der Praxis wirst du immer auch Mischmasch aus C UND C++ 
stolpern, die heile Welt wie sie C++-Fanbois immer erträumen wo nur 
klinisch reiner C++ Code geschrieben wird ist eine Illusion. Schreib 
alle privaten Programme in C auch wenns in Scriptsprachen 100 mal 
schneller geht, nur so lernst du das und kannst es danach im Schlaf. 
Nein du bist danach nicht für C++ versaut, werden dir die C++ Fanbois 
sagen, ich sage du bist danach praxistauglich und hast nen Vorteil weil 
du C im Schlaf kannst.

Schau dir auch gleich mal make an wie man makefiles schreibt, nimm 
irgendein Tut ausm Netz ist nicht so komplex aber ein MUSS wenn man mit 
C u. C++ hantieren will. Da werden dir auch wieder welche was anderes 
einreden wollen dass man heute keine make files mehr braucht und es viel 
besseres gibt. In der Praxis sieht es aber wieder anders aus als in den 
Wunschvorstellugen von Träumern.

Autor: Makefilehaxxor1337 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mittwochsaccount schrieb:
> . Da werden dir auch wieder welche was anderes einreden wollen dass man
> heute keine make files mehr braucht und es viel besseres gibt.

Leider muss man tatsächlich manchmal noch mit puren Makefiles hantieren, 
nicht mal mit etwas wie Autoconf als Abstraktion dazwischen. 
Wettbewerbsfähig ist das nicht.
Das ist ungefähr so, als würde man EE-Applikationen in Assembler 
schreiben.

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Dem Hinweis, Assember zu lernen, kann ich nicht zustimmen. Lieber diese 
Zeit in die Sprache C investieren. Obwohl ich in der Vergangenheit 
Assembler verschiedener MCUs lernen musste (in der Frühzeit waren 
C-Compiler für Nichtverdiender schlichtweg unerschwinglich), kann ich 
aus heutiger Sicht nicht sagen, dass mir dieses Wissen irgendeinen 
Vorteil verschafft(e).
Im Gegenteil: ich bereue jede Minute, die ich in Assembler investieren 
musste, um irgendein Projekt auf die Beine stellen zu können.

Autor: alleskönner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verlink doch einfach mal deinen Studienverlaufsplan bzw dein 
Modulhandbuch.
Dort steht ja drin, welche Sprachen erlernt werden.

Bei mir (Technische Informatik) waren es c,c++,java,sql

1 Semester java war bei uns relativ einfache Kost. Alles mal kennen 
lernen, variablen deklarieren und methoden schreiben.
Unterschiedliche Schleifen, do while, do, for, while, switchcase pi pa 
po.
2 Semester gings dann mit oop los.

Hier mal ein paar kleine Programme, die ich auf die schnelle gefunden 
habe, aus dem ersten Semester, damit du einen kleinen Überblick hast, 
was ungefähr dran kommt.

Bitte jetzt nicht auf die Richtigkeit der Programme oder sonst was 
achten.
import java.io.*;
public class MethodenAufruf {
  
  public static void main(String[] args) throws IOException {
    
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    double z1,z2,z3;
    
    System.out.printf("Bitte die %d. Zahl eingeben: ", 1);
    z1 = Double.parseDouble(in.readLine());           
    System.out.printf("Bitte die %d. Zahl eingeben: ", 2);    //Abfragen der 3 Double Werte
    z2 = Double.parseDouble(in.readLine());
    System.out.printf("Bitte die %d. Zahl eingeben: ", 3);
    z3 = Double.parseDouble(in.readLine());
    
    System.out.printf("Kleinste Zahl: " + minimal(z1,z2,z3)); // Ausgabe der Methode mit den Variabeln z1,z2,z3 
      
  }
  
  public static double minimal(double z1, double z2,double z3){  // Methode um das Minimal von 3 Variabeln zu berechnen 
    double minimal = z1;       // Einfache Wert Zuweisung
    if (z2 < minimal) minimal = z2; // Erste Überprüfung 
    if (z3 < minimal) minimal = z3; // ZWeite Überprüfung
    return minimal;           // Rückgabewert der Methode 
  }
  
}

import java.io.*;

public class bumm {
  public static void main(String args[]) {
    
    for (int i = 0; i<=99; i++)
    if(i % 7 == 0) {
      System.out.println(i + " Bumm");
      }
      else   {
        System.out.println (i);
    }
  }
}
       

import java.io.*;


class Zufallszahlengenerator {
  private int aktuell, anfang, a, b, m; // Von außen nicht zugreifbare
  // Attribute
  
  Zufallszahlengenerator(int a, int b, int m) {
    this.a = a;
    this.b = b;
    this.m = m;
    anfang = 0;
    aktuell = anfang;
  }
  
  Zufallszahlengenerator(int a, int b, int m, int anfang) {
    
    this.a = a;
    this.b = b;
    this.m = m;
    this.anfang = anfang;
    aktuell = anfang;
  }
  
  void setSeed(int anfang) {
    this.anfang = anfang;
    reset();
  }
  
  void reset() {
    aktuell = anfang;
  }
  
  int nextRand() {
    int aktuell = this.aktuell;
    this.aktuell = (a * this.aktuell + b) % m;
    return aktuell;
  }
  
  // Anfangswert = fNumber
  
}

public class Berechnungzufaelligerzahlen {
  
  public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    int auswahl = 0;
    Zufallszahlengenerator neuerzufall = new Zufallszahlengenerator(1, 2, 3);
    
    do {
      
      System.out.println("Hauptmenü-------");
      System.out.println("(1) setSeed()");
      System.out.println("(2) reset()");
      System.out.println("(3) nextRand()");
      System.out.println("(0) Beenden");
      
      auswahl = Integer.parseInt(in.readLine());
      
      switch (auswahl) {
        default:
        System.out.println("Bitte wählen Sie eine gegebene Option.");
        break;
        case 0:
        System.out.println("Programm beendet.");
        break;
        case 1:
        System.out.println("Bitte geben Sie den Anfangswert ein: ");
        int anfangswert = Integer.parseInt(in.readLine());
        neuerzufall.setSeed(anfangswert);
        
        break;
        case 2:
        neuerzufall.reset();
        break;
        case 3:
        int randomnumber = neuerzufall.nextRand();
        System.out.println("Zufallszahl: " + randomnumber);
        break;
      }
      
    } while (auswahl != 0);
    
  }
  
}



Eventuell kannst du damit etwas anfangen. Viel Glück im Studium

Autor: Lothar (Gast)
Datum:

Bewertung
-5 lesenswert
nicht lesenswert
alleskönner schrieb:
> Bei mir (Technische Informatik) waren es c,c++,java,sql

In der Informatik geht es doch erst mal um Algorithmen, in welcher 
Sprache das dann gemacht wird ist doch völlig egal und der aktuellen 
Mode unterworfen.

Für den Einstieg und in der Industrie ist immer noch BASIC ganz vorne, 
weil einfach und man kann alles damit machen, auch GUI. Als BASIC 
Nachfolger ist Python grade aktuell, aus meiner Sicht vereint das aber 
eher die Nachteile von C++ mit dem Nachteil von BASIC (keine Klammern)

Im Bereich Embedded ist dann C (ohne ++) und auch Assembler sinnvoll.

In der APP Programmierung muss man nehmen was notwendig ist: C++ für Qt, 
Java für Android, Swift für iOS. Für Windows würde ich immer noch BASIC 
statt C# nehmen. Für iOS eventuell auch BASIC statt Swift (nennt sich 
hier Xojo)

https://www.tiobe.com/tiobe-index/

Autor: Realist (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Löblich das du dir schon vor dem Studium weitere Kentnisse aneignen 
wilst, ich wäre damals zu faul gewesen xDDD...

Was besser ist kannst weder du, noch sonst jemand hier beantworten, das 
wirst du erst in Zukunft wissen, dann ist es aber zu spät...
Ergo würde ich empfehlen dir in der Zeit besser allgemeinere Kentnisse 
anzueignen... Wenn du noch nie etwas in Assembler gemacht hast, wäre 
dies eine Möglichkeit ein grössere Grundverständnis zu erhalten. Wobei 
ich nicht zuviel Zeit darin investieren würde... Eher würde ich dein 
Verständnis in OOP vertiefen... Das wirst du mit Sicherheit brauchen...

Autor: Horst C. (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Arbeite vor deinem Studium The C++ Programming Language von Bjarne 
Stroustrup durch dann wird dich im Etechnik Studium C++ nicht mehr 
schocken. Wenn dann noch Zeit ist Ruhig mal Design Patterns/ OOP 
Prinzipien genauer ansehen (reicht aber auch während dem Studium)

lg

Autor: Danilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich kann das nur begrüßen (insbesondere wenn man länger aus der 
Theorie draußen war, so wie ich früher) sich vor dem Studium mit den 
Grundlagenfächern zu beschäftigen.


Dazu gehört sicher das Programmieren, aber gesiebt wurde früher eher in 
Mathe, Physik, und Grundgebiete der ET. Das war da der Hammer das 
Grundstudium zeitnah abzuschließen (auch wg. Bafoeg). Das hört man heute 
eher weniger.

Am besten die schwierigen Fächer mit dem PC lernen wie blöd, das könnte 
auch ein Weg sein. Nutzt ja nix programmieren zu können und das 
Grundlagenstudium schmeißen zu müssen.

Autor: Der Andere (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Lothar schrieb:
> Für den Einstieg und in der Industrie ist immer noch BASIC ganz vorne,

[x] Du hast die "Industrie" vor 20 Jahren verlassen um in Rente zu gehen

Autor: Robert Malle (andro86)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
In der Ausbildung habe ich Visual Basic und Assembler gelernt, jetzt 
brauche ich aber keine von beiden Sprachen.
Im Studium gab es dann Java als Pflichvorlesung. Der Sprache konnte ich 
jedoch nie wirklich was abgewinnen und ich glaube die Vorlesung gab es 
auch nur, weil Java noch in Mode war. Paar Jahre später hat das 
Institut, welches die Vorlesung anbot, diese auch aus ihrem Lehrplan 
raus geworfen und stattdessen Embedded C eingeführt. Dennoch bereue ich 
es nicht Java gelernt zu haben, da ich so die Prinzipien des OOP gelernt 
habe und mir auch der Einstieg in C dadurch einfach war. Heute 
programmiere ich überwiegend Embedded C.
Ich würde mich heute immer noch für Java entscheiden und dann auf C 
wechseln.

: Bearbeitet durch User
Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Also wenn Du schon mal einen Computer bedient, und somit programmiert 
hast, bist Du inzwischen schon gut dabei.

C++/C vor Assembler anzufangen ist meiner Meinung nach gefährlich, da 
beide Sprachen Fallstricke haben, die nur dann deutlich sichtbar werden, 
wenn Du Assembler kannst. Ein großes Assemblerprojekt hat auch den 
Vorteil, dass man da einen eleganteren Programmierstil lernt. 
Verschachtelte Kontrollstrukturen tun in Assembler richtig weh, somit 
vermeidet man die wenn möglich. Man strukturiert sein Programm in kleine 
überschaubare Happen. Das ist in allen Sprachen sinnvoll.

Autor: Achim S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du objektiorientierung verstanden hast, dann plädiere ich auch für 
C.

C ist das Assembler der 90er. Egal wo Du später arbeitest, am Ende wirst 
Du dich zumindest mit C-zwischencode rumschlagen müssen. Egal ob es aus 
simulink rausfällt oder aus einem E,F oder G-Compiler.

Autor: Olaf Brecht (Firma: OBUP) (obrecht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wühlhase schrieb:
> Das mit dem Assembler lernen ist gar nicht mal so doof.
>
> Im Beruf wirst du es selten bis gar nicht brauchen, diese Sprache kommt
> in der Regel allenfalls noch auf Treiberebene in Gebrauch. Bei
> Mikrocontrollern nur in Spezialfällen.

Außer Du musst debuggen, dann ist Assembler - egal welcher µC sehr 
wichtig.

Mehmet K. schrieb:
> Im Gegenteil: ich bereue jede Minute, die ich in Assembler investieren
> musste, um irgendein Projekt auf die Beine stellen zu können.

Kann ich nicht behaupten. So weiß ich, was der Compiler aus meinem 
Quell-Code macht & kann entscheiden, ob gut oder nicht gut.

Programmierung µc ist sehr nahe an der HW & daher Assembler von Vorteil
Zeitkritische Teile sollten sowieso in Assembler programmiert werden, 
vorausgesetzt Du weisst, was Du programmierst/machst. Die heutigen 
Compiler sind sehr gut geworden bei Ihrer Aufgabe.

mfg

Olaf

P.S.: ich bevorzuge C, C++ & AS.

Autor: Sonntagsaccount (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Assembler brauche ich nur noch wenn ich nachschaue was der Compiler so 
fabriziert hat, ob er was wegoptimiert hat was noch da sein sollte,....

Aber Assembler noch selber schreiben? Wenn dann höchstens in C 
eingepasst:
_asm  { .... } und das ist auch Jahre her als ich das das letzte mal 
gemacht habe, wenn ich darüber nachdenke wie oft das der Fall war dann 
vielleicht 2-3mal.

Assembler braucht man/ich nur noch auf uralt-Controllern wo nur ein paar 
Byte verfügbar sind, selbst auf nem Tiny mit 1k nehme ich kein Assembler 
und älteres Zeug mit noch weniger Speicher hat wohl auch keiner mehr im 
Einsatz ausser irgendwelches Legacyzeugs das noch supported werden muss.

Assemler lernen? Höchstens zu Lehrzwecken, damit man es mal gesehen hat 
und die grundlegenden Befehle kennt, die sind ja nahezu identisch auf 
jedem Rechner.

Autor: Bachelor (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Lieber C

Autor: E-Technik Student (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ich schreibe gerade meine Masterarbeit und hatte mich im Studium eher 
auf den Bereich Energietechnik spezialisiert. Das hier sind meine 
Erfahrungen zu Programmiersprachen aus dieser Perspektive:

Ich denke C ist für Jemanden der in die Elektronik einsteigen will 
erstmal die wichtigste Sprache. Im Bachelor E-Technik gab es ein 
Grundlagenmodul zu C. Die Sprache spielt im weiteren Studienverlauf eine 
wichtige Rolle (z.B. im Mikrocontroller- und im 
Leistungselektronikmodul).

Assemblersprache habe ich nie wirklich genutzt. Es wurden in 
verschiedenen Veranstaltungen Assemblerprogramme gezeigt und besprochen, 
aber das hatte wohl eher historische Gründe. Man kommt durch das 
Elektrotechnikstudium ohne ein einziges Programm in Assemblersprache 
geschrieben zu haben. Aber natürlich kann auch dieses Wissen nützlich 
sein.

Ich habe ein Semester C++ gehört. Das reicht aber nicht aus, um auch nur 
die Basics der Sprache zu beherrschen. Man müsste sich dann in Projekten 
/ Abschlussarbeiten vertiefendes C++ Wissen aneignen. Wenn du unter 
optimaler Ausnutzung der Hardware objektorientiert programmieren willst, 
dann kommst du um C++ wohl nicht herum. Mein Wissen ist hier aufgrund 
der Energietechnikspezialisierung stark begrenzt.

C# nutze ich immer, wenn Anwendungen für Windowsrechner geschrieben 
werden sollen, was bei mir gerade in Masterprojekten häufig vorkam. Das 
ist für diesen Zweck ziemlich komfortabel und mächtig. Die 
entsprechenden C# Vorlesungsmodule hatte ich mir neben den 
Pflichtmodulen noch angeschaut.

Python zum wissenschaftlichen rumspielen (ist im Bereich Maschinenlernen 
sehr hilfreich) und für Software-Prototypen.

Autor: Pythoneer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
alleskönner schrieb:
> public static double minimal(double z1, double z2,double z3){  //
> Methode um das Minimal von 3 Variabeln zu berechnen
>     double minimal = z1;       // Einfache Wert Zuweisung
>     if (z2 < minimal) minimal = z2; // Erste Überprüfung
>     if (z3 < minimal) minimal = z3; // ZWeite Überprüfung
>     return minimal;           // Rückgabewert der Methode
>   }

LOOOOOOOOOOOOOOL, das ist alles andere als Java style, wie wär's mit:
public static double min(double z1, double z2, double z3) {
    return Math.min(Math.min(z1, z2), z3);
}

Warum das Rad neu erfinden, wenn es das schon gibt? ;)

Aber zurück zum Thema:

C++ zu können ist nie verkehrt... (Aber die Poiterei nervt!!!)

Das reine C ist eigentlich nur Embedded SW Entwickler oder Nerds 
relevant...

Java ist ganz nett, aber der Burner ist ganz klar C#!!!

Python ist auch super, um so auf die schnelle das eine oder das andere 
Tool hinzurotzen...

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mehmet K. schrieb:
> Dem Hinweis, Assember zu lernen, kann ich nicht zustimmen. Lieber diese
> Zeit in die Sprache C investieren. Obwohl ich in der Vergangenheit
> Assembler verschiedener MCUs lernen musste (in der Frühzeit waren
> C-Compiler für Nichtverdiender schlichtweg unerschwinglich), kann ich
> aus heutiger Sicht nicht sagen, dass mir dieses Wissen irgendeinen
> Vorteil verschafft(e).

Vielleicht kommt's auch etwas aufs Alter an... Hier gab's die damals 
relativ übliche Mischung: Erst 6510, Z80, 68k, ARM, 8086 danach u.a. 
AVR, R8C, dsPIC/PIC24, PIC32 und wieder ARM. Auf allen Plattformen gab 
es mal mehr mal weniger Assembler. Meist nur zeitkritische Dinge aber 
auch ganze Projekte in denen nur Assembler verwendet wurde (mit etwas C 
und BASIC als Skriptsprachen zur Tabellen- und Codegenerierung). 
Allerdings in gut lesbarem 68k-Assembler.
Hat's was gebracht: Definitiv, da man u.a. einen anderen Blickwinkel auf 
Algorithmen, Datenstrukturen und das ganze System bekommt, den man in 
Hochsprachen nicht hat.
Ist es heute wichtig: Definitiv weniger als früher, aber bspw. im 
Bereich der Sicherheit immer noch von Vorteil. Stichwort: 
Seitenkanalattacken z.B. Timingangriffe oder 
(Differential-)Poweranalysis auf Verschlüsselungsalgorithmen wo es 
durchaus passieren kann, dass dort ein Compiler mit seinen Optimierungen 
hilft, aber ebenso, dass der Optimizer erst solche Angriffe ermöglicht.
"The Correctness-Security Gap in Compiler Optimization", D’Silva, Payer, 
Song, 2015
https://nebelwelt.net/publications/files/15LangSec.pdf

Autor: Student (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias schrieb:
> In den nächsten Monaten beginnt mein Studium im Bereich Elektro und
> Informationstechnik und da ich aktuell viel Zeit habe, habe ich überlegt
> noch eine weitere Programmiersprache zu lernen.
> Aktuell kennen ich mich ganz gut mit Python aus.
> Was ist nun besser für mein Studium? Java, C++ oder doch was völlig
> änderes?
Die Informatik Grundlagen im E-Technik Studium sind kaum über 
Abiturniveau.

Tobias schrieb:
> Wobei ich natürlich auch in Richtung Deep learning liebäugele
Die paar ECTS reichen gerade mal für etwas herumfrickeln in C und Java.

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Student schrieb:
> Die Informatik Grundlagen im E-Technik Studium sind kaum über
> Abiturniveau.
> [...]
> Die paar ECTS reichen gerade mal für etwas herumfrickeln in C und Java.

Es fragt kaum noch jemand nach den ECTs...heute fragt man danach, was 
man kann. Und programmieren zu können (zumindest einigermaßen) hat wohl 
kaum jemandem geschadet bisher.

Ob es was nutzt....nun, ich habe letzte Woche über 2500 Z-Dioden für 
unsere Altium-Bibliothek erstellt. Per VBA-Skript in einer 
Excel-Tabelle, sauber hinterlegt mit Herstellernummern. VBA war zwar nie 
Bestandteil meines Vorlesungsplans, ich hab es mir kurzerhand selber 
beigebracht. Meines Erachtens keine Kunst, andere wiederum können es 
überhaupt nicht leiden. Wie gesagt, ich hab VBA autodidaktisch gelernt, 
meine Studienkenntnisse über C und Java (beides hab ich auch privat ein 
wenig vertieft) haben es mir allerdings leicht gemacht.

Und als stockfauler Mensch (genau deshalb bin ich Ingenieur) begeistert 
mich der Gedanke, eine Maschine für mich zu knechten. Programmieren ist 
da sehr hilfreich.

Autor: Student (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programmieren ist mehr als herumfrickeln in VBA.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.