Warum programmiert ihr in C und was?
-
CFrager schrieb:
Habe ich das jetzt richtig verstanden, dass Speicherfehler in C und C++ möglich sind, dies aber vom Können des Programmierer abhängt?
Ja.
-
dachschaden schrieb:
Swordfish schrieb:
struct foo { int bar; }; int main() { foo f; }
Welchen Wert hat
f.bar
?Undefiniert, weil in C++ der Standard-Konstruktor nix macht. Ich glaube allerdings, du hast meine Kritik nicht verstanden.
Ich glaub eher, mich hat deine allgemeine Aussage gestört. (... und wer regt sich ernsthaft über einen ctor aus, der effektiv nop ist)
-
Swordfish schrieb:
(... und wer regt sich ernsthaft über einen ctor aus, der effektiv nop ist)
Jemand der C++ nicht wirklich verstanden hat oder sich weigert, es zu versuchen...
-
CFrager schrieb:
Habe ich das jetzt richtig verstanden, dass Speicherfehler in C und C++ möglich sind, dies aber vom Können des Programmierer abhängt?
das ist so ziemlich die beste Zusammenfassung des Threads hier. Also ja.
-
Swordfish schrieb:
Ich glaub eher, mich hat deine allgemeine Aussage gestört. (... und wer regt sich ernsthaft über einen ctor aus, der effektiv nop ist)
[] Du hast meinen Post verstanden.
Lies dir einfach noch mal diesen Satz durch:
dachschaden schrieb:
Die von dir angegebene Struktur macht nichts kompliziertes. Nimm aber stattdessen eine Struktur, die einen Zeiger hält, mit der ich arbeiten will.
und verstehe, dass mich nicht das nop, sondern der durch RAII "erzwungene" Laufzeitverhalten stört. Der Konstruktor in deinem Beispiel ist nop, der in meinem ein Schlachtschiff.
CFrager schrieb:
Habe ich das jetzt richtig verstanden, dass Speicherfehler in C und C++ möglich sind, dies aber vom Können des Programmierer abhängt?
Wie so fast alles.
Ich habe immer noch Benchmarks im Kopf, die "beweisen", dass Java schneller sein soll als C oder C++. Mies programmieren kannst du in jeder Sprache.
-
Ich denke bei Java geht es auch in erste Linie nicht um Performance, sondern darum automatisch einige Fehler zu vermeiden und die Vorteile einer VM zu nutzen + guter Standardbibliothek.
Aber das Java auch sehr ressourcensparend sein kann, hat Android gezeigt. Es ist gut genug für die meisten Apps.
-
Vielleicht hat ja noch Jemand eine Antwort auf meine Ursprungsfrage. Warum ihr C nutzt und was ihr so für Programme damit an den Start bringt?
-
CFrager schrieb:
Aber das Java auch sehr ressourcensparend sein kann, hat Android gezeigt.
Das Android und ressourcensparend war jetzt als Witz gemeint, oder?
Bei Android kann man sich meiner Erfahrung nach alle zwei Jahre ein neues Gerät holen, weil sich auf dem Alten nichtmal mehr in endlicher Zeit der Browser öffnen lässt. Android ist mir persönlich mittlerweile so arg zu blöd geworden, dass ich mir garantiert keine Android Gerät mehr kaufen werde. Ich hab jedenfalls nicht vor, alle 24 Monate ein paar hundert Euro zu investieren, nur damit ich ab und zu mal unterwegs was Googlen kann. Für mich ist nicht nachvollziehbar, wie Leute die Performance dieses Systems überhaupt auch nur annähernd akzeptabel, geschweige denn gut finden können. Das uralte Windows 7 Phone meiner Mutter läuft immer noch dreimal so flüssig wie mein Android am ersten Tag, obwohl letzteres mehr als doppelt so starke Hardware verbaut hat...never again...
-
Hmm, ich habe noch nie Probleme mit der Geschwindigkeit gehabt. Ein WindowsPhone hatte ich auch schon, das ist wirklich nett nur an Software mangelt es leider sehr. Mein jetziges Android ist ein P8 Lite und hat 180,-EUR gekostet. 13MPixel Kamera, 2GB Ram, 8Core(64Bit 1,2GHz) CPU, Dualsim, 16GB intern mit SD erweiterbar. Lies sich problemlos auf Android6.0 updaten und ist sau flüssig in der Bedienung.
Wenn ich alle 2 Jahre mal 180,- EUR ausgebe geht das in Ordnung für mich.
-
nop ist was von assembler (0x90), nicht von C oder C++. Mit nops macht man u.U. schmutzige Sachen.
-
dot schrieb:
CFrager schrieb:
Aber das Java auch sehr ressourcensparend sein kann, hat Android gezeigt.
Das Android und ressourcensparend war jetzt als Witz gemeint, oder?
Bei Android kann man sich meiner Erfahrung nach alle zwei Jahre ein neues Gerät holen, weil sich auf dem Alten nichtmal mehr in endlicher Zeit der Browser öffnen lässt.
Du meinst also, Android ist dynamisch? So, dass es im Lauf der Zeit langsamer wird?
Interessant ...
-
Belli schrieb:
dot schrieb:
CFrager schrieb:
Aber das Java auch sehr ressourcensparend sein kann, hat Android gezeigt.
Das Android und ressourcensparend war jetzt als Witz gemeint, oder?
Bei Android kann man sich meiner Erfahrung nach alle zwei Jahre ein neues Gerät holen, weil sich auf dem Alten nichtmal mehr in endlicher Zeit der Browser öffnen lässt.
Du meinst also, Android ist dynamisch? So, dass es im Lauf der Zeit langsamer wird?
Interessant ...Systemupdate und so...ich zieh mir das ja alles nicht aus der Nase, das Teil liegt hier 2 m von mir entfernt am Tisch und ich habs mittlerweile auch schon gejailbreaked und komplett neu aufgesetzt, hilft alles nix. Zum Glück ist grad vor ein paar Tagen mein neues Windows Phone gekommen, jetzt brauch ich mich nie wieder mit diesem Android Müll rumärgern...
-
Ja, alles wird immer langsamer. Hier gibts doch grad auch einen Thread, was für einen Rechner man braucht um ein "riesiges" Java Projekt mit 300 Source Files zu bearbeiten, und dass ein 6 Jahre alter Rechner schon zu alt ist. Als ob man nicht schon vor 15-20 Jahre problemlos an viel größeren Projekte gearbeitet hätte.
-
Mechanics schrieb:
Ja, alles wird immer langsamer. Hier gibts doch grad auch einen Thread, was für einen Rechner man braucht um ein "riesiges" Java Projekt mit 300 Source Files zu bearbeiten, und dass ein 6 Jahre alter Rechner schon zu alt ist. Als ob man nicht schon vor 15-20 Jahre problemlos an viel größeren Projekte gearbeitet hätte.
Hardwarequalität * Softwarequalität = immer eine Konstante.
-
Ok, Java ist schlecht, Android ist schlecht und Windows sowieso. Wie einfach die Welt doch ist :p Zum Glück kann ich selbst entscheiden was mir am besten gefällt.
Mich würde weiterhin interessieren was ihr an C toll findet und was ihr so damit macht?
-
CFrager schrieb:
Mich würde weiterhin interessieren was ihr an C toll findet und was ihr so damit macht?
Anscheinend verstecken sich die C-Programmierer, oder es gibt hier einfach keine. Ich halte es jedenfalls so, dass ich keinen Grund für C sehe, wenn ich doch C++ kann, außer äußere Umstände (a.k.a. bestehendes Projekt in C) zwingen mich zu C. Da dies primär ein C++-Forum ist, wird es wohl vielen ähnlich gehen.
-
SeppJ schrieb:
Ich halte es jedenfalls so, dass ich keinen Grund für C sehe, wenn ich doch C++ kann, außer äußere Umstände (a.k.a. bestehendes Projekt in C) zwingen mich zu C. Da dies primär ein C++-Forum ist, wird es wohl vielen ähnlich gehen.
Der einzige rationale Grund, C zu verwenden, ist ja auch, dass es für eine Zielplatform keinen brauchbaren C++ Compiler gibt. Und das ist halt im 21. Jhd. relativ selten der Fall...
-
dot schrieb:
....
Der einzige rationale Grund, C zu verwenden, ist ja auch, dass es für eine Zielplatform keinen brauchbaren C++ Compiler gibt....Oder weil es für eine (alte) Zielplattform keinen zugelassen C++ Compiler gibt, da es sich um sicherheitsrelevante Software handelt, die darauf laufen muss. Hatten wir in meiner ehemaligen Firma auch schon, da musste tatsächlich die objektorientierte C++ Software nach C portiert werden.
-
dot schrieb:
Belli schrieb:
dot schrieb:
CFrager schrieb:
Aber das Java auch sehr ressourcensparend sein kann, hat Android gezeigt.
Das Android und ressourcensparend war jetzt als Witz gemeint, oder?
Bei Android kann man sich meiner Erfahrung nach alle zwei Jahre ein neues Gerät holen, weil sich auf dem Alten nichtmal mehr in endlicher Zeit der Browser öffnen lässt.
Du meinst also, Android ist dynamisch? So, dass es im Lauf der Zeit langsamer wird?
Interessant ...Systemupdate und so...
Okay ... mach ich nicht. Zumindest auf Win Desktops war es bisher aber auch immer so, dass eine neue OS-Version hardwarehungriger als der Vorgänger war.
Wenn man jedes Mal das neueste OS iVm sonstiger neuer SW haben will, ist jede Hardware nach 2 bis 3 Jahren ausgereizt, schätze ich.
-
Hmm ok, dann sind hier wohl doch die meisten auf der C++Schiene, ist ja auch ein C++ Forum.
Ich nutze C derzeit zum Lernen der Sprache an sich und befasse mich mit Grafikprogrammierung, aber ohne GPUs, sondern rein CPU basiert. Später will ich auch unter Linux und für Mikrocontroller programmieren.
Java und Android mache ich auch noch. Ja, man kann Java und gleichzeitig C mögen :p
Falls es dennoch den ein oder anderen C-Fan gibt, wäre es schön wenn er hier noch was schreiben könnte.
Assembler steht als nächstes auf dem Plan, das interessiert mich auch.