C++ und wie geht es weiter?



  • Rudi205 schrieb:

    Hallo an Alle,

    Da die Programmiersprache C++ in meinem Studium (Elektrotechnik) nur zwei Semester gelehrt wurde, frage ich mich aktuell, wie soll es weiter gehen ?

    Ich bin von der Programmierung angetan und finde es spaßig. Allerdings auf der anderen Seite auch kompliziert.

    Von der Uni hat man im Gründe genommen die Basics von C++ bekommen welche ich sicherlich nochmal auffrischen könnte.

    Allerdings frage ich mich wie man dann weiter machen kann ? Welche Anwendungen und spezielle Gebiete kann man hier in den Fokus fassen? Was mir einfällt ist , da bei Elektrotechnik naheliegend, die Programmierung von Mikrocontrollern. Dazu gab es in den Vorlesungen nie etwas.

    Als Ausblick hieß es immer Java ist besser haha allerdings denke ich würde ich lieber mit c++ weitermachen als java.

    Was denkt ihr zu dem Thema ?

    Grüße

    Im Prinzip steht dir mit C++ alles offen.
    Und auch als Elektrotechniker steht dir alles offen in Sachen Softwareentwicklung.
    In unserer Firma entwickeln wir mit C++ für unsere embedded systems, welche Linux als OS haben.
    Wir stellen inzwischen wieder eher Elektrotechniker als Informatiker für die SW Entwicklung ein. Viele Informatiker leben in ihrer abstrakten Welt. Versuchen alles möglichst allgemein zu gestalten. Letztlich ist die SW dadurch extrem langsam geworden.

    Aber zurück zum Thema, programmiere am PC einfach ein paar interessante Sachen:
    +Musik einlesen, mit FIR Filtern oder anderen digitalen Filtern bearbeiten und dann wieder abspeichern
    +Bilder einlesen, und verschiedene Bildbearbeitungen/erkennungen implementieren
    +GUI Frameworks kennenlernen (z.B. wxWidgets)
    +Mathematische Algorithmen probieren, z.B. FFT für Musikdateien
    +HEX Editor
    +einfache Spiele wie Snake
    +einfacher Matheparser der Ausdrücke wie (1+2)*3 lösen kann
    +Mikrocontroller Startset kaufen und mit C oder C++ programmieren
    +Raspberry pi kaufen, Linux kennenlernen und mit C oder C++ programmieren
    +usw...

    Als Buch empfehle ich "Der C++ Programmierer"

    P.S.: Dass Java besser ist, stimmt nicht, das ist eine ziemlich schwache Aussage des Lehrenden. Zumindest ist mir kein Betriebssystem bekannt, dass in Java programmiert wurde.



  • sdfsdfsf schrieb:

    na klar doch....
    was ich schon alles tolles von informatikern erleben durfte.
    abstraktion hoch 1000 wo keiner mehr durchblickt (nicht mal der 'verursacher' selbst), jede programmzeile ist ein designpattern, wichtiger als das ergebnis ist wie der code aussieht, kein verständnis für hardwarenahe sachen, nicht in der lage schnelle oder pragmatische lösungen zu liefern.

    ein ehrgeiziger ET student kann problemlos in der software branche fuss fassen, ein informatiker in der ET branche hingegen sicher nicht!

    Für den ET ist Software niemals Selbstzweck. Er steht auf dem Standpunkt: die beste Software ist keine Software. Das geht mir jedenfalls so. Ich versuche den Code auf das Nötigste zu beschränken. Für einfache Variablen nehme ich einfach "int", obwohl sie nie negativ werden können, und verzichte auf "const", obwohl sich ihr Wert nicht ändern kann. Code muss performant und möglichst primitiv sein. 🙂



  • tippgeber schrieb:

    P.S.: Dass Java besser ist, stimmt nicht, das ist eine ziemlich schwache Aussage des Lehrenden.

    Java ist nicht "besser" sondern anders.

    tippgeber schrieb:

    Zumindest ist mir kein Betriebssystem bekannt, dass in Java programmiert wurde.

    http://www4.cs.fau.de/Projects/JX/index.html



  • tippgeber schrieb:

    P.S.: Dass Java besser ist, stimmt nicht, das ist eine ziemlich schwache Aussage des Lehrenden. Zumindest ist mir kein Betriebssystem bekannt, dass in Java programmiert wurde.

    Jo. Anfangs waren es Deppen, die auf Java abfuhren, das war der erste große Hype. Ich nenne ihn die Zeit der veralberten Trottel. Dann kam der riesige Hype getragen durch die Ideologen, die Sun für viel viel fairer als Microsoft hielten und nur deswegen Mozilla-Firefox und Java benutzten, ich nenne ihn die Zeit der Professoren. Dann kam ein zwischen-Hype, wo alle Banken Java benutzen zur Kryptologie (!!! einself !!!, rofl, komischer gehts gar nicht, lecker, damals setze C gegen 70k Zeichen pro Sekunde durcgh und Java gegen 0.0007 Zeichen pro Sekunde durch den gleichen Algo, aber man läßt sich ja auf Messen bequatschen und der Fremde Verkäufer hat stehts viel mehr Recht als der Fachmann im Haus). Das war der dritte Hype von Bankern getragen. Und zur Zeit leben wir im vierten Java-Hype, der von Trollen getragen wird.

    Je nach lokaler Zeitdellatation kann es Leute, Organisationen und Landstriche geben, die noch vonn in den Hypes 1 bis 3 sind, Hochschulen bleiben gerne bis zu 50 Jahren veraltet, Banken so ca 30 Jahre, die IHK (als Aufsicht über die deutschen Ausbildungeberufe) so 80 Jahre, private Fortbildungsinstitute so ca 25 Jahre, populärwissenschaftliche Buchverlage (Galileo Press) 15 Jahre.



  • Java im Dauerhype, kann ja gar nicht besser sein.



  • Z schrieb:

    sdfsdfsf schrieb:

    na klar doch....
    was ich schon alles tolles von informatikern erleben durfte.
    abstraktion hoch 1000 wo keiner mehr durchblickt (nicht mal der 'verursacher' selbst), jede programmzeile ist ein designpattern, wichtiger als das ergebnis ist wie der code aussieht, kein verständnis für hardwarenahe sachen, nicht in der lage schnelle oder pragmatische lösungen zu liefern.

    ein ehrgeiziger ET student kann problemlos in der software branche fuss fassen, ein informatiker in der ET branche hingegen sicher nicht!

    Für den ET ist Software niemals Selbstzweck. Er steht auf dem Standpunkt: die beste Software ist keine Software. Das geht mir jedenfalls so. Ich versuche den Code auf das Nötigste zu beschränken. Für einfache Variablen nehme ich einfach "int", obwohl sie nie negativ werden können, und verzichte auf "const", obwohl sich ihr Wert nicht ändern kann. Code muss performant und möglichst primitiv sein. 🙂

    Ich denke auch, dass man SW nicht zu sehr abstrahieren darf.
    Wenn ich an unsere Firma denke, so sind die Module, die voll mit "super wiederverwendbaren Design Patterns" sind, die starrsten. Da wird tausendmal voneinander abgeleitet, da kannst du nicht mal einfach was ändern. Aber hauptsache alles ist "superflexibel".

    In meiner letzten Firma hat ein Info Student die Aufgabe bekommen, ein Modul zu schreiben dass E-Mails empfangen kann. Und das mit C#, in einer Sprache, wo dank der großen Klassenbibliothek eh schon vieles vorhanden ist.
    Jedenfalls hat dieser Typ wohl alles, was er in der Uni gelernt hat, umgesetzt. Das Ergebnis war eine riesige Ansammlung von sinnlosen Klassen die nur dazu da waren, "Struktur reinzubekommen und flexibel zu sein". Achso, funktioniert hats auch nicht. Dafür war die Klassenstruktur schön 😮
    Am Ende hat ein Maturant alles neu geschrieben und siehe da, es hat dann auch funktioniert.

    Versteht mich nicht falsch, es gibt super gute Informatiker, auch hier im Forum. Aber genau so Typen wie "Sone" sind es, die massenhaft Scheiße bauen (sprich Abstraktion hoch tausend, C++11 wo immer es geht einfach nur weil es "cooler" ist als C++03, alles vertempletifizieren usw...), und davon aber auch noch voll überzeugt sind.

    Schönen Tag noch!



  • xxxxyyyy schrieb:

    Versteht mich nicht falsch, es gibt super gute Informatiker, auch hier im Forum. Aber genau so Typen wie "Sone" sind es, die massenhaft Scheiße bauen (sprich Abstraktion hoch tausend, C++11 wo immer es geht einfach nur weil es "cooler" ist als C++03, alles vertempletifizieren usw...), und davon aber auch noch voll überzeugt sind.

    Sone ist aber auch kein Informatiker, sitzt an keiner produktivsoftware, sondern spielt nur rum. Er lernt noch, ist Schüler, was erwartest du? Viele C++-Programmierer haben ihre Template-Frickelphase. Das ist okay. Das geht vorbei, spätestens bei dem ersten Projekt. Aus Sone wird sicherlich mal ein guter Programmierer, er muss es nur nicht bereits heute sein.

    //edit wow, gruselige tippsler.



  • volkard schrieb:

    Dann kam ein zwischen-Hype, wo alle Banken Java benutzen zur Kryptologie (!!! einself !!!, rofl, komischer gehts gar nicht, lecker, damals setze C gegen 70k Zeichen pro Sekunde durcgh und Java gegen 0.0007 Zeichen pro Sekunde durch den gleichen Algo,

    Die gängigsten Crypto-Algorithmen, Hashfunktionen, etc. bringt Java ja schon als Library mit. Und ich nehme an, die sind alle aus Geschwindigkeitsgründen in C geschrieben. Javas BigInteger-Bibliothek hat auch eine ModExp-Funktion dabei, wenn man sich sein RSA selbst bauen will, vermutlich auch compilierter C-Code als Java-Library verpackt.

    Erstaunlich finde ich eher sowas: http://www.c64-wiki.de/index.php/JaC64

    Die CPU läuft zwar nur mit 1MHz Takt (wie das Original), aber es werden gleich mehrere Chips parallel emuliert, also ein ganzer Computer. Und das alles in Java.



  • Also ich muss sagen, ich finde das außerordentlich unbeeindruckend. 1Mhz ist doch einfach nichts mehr. Das würde bei mir ja noch flüssig laufen wenn der "Tradeoff" 1 : 3000 wäre.



  • cooky451 schrieb:

    Also ich muss sagen, ich finde das außerordentlich unbeeindruckend. 1Mhz ist doch einfach nichts mehr. Das würde bei mir ja noch flüssig laufen wenn der "Tradeoff" 1 : 3000 wäre.

    Die CPU ist ja nicht das Ding, aber z.B. einen halbanalogen Soundchip nachzuprogrammieren, der angesteuert wird wie das Original und dann auch noch so klingt, ist schon eine Meisterleistung, vor allem wenn man dazu Java nimmt. Der Chip besteht hauptsächlich aus Oszillatoren und Filtern, hat aber auch Nebeneffekte, die von C64-Programmierern ausgeschlachtet wurden, um besonders abgefahrene Klänge zu erzeugen. Die Emulation kommt aber auch damit klar. So etwas finde ich faszinierend.

    http://de.wikipedia.org/wiki/MOS_Technology_SID


Anmelden zum Antworten