Grottiger C-Code

Kamikaze

Warrior of Sunlight
Teammitglied
Aus gegebenen Anlass schaue ich gelegentlich mal ins Keil Forum. Ich habe schnell festgestellt, dass ich dort nur Antworten bekomme, die man auch in der Doku finden kann. Was für mich ziemlich nutzlos ist.

Trotzdem locken mich all die Dinge die man dort zu Lesen bekommt immer wieder.

Kennt ihr das Gefühl, wenn ihr gleichzeitig über etwas lachen oder weinen wollt?

Ich habe eine Weile überlegt ob es ethisch akzeptabel ist Leute öffentlich bloßzustellen. Ich bin aber zu dem Schluss gekommen, dass sie das schon selbst machen.

Ich gebe mal ein paar Beispiele. Hier aus der Kategorie «la la la la laaaa, ich weiß genau was ich tue»:
http://www.keil.com/forum/21618/

Das hier ist aus der Kategorie «die Welt ist schlecht und ich will sterben»:
http://www.keil.com/forum/21623/#Msg113425

Hier etwas aus der Kategorie «hoffentlich machen die das nicht Beruflich»:
http://www.keil.com/forum/21622/

Laut seinem Kumpel sind es Studenten in einem Embedded Job, der Beitrag aus der Kategorie «uneingeschränktes Selbstvertrauen»:
http://www.keil.com/forum/21622/#Msg113363

Hier was aus der Kategorie «wer lesen kann ist im Vorteil»:
http://www.keil.com/forum/21606/

Der Mann wusste sich aber zu helfen. Ich vermute das gehört in die Kategorie «Warez»:
http://www.keil.com/forum/21606/#Msg113364

Hier was zum Lernen aus der Kategorie «Delay != Echtzeit»:
http://www.keil.com/forum/21564/

Und wir sind wieder in der guten alten Kategorie «la la la la laaaa, ich weiß genau was ich tue»:
http://www.keil.com/forum/21544/

OK, das reicht erst mal.
 
Ich habe gerade die absolute Perle wiedergefunden, aus er Kategorie «Entertainment pur»:
http://www.keil.com/forum/21434/

Nur so um den Kontext herzustellen. C51 ist ein Compiler für 8051 Derivate. 8051 ist eine 8-Bit Architektur mit bis zu 256 Byte internen Speicher. Bis zu 64k externer Speicher kann adressiert werden, der von mir verwendete XC878 hat davon 3kB (der Speicher ist auf dem Chip aber von der Architektur her extern, und man kann natürlich bei Mehrbedarf echten externen Speicher anbinden).

Die meisten modernen Derivate haben dafür 20 Adressleitungen, können also bis zu 1MB externen RAM anbinden. Um den zu verwenden muss aber mit so genanntem Banking zwischen 16 Speicherbänken hin und her schalten.
 
Nun ja auch Du hast den künstlerischen Aspekt von C nicht verinnerlicht, diese Sprache wurde geschaffen um Deine Kreativität zu Fördern, das geheimste aus Dir heraus zu holen, ja heraus zu kitzeln und nicht um Dich zu beschränken, deshalb darfste Du auch da alles.

Der Compiler wird Deinen Wünschen immer folgen seien sie auch noch speziel und fern jeder Logik, oder wenn er schlecht drauf auch mal nicht. Du wirst unmögliches erschaffen und Dir immer der Verwunderung Deiner Zeitgenossen gewiss sein ;)

Das sind Meisterwerke der kreativen Herangehensweise Du hast es nur nicht verstanden ;)
Wen interesssieren da sowas Banales wie Fehler :D

> http://www.youtube.com/watch?v=iRkZcTg1JWU
 
Danke, jetzt juckt's mich in den Fingern eine 8051 Demo zu schreiben.

Was natürlich vollkommen kontraproduktiv ist, denn ich optimiere auf statischen Code, das heißt meine Programme sind lang aber brauchen wenig RAM.

Und ich brauche irgendetwas um einen Bildschirm anzusteuern. Und ein Sound Modul. Weißt du was man für einen SID bei ebay hinblättern muss!:grumble:
 
das erinnert mich an meinen ZX81 mit der originalen 512byte RAM Bestückung ;-) Ob der damit auch HDMI hinbekommt?

Gruß ré
 
je nach dem wie viel Geld du über hattest ja oder nein ;-) meiner hatte nur 1/2kbyte RAM. Jetzt hat er 32k, die vollen ich glaube 48k auszuadressieren ist mir zu kompliziert.

Gruß ré

Update, ich bin mir nicht mehr so ganz sich er ob es 1k/2k oder 0,5k/1kb die Grundausstattung war?
 
Zuletzt bearbeitet:
OK, hier haben wir einen echten Killer, Kategorie Sterbehilfe:
http://www.keil.com/forum/21671/

Beim ersten Post musste ich noch Lachen.

Aber beim letzten Satz des Fazit ...
OP schrieb:
RE: If every citizen of Farawayistan wrote perfect English ....

yes sir.

next time i will be sure to use the names idoit and stoopid and bighed :)

but i dont stamp my feet. i am happy because i have good working code.
... hätte ich mich fast übergeben. Hoffentlich wird nichts davon jemals irgendwo eingesetzt.
 
Im Leben jeder in der Industrie arbeitenden Person kommt der Punkt, an dem sie kapiert, dass genau sowas in Chemiewerken, Sprengstofffabriken und mit Pech auch Atomkraftwerken eingesetzt wird. Da muss man sich gar keine Illusionen machen. Egal mit was rumhantiert wird und wie viele Leben oder Milliarden auch dran hängen mögen, man nimmt grundsätzlich die billigst mögliche Lösung. Und das ist dann genau das da.
 
Nun, bei Keil sind das in der Regel Studentenprojekte, wo die Studenten anscheinend ohne jegliche Einführung auf µCs losgelassen werden. In den Fällen besteht dann noch Hoffnung für die Zukunft. Vor 18 Jahren habe ich auch noch mit goto programmiert (in FSMs setze ich das gelegentlich immer noch ein).
 
Moin,

nach diesem Ding gehe ich jetzt mal zum Sterben, weil ich beim Anblick solcher C-Code-Beispiele nicht mehr auf Intensivstation möchte.

JueDan
 
...und diese Studenten machen dann "Praktika" oder sind "Werksstudent" in der Industrie. So oder so schließt sich der Kreis wieder...

Gruß ré
 
Mittlerweile programmieren auch schon Vierjährige. Yaaay!

Wundert mich aber gar nicht. Ich habe mich ja auch mal dazu entschlossen eine Uni zu besuchen und während man ständig gesagt bekommt, wo man sich in die Materie einarbeiten kann ist es eher mehr ein Prüfungsantworten quasi auswendig lernen. War aber zu Schulzeiten nicht anders. Zum Glück gibt es in diesen Zeiten genügend Möglichkeiten sich unabhängig fortzubilden und macht das Ganze eben nur um irgendeinen Wisch zu haben.

Ich wette mindestens einer von denen hat einen superguten Notendurchschnitt sitzt dann mal irgendwo und programmiert die Software eines Atomkraftwerks oder ähnlichem, womit wir dann das Sterben wörtlich nehmen können.
 
Im Leben jeder in der Industrie arbeitenden Person kommt der Punkt, an dem sie kapiert, dass genau sowas in Chemiewerken, Sprengstofffabriken und mit Pech auch Atomkraftwerken eingesetzt wird. Da muss man sich gar keine Illusionen machen. Egal mit was rumhantiert wird und wie viele Leben oder Milliarden auch dran hängen mögen, man nimmt grundsätzlich die billigst mögliche Lösung. Und das ist dann genau das da.

Auch wenn du das etwas überspitzt formulierst - da kann ich dir teilweise zustimmen. Habe es selbst erlebt, d.h. ich war an einem kleineren Projekt (Meßsystem in der Hochfreqenztechnik) beteiligt, wo ich von meinem Chef ganz klar und deutlich gesagt bekommen habe: "Es soll nur funktionieren und gut dokumentiert sein, wie der Code aussieht ist vorerst Nebensache".

Solange aber die festgelegten Rahmenbedingungen eingehalten werden, funktioniert es. Und solange es funktioniert, verdient man Geld damit. Für die Sicherheit von Mensch und Umwelt gibt es andere Kontrollstrukturen, aber das ist ein andere Geschichte.

Ich kann die zynische Haltung einiger Comments hier gut verstehen, aber ich sags mal so: talk is cheap! Gerade in diesem "averege"-Thread sieht man die Ignoranz der selbsternannten Profis, die von ihrem ivory tower aus die Welt mit tollen Kommentaren ständig verbessern :p

Also Mr. Anonymous Nuclear Plant Programmer (B.Sc,M.Sc): Ich weiss, du würdest es besser machen und die Welt wäre danach viel sicherer...... ge-nau. :zitter:
 
Hallo Kamikaze,

ich finde es vorbildlich, wie du deinen Code schreibst/organisierst. Dem gibt es nichts hinzuzufügen.

Aber dennoch muss man ja unterscheiden zwischen einem Codeschnipsel für eine Hausarbeit, einem Open-Source-Projekt, an dem viele interessierte User mitarbeiten können oder einem Projekt für sicherheitskritische Entwicklung inklusive Vertraulichkeitsvereinbarung.
 
Lassen wir die Code-Schnipsel weg, aber in in wie fern sollten die sicherheitskritische Entwicklung sich vom Open-Source-Projekt unterscheiden?

Ich darf daran erinnern, dass der veröffentlichte Code auch in sicherheitskritischen Anwendungen läuft?
 
"Sicherheitskritisch" bedeutet ja wohl nichts anderes, als dass bestimmte festgelegte Kriterien definitiv erfüllt werden. Ob OSS oder CSS ist dabei total egal.
OSS-Projekte können definitiv in "sicherheitskritischen" Systemen verwandt werden. Auch wenn da viele dran mitarbeiten. Erstens gibts dann in der Regel einen Maintainer, der die Checkins überwacht und zweitens gibts bei "sicherheitskritischen" Anwendungen einen entsprechenden Review, der nur Code zulässt, der die Kriterien erfüllt.
 
Schwer da zu definieren, aber man muss echt unterscheiden. Viele Leute veröffentlichen keinen Code, weil sie keinen schlechten Code veröffentlichen wollen, selbst wenn es um banale Dinge geht, wie irgendein Helferlein-Skript, wo es nichts macht, wie es aussieht oder ob der Code funktioniert. Im Endeffekt kann man natürlich nie Wissen, wo der Code zum Einsatz kommt, aber man erkennt doch meist an der Aufmachung um welche Art von Code es sich handelt.

Es ist ja auch ein bisschen, wie das Gebrabbel den ich Tag ein, Tag aus von mir gebe. Das ist keine wissenschaftliche Arbeit, kein lyrisches Werk und befindet sich weit unterhalb jeglichen Standards. Wenn ich ein kleines privates Blog hätte wäre es das Selbe. Heißt das, dass ich still sein muss? Ich denke mal, dass die meisten hier zustimmen, dass dem nicht so ist. So ähnlich verhält es sich auch mit Code. Der sollte der Qualität gerecht werden, die von ihm erwartet wird. Ich denke das Niveau auf einem Hilfeforum sollte nicht unbedingt eine unterste Latte haben müssen. Klar macht es einen Unterschied, ob jemand Lernverweigerung betreibt oder jemand das als Hobby betreibt, neugierig ist und es ihm bzw. ihr einfach an Wissen und Erfahrung fehlt, vielleicht einfach nicht die passende Doku gefunden oder auch falsch verstanden hat.

Man sieht auch mal wieder, dass es nicht so toll ist, wenn man Leute hat die lediglich des Geldes wegen arbeiten.

Ich hacke selbst gerne Prototypen zusammen, einfach nur um mich mit Gedanken zu spielen. Ich release sie meist nicht, weil das Ganze von vornherein nicht zu gutem Code führen kann, aber oft funktioniert es und ich bin mir nicht sicher, ob es nicht auch anderen Arbeit ersparen könnte. Manchmal bin ich auch stolz auf einen ganz kruden Hack. Ich weiß nicht, mir fehlt es da an Erfahrung bzw. habe es einfach nie versucht, aber könnte man so etwas nicht quasi als Tonklumpen sehen, den man zu dem formt was man will. Ich glaube ich habe mal einen Smalltalk-Entwickler gesehen, der mit dem Debugger genau das gemacht hat. Am Anfang war es ein Hack und nach hunderten Iterationen ein (für meine Verhältnisse) gut strukturierter, leicht verständlicher beispielhafter Code.
 
Zuletzt bearbeitet:
Prinzipiell ist das ist das veröffentlichen von Hacks nicht verkehrt. Das nennt man dann Machbarkeitsstudie und kann als Nachweis dienen, dass ein bestimmter Ansatz prinzipiell funktioniert.
 
Zurück
Oben