Programmiersprache (assembler)

...komplette Frage anzeigen

1 Antwort

Hochsprachen laufen nicht auf allen Plattformen? Kann sein, aber tun Assembler das? Du kannst durchaus ein C-Programm schreiben, was sowohl auf einem PC als auch auf einer Sun-Workstation läuft. Mit einem Assembler wirst du das kaum schaffen, weil die Sun einen anderen Prozessor hat als ein PC.

Und wenn deine Programme zu langsam sind, solltest du mal deine Algorithmen überprüfen. Mit dem falschen Algorithmus sind auch Assemblerprogramme langsam. Da die meisten Compiler heute Optimierungen vornehmen, ist der Unterschied zwischen compiliertem Programm und direktem Assemblerprogramm nicht mehr so groß.

Und Hochsprachen haben Ihre Tücken? Sicher, aber Hochsprachen wurden geschrieben, weil sie leichter zu verstehen sind, als Assemblerprogramme, weil sie eben viel näher an der menschlichen Sprache und Denkweise liegen als Assembler. Wenn du also mit denen schon Schwierigkeiten hast, wirst du am Assembler auch nicht viel Freude haben.

steini1904 05.10.2010, 20:38

assembler haben einfach eine stupidere schreibweise (nicht, dass sie stupider wären), passen also irgendwie besser zu mir.

verständlichkeit ist eigentlich kein problem, es ist nur nervig, dass wenn du in einer 1.200 zeilen langem syntax eine variable falsch geschrieben hast, das ganze programm einfach lahm liegt....assembler sieht mir da eher nach einer ziemlich einfachen schreibweise aus (und ich pass in solchen (wie soll ich das jetzt nennen) "zahlenbasierten" "systemen" einfach besser auf (man ich bin erst 16 da ist man einfach oft abgelenkt)

und ja im prinzip hast du recht (ich trottel hab mich halt (typisch für mich) einfach blöd ausgedrückt), mit plattformen waren betriebssysteme gemeint (also, du wirst mit einer vbs-syntax wenig auf einem linux-system anfangen können)

0
GrobGeschaetzt 06.10.2010, 03:36
@steini1904

Du wirst auch in Assembler deine Speicher- und Sprungadressen nicht als Zahlen ansprechen, sondern ihnen Namen geben - eines der Features eines Assemblers. Und wenn du dich da dann verschreibst, hast du genau das gleiche Problem wie mit Variablen in einer Hochsprache. Eine falsch geschriebene Variable wird dir übrigens ein vernünftiger Compiler gleich anmotzen (falls du nicht VB mit Option explicit=off verwendest), weil sie dann nicht definiert ist. Und wer Variablen x1,x2,x3 usw. nennt und dann sich bei der Ziffer vertippt, ist natürlich selber schuld.

Deine 1200-Zeilen-Syntax in VB wird in Assembler dann vielleicht 5000 - 10000 Zeilen haben, weil man sich in Assembler um jeden Furz persönlich kümmern muss. So einen schönen Ausdruck wie x=meineFunktion(a*b+c)/2 darfst du in lauter kleine Stückchen zerlegen. Übersichtlicher und leichter verständlich ist das garantiert nicht.

Nochmal zur Geschwindigkeit: Auch Betriebssysteme und Spiele, bei denen es wirklich auf Geschwindigkeit ankommt, werden in Hochsprachen geschrieben. Allenfalls noch als Hybridprogrammierung, d.h. kleinere Schleifen, die sehr oft durchlaufen werden, werden in Assembler geschrieben und der Rest in einer Hochsprache.

0
GrobGeschaetzt 06.10.2010, 03:36
@steini1904

Und nochmal zur Kompatibilität: Klar, das alte VB als Microsoftsprache wirst du halt auch im Wesentlichen nur in einem MS-Betriebssystem finden. Aber für Linux gibt es inzwischen Mono, was ziemlich kompatibel zu .NET ist und es gibt sogar schon einen VB-Compiler dafür, C# natürlich auch.

In Hochsprachen rufen die Basisfunktionen wie Textausgabe oder Dateizugriff die entsprechenden Betriebssystemroutinen auf. Ein Befehl zum Datei öffnen wie fopen(Dateiname, modus) in C heißt auf jedem Betriebssystem so und ist daher kompatibel. Ich kann mir jetzt nicht vorstellen, dass solche Routinen in Assembler in verschiedenen Betriebssystemen auch gleich sind - lasse mich aber gern eines besseren belehren.

Ich will dir deinen Assembler gar nicht ausreden. Zum Verständnis, was auf Prozessorebene passiert, ist es gar nicht schlecht, sich auch mal damit beschäftigt zu haben. Aber ich glaube, du erhoffst dir vom Assembler etwas, was er dir gar nicht bieten kann. Nen Link kann ich dir leider nicht anbieten, sorry.

0
steini1904 06.10.2010, 16:29
@GrobGeschaetzt

ich erhoffe mir von einem assembler besonders endlich klammer etc. loszukriegen...(ok ich bin 16, da will man mit seinen kenntnissen durchaus auch angeben können xD)

und da wär noch was: mein eigentlicher wunsch ist es einen computer direkt steuern zu können, und nicht einen umweg über eine andere software nehmen zu müssen (ok, um ein DOS kommt man einfach nicht rum)

0

Was möchtest Du wissen?