du vergisst, es gibt oft auch befehle, welche eben nicht in den c-bibliotheken der hardware mit hinterlegt sind, so z.b. spezielle befehle, um timer zu initialisieren und ähnliches. und an solch einer stelle macht sich dann ein gewisses assembler-verständnis auch schon ganz gut. ausserdem haben hersteller (z.b. microchip) in ihren datenblättern und app-notes immer wieder auch assembler-samples zu verschiedenen themen, welche man mit asm-verständnis wesentlich leichter nachvollziehen kann. (bzw. direkt in den c-code übernehmen könnte).
letzten endes ist es sogar so, dass manche dinge mit assembler sogar einfacher zu machen sind als mit hochsprachen.
und: wenn man asm kann, dann hat man ein gewisses grundverständnis des vorgehens beim programmieren und wenn man das hat, dann ist alles weitere ja nur noch eine frage der grammatik.
im übrigen hatte ich bei java nicht den eindruck, dass das dort sonderlich anders als bei c läuft - wir haben halt lauter klassen gemacht, die vererbt und geerbt haben (was ja im endeffekt so ähnlich wie ein include ist) und dann in mehreren instanzen ausgeführt wurden (das ist wohl der einzige unterschied: dass man einzelne klassen als objekte behandeln kann, das ist an mancher stelle vlt. ganz praktisch, mir ist c allerdings wesentlich lieber!)
naja, egal. von meinen erfahrungen würde ich zum programmieren lernen sagen "erst dlx verstehen, dann java machen, dann c und asm und zuletzt noch auf c++ aufrüsten". da lernt man einiges, letzten endes kann ich es trotzdem nicht sonderlich gut (Denke ich zumindest, ich muss immer wieder alle funktionen suchen und am ende mach ich immer wieder fehler), aber man lernt dann schon einiges.
zum einstieg in java hatten wir damals dieses praktikum:
http://www.mr.inf.tu-dresden.de/?ln=de&t…tikum&site=prak gemacht - das ist eigentlich gar net schlecht, das führt einen langsam in die sprache ein und schritt für schritt versteht man da mehr von java und proggen allgemein. für c die praktika waren bei uns dann leider größtenteils ziemlich nervig (bis hin zu lückentext ausfüllen und der gleichen, aber gut) und meist an spezielle hardware gebunden, da kann ich also nichts empfehlen. aber da finden sich sicher viele einsteiger-kurse im netz.
apropos: eigentlich könnten wir ja mal ein CU-Progg-Projekt aufziehen - inklusive hardware und co., das würde sicher cool sein, auch wenn ich atm eigentlich viel zu wenig zeit dafür hab (atm ham wir tolle praktika - aufbau- und verbindungstechnik, komplexbeleg konstruktionselemente, usw. plus die ganzen vorlesungen), aber so was würde sich dann ja sowieso über längere zeit ziehen. passende ideen hätt ich da sogar schon (z.b. ne lichtleiste mit rgb-leds, jeweils 8 stück pro leistenstück mit jeweils einem µC, der jede led individuell ansteuern kann, dazu ein komunikationsbus usw., um sozusagen beliebig lange lichtleisten zu bauen, bei welcher jede led einzeln in farbe und helligkeit gesteuert werden könnte.

- oder auch ne umfangreiche lüftersteuerung fürn pc, da gibts ja auch nichts wirklich gutes aufm diy-sektor. -.-)