Welche Sprache erlernen?
-
Man versaut sich mit allem ein bisschen den Stil. Als ich mal mit C arbeiten musste, hab ich krampfhaft alles versucht, in structs zu packen.
Manchmal ist es aber anders einfach passender und weniger umständlich, zwei ints zu übergeben und nicht foo(&(struct Foo) {4, 28});. Man muss halt umdenken.
-
foo(&(struct Foo) {4, 28});
an sowas hab ich ja noch nie gedacht
-
Optimizer schrieb:
und nicht foo(&(struct Foo) {4, 28});
Whoa, das sieht echt übel aus. Hätte gar nicht gedacht, dass sowas geht.
-
Not macht erfinderisch.
-
Michael E. schrieb:
IMHO versaut man sich den Stil mit C. Ich hab große Probleme, OO zu denken.
umgekehrt aber auch. ein vollblut-java-coder kriegt kein vernünftiges c-programm hin.
-
@Michael E.:
Wie schon gesagt ist das natürlich alles sehr abhängig von der einzelnen Person.(was man will sollte man wissen)
Aber doch finde ich besser wenn man mal mit C anfängt, da muss man sich nicht gleich um Klassen etc. kümmern, was ja anfangs doch sehr verwirrend ist.Und "versauen" kann man wirklich nicht sagen. Es kommt immer drauf an was man will. Ich hab in letzter Zeit 2 Programme für meinen Ti200(großer Taschenrechner) geschrieben, und da muss man teilweise ziemlich hardwarenahe arbeiten. Hier ist es gut, wenn man C kann. Außerdem würde C++ hier nix bringen, weil C++ den Code aufbläht und langsamer macht. Zwar nicht auf PC's, aber sicherlich auf derart schwachen Rechnern.(wenns interessiert: LINK )
Grüße,
Harri
-
harry3 schrieb:
Außerdem würde C++ hier nix bringen, weil C++ den Code aufbläht und langsamer macht. Zwar nicht auf PC's, aber sicherlich auf derart schwachen Rechnern.
Quatsch! Der einzige Nachteil ist, dass auf solchen Plattformen die C++ Compiler noch nicht so gut optimieren, weil C dort eben verbreiteter ist. Ansonsten kannst du mit C++ Code gleich performanten Code schreiben.
-
Threadersteller: Wie du sehen kannst, solltest du dich entscheiden, ob du High-Level (Java, C++, C#) oder eher Low-Level (C) programmieren willst.
-
Walli schrieb:
harry3 schrieb:
Außerdem würde C++ hier nix bringen, weil C++ den Code aufbläht und langsamer macht. Zwar nicht auf PC's, aber sicherlich auf derart schwachen Rechnern.
Quatsch! Der einzige Nachteil ist, dass auf solchen Plattformen die C++ Compiler noch nicht so gut optimieren, weil C dort eben verbreiteter ist. Ansonsten kannst du mit C++ Code gleich performanten Code schreiben.
Das ist deine Meinung, jetzt wissen wir das du C++ Fan bist. Hast du ja sehr elegant rübergebracht wenn du gleich mal alles andere mit "Quatsch" bezeichnest.
Lies dir doch mal das Gespräch durch, welches verlinkt ist.(s.o.).
Und überleg dir dann nochmal, was du schreibst.Im Übrigen kann ich mich nur Michael anschließen: Du solltest zumindest ungefähr eine Vorstellung davon haben, was du machen willst. Denn eine Universalsprache für alles gibts halt nicht.
Grüße,
Harri
-
harry3 schrieb:
Das ist deine Meinung
Ne, ist ne Tatsache dass C++ von sich aus nicht langsamer als C ist.
Das Problem ist nur, dass C++ Compiler wesentlich komplexer sind als C compiler und dass die C++ IOStreams nicht perfekt sind..
Und genau das Problem der komplexen C++ Compiler macht C fuer solche Anwendungen sinnvoller, nicht die Sprachfeatures oder Abstraktionskosten.
Lies dir doch mal das Gespräch durch, welches verlinkt ist.(s.o.).
Habe ich ueberflogen (durchlesen habe ich nach den ersten paar posts nicht geschafft, weil soviel dummheit weh tut). Das einzige was C++ dort soweit ich sehe angekreidet wird, sind die IOStreams. Die sind wirklich verbesserungswuerdig, keine Frage - aber man wird ja nicht gezwungen sie zu verwenden...
-
Entwickle dein eigenes Betriebssystem und starte mit Assembler. Das ist das Einzige, was hier echten Respekt bringt!
-
harry3 schrieb:
Lies dir doch mal das Gespräch durch, welches verlinkt ist.(s.o.).
Und überleg dir dann nochmal, was du schreibst.Überzeugt mich nicht, weil man in C++ nicht gezwungen wird bestimmte Sprachfeatures einzusetzen. Man kann also die "langsamen" Sachen weglassen wenn man auf solch einer Plattform programmiert.
-
Michael E. schrieb:
Threadersteller: Wie du sehen kannst, solltest du dich entscheiden, ob du High-Level (Java, C++, C#) oder eher Low-Level (C) programmieren willst.
C++ ist IMO immer noch ordentlich Low-Lewel, oder kann es zumindest sein (z. B. Speicherverwaltung). Da wuerd ich im "High-Level" Bereich eher Python und Ruby aufzaehlen
-
Blue-Tiger schrieb:
C++ ist IMO immer noch ordentlich Low-Lewel, oder kann es zumindest sein (z. B. Speicherverwaltung).
C++ ist IMHO so lowlevel wie man es zulässt
.
-
Walli schrieb:
Blue-Tiger schrieb:
C++ ist IMO immer noch ordentlich Low-Lewel, oder kann es zumindest sein (z. B. Speicherverwaltung).
C++ ist IMHO so lowlevel wie man es zulässt
.
ich muss es einfach nochmal loswerden: "c++ ist wie ein octopus, ein hund, dem man zusätzliche beine angenagelt hat" :p
-
Wenn man C++ lowlevel programmiert, kann man gleich C nehmen. Der Unterschied ist nur, dass man mit C++ highlevel programmieren kann und sollte.
-
Michael E. schrieb:
Wenn man C++ lowlevel programmiert, kann man gleich C nehmen. Der Unterschied ist nur, dass man mit C++ highlevel programmieren kann und sollte.
ROFL!
-
Michael E. schrieb:
Der Unterschied ist nur, dass man mit C++ highlevel programmieren....sollte.
und eben dieses 'sollte' macht es unattraktiv für kleinstcomputer, microcontroller etc.
-
Ohne die anderen Antworten gelesen zu haben -
lern beides.
-
Walli schrieb:
harry3 schrieb:
Lies dir doch mal das Gespräch durch, welches verlinkt ist.(s.o.).
Und überleg dir dann nochmal, was du schreibst.Überzeugt mich nicht, weil man in C++ nicht gezwungen wird bestimmte Sprachfeatures einzusetzen. Man kann also die "langsamen" Sachen weglassen wenn man auf solch einer Plattform programmiert.
Ja aber dann kann man ja gleich schon C nehmen.
Und wenn dann ein cout<<"Hallo Welt" Programm 5kb braucht ist das halt schon ziemlich happig.(mit printf braucht man nur ein paar hundert byte).Grüße,
Harri