Umsteigen nach C++ oder lieber c#?
-
virtuell Realisticer schrieb:
Die Behauptung kann ich nicht finden...
mfg
v RHm, ich auch nicht mehr..
Sorry, war wohl einfach wiedermal so ne natuerliche Abwehrreaktion, anzunehmen, dass da wiedermal einer Delphi auf Win beschraenken will..
-
durito schrieb:
virtuell Realisticer schrieb:
Die Behauptung kann ich nicht finden...
mfg
v RHm, ich auch nicht mehr..
Sorry, war wohl einfach wiedermal so ne natuerliche Abwehrreaktion, anzunehmen, dass da wiedermal einer Delphi auf Win beschraenken will..hehe, kenn ich sowas :). Ebenso bloed war wohl auch meine Reaktion darauf, war
natuerlich net boes gemeintmfg
v R
-
Hey, der smile-interpreter versagt...
-
durito schrieb:
Sorry, war wohl einfach wiedermal so ne natuerliche Abwehrreaktion, anzunehmen, dass da wiedermal einer Delphi auf Win beschraenken will..
Wie gut geht denn Delphi unter Linux?
Mir ist da nur Kylix bekannt - und dass Borland mit Kylix nicht mehr viel macht, dürfte wohl alles sagen
-
Real schrieb:
Ist es denn tatsächlich so, dass jeder Depp Java kann?
Nein, aber es ist so, dass jeder Depp denkt, er würde Java können.
Siehe hier.
-
Gregor schrieb:
Real schrieb:
Ist es denn tatsächlich so, dass jeder Depp Java kann?
Nein, aber es ist so, dass jeder Depp denkt, er würde Java können.
Siehe hier.
Die ganzen Klassen verkomplizieren meiner Meinung nach Java mehr als vereinfachen.
Liebe Grüße
Real
-
Real schrieb:
Die ganzen Klassen verkomplizieren meiner Meinung nach Java mehr als vereinfachen.
1. Wie meinst du das?
2. Was ist der Bezug zu diesem Thread?
-
Java sollte ja einfach sein, weil Klassen einem viel Arbeit ersparen soll.
Aber in Java gibt es soviele Klassen, dass es meiner Meinung nach mehr verkompliziert als hilft.ergo V1 => wenn Klassen einem die ganze Arbeit abnehmen, lernt man nicht programmieren
ergo V2 => gibt es dann auch weniger Java-Programmierer, die damit zu Recht kommen
In C++ kann ich zwar nur wenige Konsolenbefehle, dass ich mir damals autodiktatisch beigebracht habe, (wurde dann später durch die Schule zu Java gezwungen) aber schon von Anfang an fand ich Java sehr viel komplexer. Man kann das schon mit einem simplen I/O belegen.
Liebe Grüße
Real
-
Stimmt, System.out.println(String) ist natürlich der Wahnsinn.
Die I/O API von Java ist einfach genial und sie ist genauso komplex wie man will.
-
Naja gibt genausoviele Javagurus wie in anderen Sprachen auch, man kann mit Java leichter
grafische Oberflächen erstellen, was dann dazu führt, dass meine Mitschüler bei den Aufgaben das layout hinbekommen
und bei dem eigentlichen Problem der Aufgabe scheitern.
Ich hätte die anfangs nur mit der Konsole arbeiten lassen und denen die Grundlagen richtig
beigebracht.Am schlimmsten sind die PHPler, da gibt es "Experten" wie Sand am Meer
-
Ui, ein Lehrer hier anwensent?
Muss ich loben, die meisten haben soetwas "nicht nötig" und bleiben genauso dumm wie vorher. Mein Programmiertechnik-Lehrer topp ich schon (was nicht heisst, dass ich kompetent bin!)Liebe Grüße
Real
-
Real schrieb:
ergo V1 => wenn Klassen einem die ganze Arbeit abnehmen, lernt man nicht programmieren
Niemand sagt, dass man von Anfang an alle Klassen der Standardbibliothek nutzen muss. Es ist stattdessen eher üblich, dass man sich vor dem Benutzen von bestimmten Klassen selbst ähnliche Klassen selbst programmiert. Zum Beispiel sollte man vor dem benutzen einer LinkedList selbst mal eine Liste programmiert haben. Man sollte auch schonmal diverse Sortieralgorithmen programmiert haben, bevor man Arrays.sort() nutzt. Ich sehe da auch kein Problem, denn als Anfänger weiß man ja eh erstmal nicht, was es überhaupt für Klassen gibt und wozu die da sind.
-
Ob das dann jeder macht, ist eine andere Fragen.
Ausserdem denke ich nicht, dass Java-Programmierer so kreativ wie C-Programmierer (weiss nicht wie es mit C++ ausschaut) sind, die sich ihre Algorithmen selbst programmieren.Liebe Grüße
Real
-
Was hat das mit kreativ zu tun? Und was wäre dir lieber? Arrays.sort nicht anzubieten?
-
Hallo,
in C++ gibts die STL, also auch da kann man faul sein. Natürlich sollte man Algorithmen kennen und implementieren können, aber man ist imho nicht automatisch ein guter Programmierer, weil man BubbleSort, Verkettete Listen und Binäre Bäume im Schlaf zusammenbasteln kann, wie Gregor schon sagte.
Wieso sollte ich nicht einen hochoptimierten Algorithmus verwenden, der sich schon 1000mal bewährt hat, und stattdessen meinen eigenen, evtl. fehleranfälligen und/oder langsameren, benutzen?
-
Hi,
es müssen ja nicht unbedingt eigene Algorithmen sein. Nur ihn selbst zu implementieren und den Algorithmus zu verstehen finde ich sehr wichtig.In Java gibt man irgendeine Klasse und eine Variable ein und schon hat sich alles erledigt. Das ist zumindest für Anfänger nicht gut (zähle mich selbst darunter)!
Darum bin ich strikt dagegen, dass man Java als erste Sprache lehrt!
Wenn ich jemanden einen Ratschlag geben würde, dann würde ich ihm/ihr sagen zuerst C/C++ zu lernen.Meine Meinung.
Liebe Grüße
Real
-
Hallo,
wie schon erwähnt, in C++ gibts die STL. Da bliebe dann noch C...
Wenn du allerdings der Meinung bist, dass dich das nicht weiterbringt oder der Lerneffekt abhanden kommt (wo ich dir zustimme) musst du diese Dinge ja nicht benutzen. Du wirst nur feststellen, dass du, wenn du länger programmierst, froh bist, dass es diese Dinge gibt.
-
Hi Carsten,
ja kann ich mir gut vorstellen, wenn man nen Algorithmus zum x.ten Mal implementiert, dass das mit der Zeit nervig ist. Aber die Erfahrung sollte man aufjedenfall gehabt haben (nicht nur einmal).Liebe Grüße
Real
-
Das ist die Meinung eines Anfängers.
Ich mein man muss doch nur wissen, wie ein Algorithmus funktioniert. Das implementieren ist dann doch eher nebensache.
Beispiel Quicksort: Wenn man eine leere Liste sortieren soll, ist das Ergebnis eine leere Liste. Sonst: Man nehme ein Element, rufe sich selbst mit den Elemente auf, die kleiner als dieses Element sind und nochmals mit den Elementen, die größer oder gleich diesem einen Element sind. Dann hängt man diese beiden Listen aneinander und alles ist sortiert.Das könnte man doch jetzt mal eben einkloppen:
template<typename T, typename P> vector<T> filter (vector<T> const & source, P pred) { vector<T> tmp; for (vector<T>::const_iterator it=source.begin(); it!=source.end(); ++it) if (pred(*t)) tmp.push_back (*it); } vector<T> quicksort (vector<T> list) { if (list.empty()) return vector<T>(); else { vector<T> result; result.insert (result.end(), quicksort (filter<T>(bind2nd (less<T>(), list[0]))); result.insert (result.end(), quicksort (filter<T>(bind2nd (greater_equal<T>(), list[0]))); return result; } }
(Ungetestet, garantiert Vertipper drin).
Gut man sieht, das C++ nicht die Optimale Sprache für solche Algorithmen ist. Aber es gibt natürlich Sprachen, die für sowas geeignet sind:
quicksort [] = [] quicksort (x:xs) = quicksort [y | y <- xs, y < x] ++ [x] ++ quicksort [y | y <- xs, y >= x]
Dafür hast du dann in C++ die Möglichkeit das ganze noch wesentlich effizienter zu bauen.
Nebenbei: Wieso gibt's in C++ eigentlich keine ordentlichen Lsiten (aus funktionaler Sicht)?
-
Real schrieb:
In Java gibt man irgendeine Klasse und eine Variable ein und schon hat sich alles erledigt. Das ist zumindest für Anfänger nicht gut (zähle mich selbst darunter)!
Darum bin ich strikt dagegen, dass man Java als erste Sprache lehrt!
Klar, ich bin auch der Meinung dass man lieber mit ASM anfangen soll. Denn da weiss man noch was man macht. Da wird man nicht so verweichlicht wie bei Hochsprachen.