Allgemeine Frage untersschied zwischen C und C++
-
hustbaer schrieb:
Programmiersprachen stürzen nicht ab.
Es sei denn, auf der Popularitäts-Skala
(schon mal im web gesucht nach: +stbasic +print +75.3 ?)
-
u_ser-l schrieb:
(schon mal im web gesucht nach: +stbasic +print +75.3 ?)
Das is ja geil
Was ähnliches gab's bei Turbo-Pascal wenn ich mich richtig erinnere, allerdings nicht mit einer so "kurzen" Zahl...
Oder war's Borland-C?
Hmmm...
-
bumi schrieb:
ich hab mal gelesen das c++ nicht so oft abstürzt wie c
das kannste dir als kurve vorstellen: bie C steigt die anzahl der absturzmöglichkeiten fast linear mit anzahl der codezeilen. vielleicht ist 'ne ganz leichte krümmung drin. bei C++ haste 'ne fiese zackenkurve, wie so'n aktienkurs. einige konstrukte mindern die absturzgefahr, andere steigern sie.
-
Das ist keine Eigenschaft der Sprache sondern eine des Programmierers.
-
knivil schrieb:
Das ist keine Eigenschaft der Sprache sondern eine des Programmierers.
beides. in C bestimmt der programmierer die steigung der kurve. in c++ beeinflusst er das rauschspektrum, etwa von 'wärmerauschen' bis '1/f^2' -rauschen.
-
+fricky schrieb:
knivil schrieb:
Das ist keine Eigenschaft der Sprache sondern eine des Programmierers.
beides. in C bestimmt der programmierer die steigung der kurve. in c++ beeinflusst er das rauschspektrum, etwa von 'wärmerauschen' bis '1/f^2' -rauschen.
dieses RAUSCHEN ist schlicht deine eigene dummheit.
wenn du die sprachmittel nicht zufällig aus der kiste greifst, rauscht da auch nix.
-
+fricky schrieb:
ich mit turbo-c++, damals auf 'nem 468'er. ich konnte schon ein bisschen C und fand's völlig geil, wie konstruktoren und destruktoren automatisch dran kamen.
Schon so lange dabei? Warum hast Du in der ganzen Zeit nichts dazugelernt?
-
volkard schrieb:
wenn du die sprachmittel nicht zufällig aus der kiste greifst, rauscht da auch nix.
naja, das ist nur so'ne verrückte theorie von mir, wie man sich das vielleicht vorstellen könnte. der anfänger produziert weisses rauschen, während der versierte progger sich einer immer glatteren kurve nähert.
volkard schrieb:
+fricky schrieb:
ich mit turbo-c++, damals auf 'nem 468'er. ich konnte schon ein bisschen C und fand's völlig geil, wie konstruktoren und destruktoren automatisch dran kamen.
Schon so lange dabei? Warum hast Du in der ganzen Zeit nichts dazugelernt?
ich hab's halt nicht weiter verfolgt. mich mit den 'martial arts' der c++ programmierung auseinanderzusetzen, war mir die mühe nicht wert. ich bin eher der ergebnisorientierte typ, und keiner, den man für völlig abgefahrene tricks einer bestimmten programmiersprache begeistern kann, wenn's anders einfacher geht.
-
hustbaer schrieb:
Das is ja geil
Was ähnliches gab's bei Turbo-Pascal wenn ich mich richtig erinnere, allerdings nicht mit einer so "kurzen" Zahl...
Oder war's Borland-C?
Hmmm...Naja, wenn die Runtime buggy ist, kann das durchaus passieren. Mein Bruder hatte 'nen ST und nach zwei Versuchen, mit ST-Basic was zu machen mußte GfA- Basic her.
Vermutlich meinst Du aber den unit CRT- Fehler von TP. Die mußte man includen, sonst keine Bildschirm- Ein/Ausgabe. Weil die Borlander aber zur Erstellung eines Softtimers auf die "geniale" Idee kamen, die Maschine mit einer Leerschleife auszubenchen, gab's auf schnelleren Prozessoren als 233er(MHz) einen Unterlauf bzw. Division by zero- Error == crash! Da das gleich zu Beginn stattfand, hatte man zunächst keine Möglichkeit der Umgehung, außer das in der Win-DOS- Box laufen zu lassen, hat aber auch nicht lange geholfen. Später wurde das Teil von anderen Leuten gepatcht.
Aber auch mit C- Compilern hatte ich so meinen Spaß. Ein frühes Keil MCS-51- C strotzte nur so vor Macken und IAR hat mich z.B. mit einem schweren Bug erstmal ewig sitzen lassen und dann für das "Upgrade" die Hand so weit aufgehalten, daß ich dankend verzichtet habe, weil das Projekt längst in ASM umgesetzt war.
Also, es liegt nicht nur an der Sprache und dem Programmierer, sondern auch an deren Implementation.
-
Momentan bin ich dabei C etwas intensiver zu lernen, wenn ich die Klausuren hinter mir habe, gehts weiter mit Java finde auch Java etwas leichter, da ich da schon etwas Erfahrung habe.
-
pointercrash() schrieb:
hustbaer schrieb:
Das is ja geil
Was ähnliches gab's bei Turbo-Pascal wenn ich mich richtig erinnere, allerdings nicht mit einer so "kurzen" Zahl...
Oder war's Borland-C?
Hmmm...Naja, wenn die Runtime buggy ist, kann das durchaus passieren. Mein Bruder hatte 'nen ST und nach zwei Versuchen, mit ST-Basic was zu machen mußte GfA- Basic her.
Vermutlich meinst Du aber den unit CRT- Fehler von TP. Die mußte man includen, sonst keine Bildschirm- Ein/Ausgabe. Weil die Borlander aber zur Erstellung eines Softtimers auf die "geniale" Idee kamen, die Maschine mit einer Leerschleife auszubenchen, gab's auf schnelleren Prozessoren als 233er(MHz) einen Unterlauf bzw. Division by zero- Error == crash! Da das gleich zu Beginn stattfand, hatte man zunächst keine Möglichkeit der Umgehung, außer das in der Win-DOS- Box laufen zu lassen, hat aber auch nicht lange geholfen. Später wurde das Teil von anderen Leuten gepatcht.
Aber auch mit C- Compilern hatte ich so meinen Spaß. Ein frühes Keil MCS-51- C strotzte nur so vor Macken und IAR hat mich z.B. mit einem schweren Bug erstmal ewig sitzen lassen und dann für das "Upgrade" die Hand so weit aufgehalten, daß ich dankend verzichtet habe, weil das Projekt längst in ASM umgesetzt war.
Also, es liegt nicht nur an der Sprache und dem Programmierer, sondern auch an deren Implementation.Nönö, das war schon auch sowas ala "printf("%f", bestimmterWert)" -> Crash.
Ziemlich bizarr.
Bin mir jetzt fast sicher dass dass Borland C war, und dass die Funktion printf war. Naja, egalBTW: der "DICE C" am Amiga war lustig (=extrem buggy). Dafür war der wenigstens gratis. Watcom C/C++ hat auch immer wieder lustige Sachen gemacht. Und nichtmal MSVC 9 hat einen komplett fehlerfreien Code-Generator. Leider
Bin aber bei MSVC 6+ niemehr selbst über einen Fehler gestolpert, d.h. die Situationen in denen die falschen Code erzeugen sind gottseidank sehr speziell, und kommen nur selten vor.
-
^^ zu buggy compilern: http://www.imagecraft.com/ (der icc12) hat einmal den code:
array[index++];
nicht richtig umgesetzt. musste icharray[index]; index++;
daraus machen, damit es ging. hab stundenlang versuch, nen fehler irgendwo im code zu finden. schrottcompiler sind schon allein deshalb nicht lustig, weil man immer zuerst bei sich selbst nach fehlern sucht. dass ich daraufhin diesen compiler nicht mehr verwendete (stattdessen den von freescale), versteht sich von selbst.
-
hustbaer schrieb:
Bin aber bei MSVC 6+ niemehr selbst über einen Fehler gestolpert, d.h. die Situationen in denen die falschen Code erzeugen sind gottseidank sehr speziell, und kommen nur selten vor.
Unter MSVC 6 bin ich noch recht häufig über Fehler gestolpert, vorwiegend aber deshalb weil ich beruflich erst mit diesem zu tun bekam, als ich persönlich schon mit dem 2003/2005 gearbeitet habe (Beginnt schon bei dem Gültigkeitsbereich von Zählervariablen in einer for-Schleife). Ab da ist mir glaube ich nur einmal unter dem 2003 noch ein Fehler direkt aufgefallen.
-
@asc:
Standard-non-compliance, Abstürze beim Compilieren etc. ja, das hat man beim VC6 ja dauernd.Ich meinte aber Fehler im Code-Generator/Optimizer, so dass er mir "silently" falschen Code ausspuckt.
Ich weiss schon dass der VC6 da auch Fehler hat, gibt ja z.B. extra nen komischen Workaround in boost::shared_ptr eben wegen einem VC6 Codegenerator/Optimizer-Bug, aber selbst drübergestolpert bin ich wie gesagt noch nie.
-
abros schrieb:
Momentan bin ich dabei C etwas intensiver zu lernen, wenn ich die Klausuren hinter mir habe, gehts weiter mit Java finde auch Java etwas leichter, da ich da schon etwas Erfahrung habe.
jedenfalls sparst du so den fruchtlosen umweg über c++. du hattest in deinem ersten posting hardware-programmierung erwähnt - das geht nicht mit Java (bevor jetzt einige meckern werden: ich meine 'direkte hardware-programmierung', ohne irgendwelche libraries usw. zu benutzen).
-
+fricky schrieb:
kennt nicht einer ein brauchbares smalltalk-system für windows, gleich mit IDE dabei und so?
IBMs VisualAge SmallTalk, aber das ist Enterprise Software …
-
Fricky wollte ja nicht gleich viel Geld ausgeben.
Obendrein hab' ich gegen IBM- Compiler so meine Vorbehalte. Ich hab' mal bei einer Promo- Aktion IBMs Visual Age for C++ und Visual Age for Basic gekauft. Das Zeug war gemäß IBM- Nomenklatur ("it's not a bug, ...") so "fully featured", daß man damit gar nichts anfangen konnte
. Besonders die C++ - IDE hatte die unpraktische Eigenschaft, sich immer wieder mal die komplette Projektdatenbank zu shreddern und dann abzustürzen
.
Auch das Basic hatte jede Menge Macken und war so entsetzlich langsam, daß MS VB3 daneben fast rasend schnell wirkte. Angeblich war VA4Basic übrigens in Smalltalk geschrieben, ich kann aber nicht beschwören, daß das stimmt.
Also, diese Promo- Aktion war eher so abschreckend, daß ich jegliches Interesse an IBM- Zeugs verloren habe. Später gab's dann zwar Patches, die fast so groß wie die Originalpakete waren, aber da hatte ich nichtmal mehr Lust, sie einzuspielen. Ich weiß nicht, ob sich das allgemein auf IBM- Zeugs übertragen läßt, aber die zwei Pakete waren definitiv Vollscheißdreck (sorry, finde keine freundlichere Bezeichnung, die der Produktqualität angemessen wäre).
-
pointercrash() schrieb:
Fricky wollte ja nicht gleich viel Geld ausgeben.
ich nehm's auch gern, ohne geld auszugeben. bin grosser filesharing und warez-fan.
~john: danke für den tip
-
pc():
ich hab' vor jahren mal mit DB/2 rumgefummelt. dabei musste ich patches in der reihenfolge 1,2,4,3 installieren. in der richtigen sequenz hätte patch 4 wieder bugs eingespielt, die 3 beseitigt hatte. ok, aber auch wenn IBM, was software angeht, nicht so der knüller ist, in puncto hardware sind sie spitze. ich schwöre auf IBMs notebooks. selbst IBM-notebooks, die aus der qualitätskontrolle geflogen sind und als noname-produkte billiger verkauft werden, sind um längen gediegener als beispielsweise irgendwelcher dell-dreck (bei dem dir nach 'nem 1/2 jahr die tasten rausfallen, das wäre eher was für unseren bärigen freund mit chronischem atemwegsleiden (siehe dazu die hardwarequalitäts-threads in 'rund um den PC')).
-
+fricky schrieb:
pc():
ich hab' vor jahren mal mit DB/2 rumgefummelt. dabei musste ich patches in der reihenfolge 1,2,4,3 installieren. in der richtigen sequenz hätte patch 4 wieder bugs eingespielt, die 3 beseitigt hatte.Ich hab' genug Zeit mit OS/2 und dem Warp Server vertrödelt und kenne das Prinzip der gepatchten Patchdisketten noch. Wenn's mal lief, war das System kaum umzuhauen, der Weg dahin z.T. einfach unmenschlich gestaltet.
+fricky schrieb:
ich schwöre auf IBMs notebooks. selbst IBM-notebooks, die aus der qualitätskontrolle geflogen sind und als noname-produkte billiger verkauft werden, ...
... und gibt's nimmer. Das Zeug heißt jetzt Lenovo und ist bis auf die immer noch gute Tastatur der gleiche Chinesenscheißmüll wie von Acer, Asus & Co. Der Laptop eines Bekannten war in 1 1/2 Jahren häufiger in Reparatur als bei ihm zuhause. Lang haben sie ja nicht gebraucht, den guten Ruf anzukratzen ...
+fricky schrieb:
... das wäre eher was für unseren bärigen freund mit chronischem atemwegsleiden (siehe dazu die hardwarequalitäts-threads in 'rund um den PC')).
Jetzt kannste ihm ja den Tip geben
. Leider hatte ich meinem Bekannten zu Lenovo geraten wg. IBM und so. Im Sinne einer zu erhaltenden Freundschaft sollte man sich generell vor Tips hüten ...