Embedded-Programmierung -> Yay or nay



  • Ich weiß nicht was du mit "typische Game-Coder" meinst, aber im Bereich der professionellen Spieleprogrammierung sind doch oftmals sehr gute, auch theoretisch sehr fundierte Personen unterwegs. Du redest aber dann wohl eher von "I want to do WoW until next weekend"-Personen?

    MfG SideWinder



  • Dann zeig mir doch mal ein Beispiel dafür:

    Man sieht regelmäßig in Diskussionen, daß die Embedded-Leute oft genug sogar noch weniger Ahnung haben als typische Gamecoders und noch eingebildeter von sich sind.

    Wovon haben die Embedded-Leute denn keine Ahnung, von irgendwelchen Grafik-Librarys 🙄 ? Kein Wunder...



  • volkard schrieb:

    Naja, loben wir mal nicht zu viel. Man sieht regelmäßig in Diskussionen, daß die Embedded-Leute oft genug sogar noch weniger Ahnung haben als typische Gamecoders und noch eingebildeter von sich sind.

    Typische Embedded-Entwickler treiben sich allerdings selten in einem C++-Forum rum, weil sie zumeist C, Assembler, Hardwarebeschreibungssprachen und einen Lötkolben nutzen.

    Davon abgesehen, benötigen Spezialisten jeder Sparte bestimmte Kenntnisse und Fähigkeiten, die sie von anderen unterscheiden. Es gibt zwar Überschneidungen, aber man kann generell nicht sagen, dass die Arbeit eines Web-Developers, Mikrokontroller-Programmierers, Game-Designers, etc. anspruchsloser oder "schlechter" ist, als die eines Programmierers anderer Couleur. Anspruchsvolle und weniger interessante Jobs gibt es in jedem Bereich.



  • Glutamat schrieb:

    Gibt ja auch Mikrocontroller Programmierung, wo kein OS dazwischen geschaltet ist.
    Z.B. Atmel AVR werden bei einfachen Steuerungen sehr oft verwendet.
    http://de.wikipedia.org/wiki/Atmel_AVR

    Und die werden inzwischen auch verstärkt in C programmiert. Das OS ist nicht im Weg, und die zu tätigende Funktionalität ist oft klein, leichter und einfacher kann man es doch nicht haben!

    Die 32 Bitter von Atmel sind stark im kommen und werden auch immer günstiger, man spart sich also selbst die umständliche Programmierung mit den ATMega & ATTiny 8 Bittern.
    Aber selbst wenn die 32 Bitter noch zu teuer sind, Texas Instrument ist schon auf den Zug aufgesprungen und bietet mit dem MSP430 einen 16 Bitter an, der wirklich sehr bequem zu programmieren ist.
    Flaches Speichermodell, dann gleich 16 Bit, programmiert wird in C und die µC kosten fast nichts, was will man mehr?

    Und ich bin mir sicher, dass die so schnell nicht ersetzt werden, ganz einfach deswegen, weil sie alles können, was man braucht. Wofür dann etwas komplizierteres verwenden?

    Die 8 bittigen ATMega8 sind komplizierter zu programmieren als die 16 bittigen MSP430.

    Ein Mikrocontroller ersetzt komplizierte fehleranfällige Transistorschaltungen (bzw. Logikgatterschaltungen), ein dazwischengeschaltestes Betriebssystem würde rein gar nichts bringen.

    Das sowieso nicht, deswegen habe ich ja auch gesagt, daß µCLinux schon wieder overpowered ist.
    Ohne OS ist es in solchen Fällen oft einfacher und da zählt dann wie einfach die Architektur aufgebaut ist, sprich, wie sieht das Speichermodell aus, wieviele Register hat man und kann man in C programmieren.



  • Minimee schrieb:

    Dann zeig mir doch mal ein Beispiel dafür:

    Man sieht regelmäßig in Diskussionen, daß die Embedded-Leute oft genug sogar noch weniger Ahnung haben als typische Gamecoders und noch eingebildeter von sich sind.

    Wovon haben die Embedded-Leute denn keine Ahnung, von irgendwelchen Grafik-Librarys 🙄 ? Kein Wunder...

    volkard hat da nicht ganz unrecht.

    Für die Programmierung von µC muß man oft nur ganz einfache Prozeduranweisungen schreiben. Sprich, wenn an Pin x ne 1 anliegt, mache dann dies und gebe XY über Pin x2 aus. Und Timerbrechnungen usw. gehen in den Alltag über.
    All das kann Spaß machen, weil es recht hardwarenah ist, aber es ist vom Programmieren her betrachtet dennoch trivial.

    Ganz anders sieht das schon bei der Entwicklung einer 3d Engine aus.
    Da geht es erst richtig los mit der Speicherverwaltung, der Verwaltung von Objekten, den Matrizenberechnungen usw..

    Auch der Umfang an Stoff den man können muß, ist bei letzterem viel umfangreicher.
    µC kann man im Prinzip schon programmieren wenn man
    A) ein bischen Assembler gelernt hat (dient dem Verständnis),
    😎 die Programmiersprache C kann
    C) sich mit dem jeweiligen µC auseinandergesetzt hat

    Bei 3d Engines ist man mit C und OpenGL/Direct3d noch längst nicht am Ziel.
    Von da geht es dann weiter mit Scene Graphen, Sichtbarkeit von Objekten, möglicherweise auch Kollisionserkennung usw..
    Und die ganzen Grundlagen aus dem Infostudium wie Datenstrukturen, Mathe und co braucht man sowieso.

    All das braucht man bei µC nicht.
    Lediglich Datenstrukturen können noch hilfreich sein.
    Für die Mathe reicht in den meisten Fällen die Schulmathematik bis zur 13.

    Die Programmierung von µC ist aus Informatikersicht also nicht schwer und genau aus diesem Grund werden µC auch schon von Leuten programmiert, die Elektrotechnik studiert haben.
    Das kann man sich nämlich alles nebenbei beibringen.
    Prinzipiell reicht dafür schon ein Schüler aus, der in der Freizeit C und etwas Assembler gelernt hat.

    PS: Natürlich gibt es auch Spezialfälle wie ESP, die die Funktionalität und das notwendige Wissen für das Programmieren eines µC für eine Kaffemaschine deutlich übersteiegn, aber das sind eben die Ausnahmen von der Regel.



  • sdf schrieb:

    volkard hat da nicht ganz unrecht.

    Für die Programmierung von µC muß man oft nur ganz einfache Prozeduranweisungen schreiben. Sprich, wenn an Pin x ne 1 anliegt, mache dann dies und gebe XY über Pin x2 aus. Und Timerbrechnungen usw. gehen in den Alltag über.

    Das ist doch Bullshit, ihr habt nur keine Ahnung davon. Vielleicht wenn man nen Kaffeemaschinen-uC programmiert, aber die Algorithmen für Regelungen im Auto/Flugzeug/Drehstrommaschinen gehen weit, weit über den Ansrpuch einer Grafik-Library hinaus, für die man gerade mal Oberstufen-Mathematik benötigt.



  • 🕶
    Vergleiche der Länge der Geschlechtsteile (nat. nur bei Männern) und das im Bereich der SW Entwicklung. Also bitte...



  • sdf schrieb:

    All das braucht man bei µC nicht.
    Lediglich Datenstrukturen können noch hilfreich sein.
    Für die Mathe reicht in den meisten Fällen die Schulmathematik bis zur 13.

    Na, wenn du meinst. Dann erklär mir doch mal, wieso Firmen wie beispielsweise diese hier und diese, ausgebildete Physiker und Mathematiker beschäftigen, wenn das alles so furchtbar einfach ist, dass jeder Wald-und-Wiesen-Informatiker, der mal ein paar .NET-Anwendungen zusammengezimmert hat, damit klar käme? :p



  • Minimee schrieb:

    die Algorithmen für Regelungen im Auto/Flugzeug/Drehstrommaschinen gehen weit, weit über den Ansrpuch einer Grafik-Library hinaus, für die man gerade mal Oberstufen-Mathematik benötigt.

    Du vergleichst jetzt den mathematischen (bzw. eigentlich fachlichen) Anspruch mit dem Programmieranspruch. Die Behauptung sdfs, es sei nur ganz einfaches Manipulieren irgendwelcher Ports ist prinzipiell richtig, was macht denn ein Regelalgorithmus? Er wird periodisch aufgerufen, liest ein paar Werte ein, rechnet ein bisschen rum (jaja das WIE ist die Kunst, aber das ist am Ende halt auch nur eine Formel und ein bisschen Zustandslogik), speichert etwas ab und schreibt die Ergebnisse raus. Programmiertechnisch ist das überhaupt nicht anspruchsvoll. Darf es ja eigentlich auch nicht, es muss einfach sein, um stabil zu laufen. Der Anspruch liegt wie gesagt im Entwickeln der Regelung, außerdem im Scheduling, in der Kommunikation und in der Robustheit gegenüber Ausnahmezuständen.
    Ich hab hin und wieder mit Sachen aus der Autoindustrie zu tun, und was ich da sehe, haut mich -- der programmiertechnische Teil -- absolut nicht vom Hocker. Ich glaube die Leute sehen Programmierung als notwendiges Übel an, das irgendwo zwischen Entwurf und Testen gequetscht wird. Die Qualität (oder was man dafür hält) wird durch rigide Formvorschriften sichergestellt. Ich würde da nicht als Programmierer arbeiten wollen.



  • Bashar schrieb:

    Ich glaube die Leute sehen Programmierung als notwendiges Übel an, das irgendwo zwischen Entwurf und Testen gequetscht wird.

    Das ist richtig. Von diesen Leuten kommen z.B. Aussagen wie: "Die beste Software ist keine Software." :p



  • Z schrieb:

    sdf schrieb:

    All das braucht man bei µC nicht.
    Lediglich Datenstrukturen können noch hilfreich sein.
    Für die Mathe reicht in den meisten Fällen die Schulmathematik bis zur 13.

    Na, wenn du meinst. Dann erklär mir doch mal, wieso Firmen wie beispielsweise diese hier und diese, ausgebildete Physiker und Mathematiker beschäftigen, wenn das alles so furchtbar einfach ist, dass jeder Wald-und-Wiesen-Informatiker, der mal ein paar .NET-Anwendungen zusammengezimmert hat, damit klar käme? :p

    WLAN (-> Elektromagnetische Wellen) und Sensoren (-> nutzen Reale Welt um Information zu erhalten) haben nunmal etwas mit Physik zu tun, du brauchst dort die Physiker und Mathematiker also für das Materielle, eben der Hardwareentwicklung.
    Aber definitiv nicht zum Programmieren der µC die die Sensoren auslesen!



  • Minimee schrieb:

    sdf schrieb:

    volkard hat da nicht ganz unrecht.

    Für die Programmierung von µC muß man oft nur ganz einfache Prozeduranweisungen schreiben. Sprich, wenn an Pin x ne 1 anliegt, mache dann dies und gebe XY über Pin x2 aus. Und Timerbrechnungen usw. gehen in den Alltag über.

    Das ist doch Bullshit, ihr habt nur keine Ahnung davon. Vielleicht wenn man nen Kaffeemaschinen-uC programmiert, aber die Algorithmen für Regelungen im Auto/Flugzeug/Drehstrommaschinen gehen weit, weit über den Ansrpuch einer Grafik-Library hinaus, für die man gerade mal Oberstufen-Mathematik benötigt.

    Wie ich schrieb gibt es Ausnahmefälle, wie eben ESP.
    Aber die Regel ist das nicht.

    Das meiste ist simple Regelungstechnik für ne Waschmaschine, die Heizung im Keller usw.

    Und eine einfache Grafiklibrary ist noch lange keine 3d Engine.



  • Bashar schrieb:

    Minimee schrieb:

    die Algorithmen für Regelungen im Auto/Flugzeug/Drehstrommaschinen gehen weit, weit über den Ansrpuch einer Grafik-Library hinaus, für die man gerade mal Oberstufen-Mathematik benötigt.

    Du vergleichst jetzt den mathematischen (bzw. eigentlich fachlichen) Anspruch mit dem Programmieranspruch. Die Behauptung sdfs, es sei nur ganz einfaches Manipulieren irgendwelcher Ports ist prinzipiell richtig, was macht denn ein Regelalgorithmus? Er wird periodisch aufgerufen, liest ein paar Werte ein, rechnet ein bisschen rum (jaja das WIE ist die Kunst, aber das ist am Ende halt auch nur eine Formel und ein bisschen Zustandslogik), speichert etwas ab und schreibt die Ergebnisse raus. Programmiertechnisch ist das überhaupt nicht anspruchsvoll. Darf es ja eigentlich auch nicht, es muss einfach sein, um stabil zu laufen. Der Anspruch liegt wie gesagt im Entwickeln der Regelung, außerdem im Scheduling, in der Kommunikation und in der Robustheit gegenüber Ausnahmezuständen.
    Ich hab hin und wieder mit Sachen aus der Autoindustrie zu tun, und was ich da sehe, haut mich -- der programmiertechnische Teil -- absolut nicht vom Hocker. Ich glaube die Leute sehen Programmierung als notwendiges Übel an, das irgendwo zwischen Entwurf und Testen gequetscht wird. Die Qualität (oder was man dafür hält) wird durch rigide Formvorschriften sichergestellt. Ich würde da nicht als Programmierer arbeiten wollen.

    Danke, genau so ist es.



  • Übersetzung: Dädädä, was ich mach is viel komplizierter!111111



  • SideWinder schrieb:

    Ich weiß nicht was du mit "typische Game-Coder" meinst, aber im Bereich der professionellen Spieleprogrammierung sind doch oftmals sehr gute, auch theoretisch sehr fundierte Personen unterwegs. Du redest aber dann wohl eher von "I want to do WoW until next weekend"-Personen?

    Volkard hat nur immer noch nicht verkraftet, dass TGGC deutlich besser und erfolgreicher ist als er.



  • KennerDerVolksARD schrieb:

    SideWinder schrieb:

    Ich weiß nicht was du mit "typische Game-Coder" meinst, aber im Bereich der professionellen Spieleprogrammierung sind doch oftmals sehr gute, auch theoretisch sehr fundierte Personen unterwegs. Du redest aber dann wohl eher von "I want to do WoW until next weekend"-Personen?

    Volkard hat nur immer noch nicht verkraftet, dass TGGC deutlich besser und erfolgreicher ist als er.

    Ist das der TGGC?
    http://www.games-net.de/hosted/tggc/index.php?cat=1&page=8

    Wenn ich mir das Foto so ansehe, dann könnte man glatt meinen, daß er eine gewisse Ähnlichkeit mit Q hat:
    http://phoenixdjt.tripod.com/images/q.jpg



  • Das ist doch jetzt wirklich der reinste Schwanzvergleich hier!!

    Die Mikrocontroller Programmierung wirkt anfangs etwas befremdlich, insgesamt ist sie aber recht einfach. Das wirklich komplizierte ist die Logik dahinter, also das, was zwischen dem Einlesen und Rausschreiben der Daten passiert.
    Und nicht selten sind da ziemlich komplizierte Regler einprogrammiert.
    Das ist das komplizierte. Oder eben digitale Filter bzw. Signalverarbeitung. Das schwierige sind da die mathematischen/physikalischen Dinge. Das Runtertippen in C ist dann zum Glück nicht schwer da man meist mit +-*/ und einigen Variablen auskommt!

    Übrigens ist die Programmierung unter Elektrotechniker oft nur ein Mittel zum Zweck, quasi eine Übersetzung der Mathematik in die Computersprache, Hauptsache das Zeug funktioniert. Informatiker sehen programmieren eher wie Gedichte schreiben, das ganze (also der Programmierstil) muss gewissermaßen "schön" sein.



  • Ist das da http://www.c-plusplus.net/forum/289659 Embedded-Programmierung?



  • Was hat Programmieren jetzt eigentlich mit Informatik zu tun? Einen Mikrocontroller ansteuern kann doch jeder, dafür muss man kein Informatikstudium absolviert haben.
    Vielleicht mal nebenher, irgendwer muss es ja machen - aber Hauptberuflich?!

    /OT: Was bei der (http://www.games-net.de/hosted/tggc/index.php?cat=1&page=8) Aufzählung fehlt ist: TGGC kann "Maschine" nicht richtig schreiben.

    (

    TGGC schrieb:

    TGGC ist Turingmaschienen äquivalent

    )



  • volkard schrieb:

    Ist das da http://www.c-plusplus.net/forum/289659 Embedded-Programmierung?

    Ganz sicher nicht, ein echter Embedded-Programmierer verwendet niemals floating-Point Arithmetik ⚠ 😃 😉
    Außerdem ist das scheußlich.


Anmelden zum Antworten