Online-Unterricht
Nachhilfe von zu Hause aus, bequem & sicherFernunterricht, Onlinenachhilfe, E-Learning, via Zoom, Skype, Webcam usw.
Und für alle die dennoch Präsenzunterricht wünschen, bieten wir weiterhin klassische Nachhilfe beim Schüler oder beim Lehrer in Deiner Nähe.
- Suche außerhalb der Benutzerprofile.
Hier nur Suchwörter eingeben, die keine Fächer sind.
z.B. "geduldig" oder "Prüfungsvorbereitung", etc.
Es wird allerdings zusätzlich in den Benutzerprofiltexten gesucht. Nicht aber in den Fächern.
Nachhilfe Informatik 76133 Karlsruhe
Nachhilfe Programmieren, Java, Python, Javascript alle stufen
prozessoren sprechen nur in nullen und einsen. das sogennante binary (binäre). befehle und daten werden in binary eingelesen. ergebnisse in binary ausgegeben. heutige computer haben menschenfreundliche eingaben und ausgaben. die ersten computer wurden jedoch nur in binary bedient. assembler war einer der ersten werkzeuge um die nullen und einsen des binary in einer menschenfreundlichere art zu schreiben (und zu lesen).
mit assembler können wir die befehle in worten schreiben und zahlen im dezimalsystem. ein assemblerprogram übersetzt die menschenlesbare variante zurück in nullen und einsen für den prozessor zum ausführen. die übersetzung ist recht trivial. ähnlich wie ein telefonbuch: name zu nummer (binäre nummer). im kontrast dazu wird bei einer höheren programmiersprache eine anweisung in der regel zu einer ganzen reihe von assembler befehlen übersetzt.
der vorteil von assembler ist die maximale kontrolle. wenn ich fleißig und aufmerksam (und genial) bin dann kann ich programme in assembler schreiben die schneller laufen und weniger speicher verbauchen als programme die mit einer höheren programmiersprache geschrieben sind. dieser vorteil kam hauptsächlich am anfang der computer entwicklung zur geltung. prozessoren waren langsam. arbeitsspeicher war knapp. jede anweisung und jedes byte das man sparen konnte war ein gewinn.
der hauptnachteil von assembler ist die prozessor abhängigkeit. ein assembler programm welches für ein prozessortyp geschrieben ist lässt sich nicht ohne weiteres auf ein anderen prozessortyp übertragen. oft mussten wesentliche teile vom programm neu geschrieben werden. manchmal haben optimierungstricks nur auf ein prozessortyp funktioniert aber nicht auf ein anderen so das programme nicht oder nur mit einschränkungen auf andere prozessortypen lauffähig waren.
ein weiterer nachteil von assembler ist die benötigte genialität und die hohe anfälligkeit für menschliche konzentrationsfehler. assembler programme wurden oft von nur einer person geschrieben und nur von dieser verstanden. wenn dieser die firma verlassen hat hatten seine kollegen teils nur mit großer mühe änderungen einbauen können.
am rande: die ersten computerspiele wurden nicht selten von genialen assembler programmierern entwickelt die den prozessor so ausgereizt haben dass leistung möglich war die selbst der prozessorhersteller nicht erwartet hat.
vergleich mit hohe programmiersprache:
auch in assembler gibt es konzepte wie schleifen und funktionsaufrufe. jedoch muss man die selbst mit hand programmieren. z.b. ein set von zehn assembler befehlen die zusammen eine schleife realisieren. jedesmal wenn du eine schleife haben willst musst du die gleichen zehn assembler befehle wieder schreiben. in einer höheren programmiersprachen musste man dann nur "while" schreiben und der compiler macht daraus diese zehn assembler befehle. dass hat tipparbeit erspart und konzentrationsfehler vermieden. der nachteil ist man konnte diese zehn assembler befehle nicht mehr mit hand feinjustieren um doch noch die eine oder andere anweisung rauszuoptimieren.
warum heute kaum noch jemand assembler programmiert:
die technik hat sich weiter entwickelt und prozessoren wurden immer schneller und arbeitsspeicher immer günstiger. leistungshungrige spiele bzw. programme in einer höheren programmiersprache wurden konkurrenzfähig. so kamen die vorteile der höheren programmiersprachen immer mehr zur geltung und die nachteile von assembler wurden immer schwerwiegender.
lange zeit wurde assembler noch für microcontroller verwendet. z.b. in digitalen armbanduhren oder die steuerung einer mikrowelle. mit der zeit wurden sogar diese prozessoren so mächtig dass man die heute auch mit einer hohen programmiersprache programmiert.
heute existiert assembler code noch in programmen bei den sich die optimierungsarbeit noch lohnt. z.b. in den innersten schleifen von programmen für wissenschaftlichen berechnungen. bei regelmäßig milliarden von datensätzen lohnt sich die mühe mit assembler zu optimieren.
$ befehl1; befehl2
führt befehl1 aus dann befehl2. diese variante ist sinnvoll wenn befehl1 lange dauern wird und befehl2 auf jeden fall im anschluss ausgeführt werden soll.
$ befehl1 && befehl2
führt befehl1 aus und wenn kein fehler dann befehl2. diese variante ist sinnvoll wenn befehl2 nur sinn ergibt wenn befehl1 erfolgreich war. z.b. ordner erstellen dann daten reinkopieren. daten nur reinkopieren wenn ordner erfolgreich erstellt wurde.
$ befehl1 || befehl2
führt befehl1 aus und nur wenn fehler dann befehl2. diese variante ist sinnvoll wenn wir auf fehler von befehl1 reagieren wollen. z.b. ein sensor auslesen und im fehlerfall eine email an techniker schreiben.
$ befehl1 | befehl2
führt befehl1 und befehl2 gleichzeitig aus und die ausgabe von befehl1 wird umgeleitet zu eingabe von befehl2. diese variante ist anders als die vorigen: die befehle werden gleichzeitig ausgeführt statt nacheinander; und die ausgabe von befehl1 wird umgeleitet zu eingabe von befehl2. typische beispiele sind ein datensatz sortieren ($ getdata | sort) oder im datensatz suchen ($ getdata | grep foo).
Nachhilfe Informatik Schule, Studium, Beruf
> einfach kostenlos anmelden!
Nachhilfe Programmieren, Java, Python, Javascript alle stufen
prozessoren sprechen nur in nullen und einsen. das sogennante binary (binäre). befehle und daten werden in binary eingelesen. ergebnisse in binary ausgegeben. heutige computer haben menschenfreundliche eingaben und ausgaben. die ersten computer wurden jedoch nur in binary bedient. assembler war einer der ersten werkzeuge um die nullen und einsen des binary in einer menschenfreundlichere art zu schreiben (und zu lesen).
mit assembler können wir die befehle in worten schreiben und zahlen im dezimalsystem. ein assemblerprogram übersetzt die menschenlesbare variante zurück in nullen und einsen für den prozessor zum ausführen. die übersetzung ist recht trivial. ähnlich wie ein telefonbuch: name zu nummer (binäre nummer). im kontrast dazu wird bei einer höheren programmiersprache eine anweisung in der regel zu einer ganzen reihe von assembler befehlen übersetzt.
der vorteil von assembler ist die maximale kontrolle. wenn ich fleißig und aufmerksam (und genial) bin dann kann ich programme in assembler schreiben die schneller laufen und weniger speicher verbauchen als programme die mit einer höheren programmiersprache geschrieben sind. dieser vorteil kam hauptsächlich am anfang der computer entwicklung zur geltung. prozessoren waren langsam. arbeitsspeicher war knapp. jede anweisung und jedes byte das man sparen konnte war ein gewinn.
der hauptnachteil von assembler ist die prozessor abhängigkeit. ein assembler programm welches für ein prozessortyp geschrieben ist lässt sich nicht ohne weiteres auf ein anderen prozessortyp übertragen. oft mussten wesentliche teile vom programm neu geschrieben werden. manchmal haben optimierungstricks nur auf ein prozessortyp funktioniert aber nicht auf ein anderen so das programme nicht oder nur mit einschränkungen auf andere prozessortypen lauffähig waren.
ein weiterer nachteil von assembler ist die benötigte genialität und die hohe anfälligkeit für menschliche konzentrationsfehler. assembler programme wurden oft von nur einer person geschrieben und nur von dieser verstanden. wenn dieser die firma verlassen hat hatten seine kollegen teils nur mit großer mühe änderungen einbauen können.
am rande: die ersten computerspiele wurden nicht selten von genialen assembler programmierern entwickelt die den prozessor so ausgereizt haben dass leistung möglich war die selbst der prozessorhersteller nicht erwartet hat.
vergleich mit hohe programmiersprache:
auch in assembler gibt es konzepte wie schleifen und funktionsaufrufe. jedoch muss man die selbst mit hand programmieren. z.b. ein set von zehn assembler befehlen die zusammen eine schleife realisieren. jedesmal wenn du eine schleife haben willst musst du die gleichen zehn assembler befehle wieder schreiben. in einer höheren programmiersprachen musste man dann nur "while" schreiben und der compiler macht daraus diese zehn assembler befehle. dass hat tipparbeit erspart und konzentrationsfehler vermieden. der nachteil ist man konnte diese zehn assembler befehle nicht mehr mit hand feinjustieren um doch noch die eine oder andere anweisung rauszuoptimieren.
warum heute kaum noch jemand assembler programmiert:
die technik hat sich weiter entwickelt und prozessoren wurden immer schneller und arbeitsspeicher immer günstiger. leistungshungrige spiele bzw. programme in einer höheren programmiersprache wurden konkurrenzfähig. so kamen die vorteile der höheren programmiersprachen immer mehr zur geltung und die nachteile von assembler wurden immer schwerwiegender.
lange zeit wurde assembler noch für microcontroller verwendet. z.b. in digitalen armbanduhren oder die steuerung einer mikrowelle. mit der zeit wurden sogar diese prozessoren so mächtig dass man die heute auch mit einer hohen programmiersprache programmiert.
heute existiert assembler code noch in programmen bei den sich die optimierungsarbeit noch lohnt. z.b. in den innersten schleifen von programmen für wissenschaftlichen berechnungen. bei regelmäßig milliarden von datensätzen lohnt sich die mühe mit assembler zu optimieren.
$ befehl1; befehl2
führt befehl1 aus dann befehl2. diese variante ist sinnvoll wenn befehl1 lange dauern wird und befehl2 auf jeden fall im anschluss ausgeführt werden soll.
$ befehl1 && befehl2
führt befehl1 aus und wenn kein fehler dann befehl2. diese variante ist sinnvoll wenn befehl2 nur sinn ergibt wenn befehl1 erfolgreich war. z.b. ordner erstellen dann daten reinkopieren. daten nur reinkopieren wenn ordner erfolgreich erstellt wurde.
$ befehl1 || befehl2
führt befehl1 aus und nur wenn fehler dann befehl2. diese variante ist sinnvoll wenn wir auf fehler von befehl1 reagieren wollen. z.b. ein sensor auslesen und im fehlerfall eine email an techniker schreiben.
$ befehl1 | befehl2
führt befehl1 und befehl2 gleichzeitig aus und die ausgabe von befehl1 wird umgeleitet zu eingabe von befehl2. diese variante ist anders als die vorigen: die befehle werden gleichzeitig ausgeführt statt nacheinander; und die ausgabe von befehl1 wird umgeleitet zu eingabe von befehl2. typische beispiele sind ein datensatz sortieren ($ getdata | sort) oder im datensatz suchen ($ getdata | grep foo).
Nachhilfe Informatik Schule, Studium, Beruf
Jetzt einfach + kostenlos anmelden.
Nachhilfe Online
Nachhilfe gesucht? - Suche außerhalb der Benutzerprofile.
Hier nur Suchwörter eingeben, die keine Fächer sind.
z.B. "geduldig" oder "Prüfungsvorbereitung", etc.
Es wird allerdings zusätzlich in den Benutzerprofiltexten gesucht. Nicht aber in den Fächern.