Welche Vorteile hat C, was kann man an C loben?
-
Warum wird denn immer sinnloserweise von "Vorteilen" gesprochen und nicht über die "sinnvollen Einsatzzwecke"?
-
vorteile:
für jede noch so schäbige cpu gibt's einen c compiler d.h. c ist am weitesten verbreitet.
c ist einfach und überschaubar, auch wenn's manchmal für programmierneulinge relativ schwierig zu erlernen ist.
c ist standardisiert. das bietet eine gewisse sicherheit bei portierungen.
c ist gut für maschinennahe programmierung d.h. es ist sowas wie ein portable assemblersprache.
es gibt terabytes an fertigen, millionenfach eingesetzten, uralten, bewährten c-codes.
mit c hat man 99% kontrolle. wo c nicht mehr weiterhilft, hilft nur noch maschinencode.nachteile:
eigentlich nur einen - es erfordert ziemlich viel disziplin vom programmierer.
-
C ist doch nur was für Masochisten.
-
c absteiger schrieb:
C ist doch nur was für Masochisten.
hey, du sollst vorteile nennen. sonst macht cracki den thread zu...
-
c ist standardisiert. das bietet eine gewisse sicherheit bei portierungen.
naja soweit die theorie, wollen wir uns mal nix vormachen, die praxis sieht da etwas anders aus.
aber nichts desto trotz mag ich c trotzdem, hab mal mit basic angefangen und bin froh nicht mehr damit zu programmieren, wie gesagt in c kann man so gut wie alles machen, und das sehr schnell.
aber mit jeder sprache kann man doch alles machen, klar wenn man in basic n spiel coded würde es end langsam werden, aber theoretisch wäre es doch möglich.
somit wäre der vorteil die geschwindigkeitmfg
blut-lecker
-
blut-lecker schrieb:
aber mit jeder sprache kann man doch alles machen
Ach ja!?
Greetz, Swordfish
-
ich kann mich auch täuschen, aber ich meine, das in irgendeinem buch schonmal gelesen zu haben, aber wenn es falsch ist lasse ich mich gerne korrigieren.
mfg
blut-lecker
-
Mit perl zB. den BIOS-ROM auszulesen dürfte IMHO schwierig werden.
Greetz, Swordfish
-
swordfish: sag das nicht, ich moechte wetten, irgendein irrer langhaariger pinguinlover (
) hat dafuer schon den kernel gehackt und ein perl modul zum interface geschrieben.
wenn du nur einen hammer hast, fangen alle probleme an auszusehen wie naegel.
C auf embedded ist prima, aber C als z.b. KI-sprache ist hirngeschaedigt.
~die "staerke" von c ist nun mal die befriedigung von kontrollfreaks (ich bezeichne mich als teilzeitkontrollfreak). solche leute sind per definition nicht in der lage, die komplexitaet, die sie erschaffen, angemessen zu managen. code faengt an, gross und schwabbelig und traege zu werden, weil der kontrollfreak seine option niemals aufgeben will, alles und immer bis ins feinste detail zu steuern.
wenn der boss einer firma dem praktikanten jedes mal auf die flossen guckt, waehrend der mal wieder nen pott kaffee ansetzt,... ja was denn dann? dann bleiben wichtige, grosse entscheidungen eben liegen und alles tritt weiter auf der stelle.~
-
c.rackwitz schrieb:
swordfish: sag das nicht, ich moechte wetten, irgendein irrer langhaariger pinguinlover (
) hat dafuer schon den kernel gehackt und ein perl modul zum interface geschrieben.
Klappe, 'witz, ich hab' lange haare und sitz 'grad vor emacs...
Ich meinte damit, es sei mit blankem perl nicht möglich.
Greetz, Swordfish
-
Swordfish schrieb:
Mit perl zB. den BIOS-ROM auszulesen dürfte IMHO schwierig werden.
Greetz, Swordfish
Swordfish schrieb:
Ich meinte damit, es sei mit blankem perl nicht möglich.
Greetz, Swordfish
Wenn ich mich nicht täusche ist sowas auch nicht mit blankem (Ansi-)C möglich.
Ansi-C kann schließlich nichts außer Daten einzulesen sie zu bearbeiten
und wieder auszugeben. Für Dinge wie Netzwerk, Grafik... braucht man
auch wieder spezielle Bibliotheken.Was kann man an C loben?
Ich würde sagen das man mit C alles unter Kontrolle hat (so glaubt man zumindest).
-
Storm.Xapek.de: linux netzwerk/grafiktreiber sind in c geschrieben, weil man in c auch auf hardware zugreifen kann (obgleich dazu im kernelmode irgendwas eventuell assemblermaessiges ausgefuehrt werden muss). sowas koennte als bibliothek gelten, aber nichtsdestotrotz gehts. du kannst ja schliesslich keinem zumuten, treiber in assembly zu schreiben. nicht mal unter windows ist das so.
> Ich würde sagen das man mit C alles unter Kontrolle hat (so glaubt man zumindest).
q.e.d.
-
c.rackwitz schrieb:
[...], aber nichtsdestotrotz gehts.
Danke.
Storm.Xapek.de schrieb:
Ich würde sagen das man mit C alles unter Kontrolle hat (so glaubt man zumindest).
FULL ACK
Greetz, Swordfish
~edit by c.rackwitz: das war Storm.Xapek.de, nicht ich :)~
-
Swordfish schrieb:
Klappe, 'witz, ich hab' lange haare und sitz 'grad vor emacs...
ich hab' auch lange haare aber sass im ganzen leben keine 10 minuten vor emacs
zum thema: assemblerfans würden aber jetz aber ungläubig gucken, wenn denen einer erzählt man hätte mit einer hochsprache (c) alles unter kontrolle...
-
net schrieb:
assemblerfans würden aber jetz aber ungläubig gucken, wenn denen einer erzählt man hätte mit einer hochsprache (c) alles unter kontrolle...
Echte Assembler-Fans denken erst, sie haben alles unter Kontrolle, wenn sie Hammer und Lötkolben in den Händen halten.
Greetz, Swordfish
-
von wegen asm vs. c
--> http://forums.freescale.com/freescale/board/message?board.id=16BITCOMM&message.id=1133&view=by_date_ascending&page=1
-
c absteiger schrieb:
C ist doch nur was für Masochisten.
Oder etwas für Leute, die sich intensiv mit einer Sprache befassen wollen, anstatt stupiden Syntaxzucker runterzuleiern, fernab von jeglichem Codedesign.
Obwohl ich selbst noch einiges mit C zu tun habe, kann ich keine wirklichen Vorteile sehen. Zumindest wenn man C++ in den Vergleich mit einbezieht. Der einzige Vorteil von C liegt in der starken Verbreitung, und dass praktisch so gut wie für jedes relevante System Compiler existieren. Wurde ja auch schon erwähnt. Hat aber eben direkt mit der Sprache, also der reinen Spezifikation, nicht viel zu tun.
-
Swordfish schrieb:
Echte Assembler-Fans denken erst, sie haben alles unter Kontrolle, wenn sie Hammer und Lötkolben in den Händen halten.
Wofür denn den Hammer? Entsorgung gehört doch normalerweise nicht zu Planung.
Bezüglich man kann mit jeder Sprache alles machen. Das wäre warscheinlich richtig, wenn sich alle Sprachen compilieren ließen und alle Compiler eine gemeinsame ABI benutzten würden. Dann wäre es nämlich wirklich egal.
-
groovemaster schrieb:
Obwohl ich selbst noch einiges mit C zu tun habe, kann ich keine wirklichen Vorteile sehen. Zumindest wenn man C++ in den Vergleich mit einbezieht.
c++ ist aufgemotztes c. das ist zwar auf den ersten blick ein segen aber durch solche faxen wie virtuelle funktionen, operator/function overloading, default parameter, selbstdefinierte operatoren wie z.b. >> usw. kann man sehr schnell völlig unverständlichen code produzieren. ausserdem kann es passieren, dass c++ programme einen enormen speicherhunger entwickeln und riesige executables erzeugen wenn man nicht genau aufpasst. der vorteil einer objektorientierten sprache (den benutzer von maschinenspezifischen dingen abzuschirmen) verwandelt sich schnell in einen nachteil. deshalb wird auf kleinstcomputern vorzugsweise c ohne ++ eingesetzt...
-
net schrieb:
aber durch solche faxen wie virtuelle funktionen,...der vorteil einer objektorientierten sprache...
Wenn virtuelle Funktionen (die es im übrigen genaugenommen
gar nicht gibt) für dich Faxen sind, dann würde ich gerne mal
wissen, wie bei dir OO-Sprachen funktionieren sollen!