Unterschied c c++ c#



  • volkard schrieb:

    Das kann man so allgemein nicht sagen. Vegleiche Modula-II mit C++, vergleiche Brainfuck mit Lisp.

    das sagt so allgemein auch niemand - oder sind BF, Mod. II und Lisp objektorientiert, gibt es da neue Forschungsergebnisse 😕



  • Unregistrierter schrieb:

    volkard schrieb:

    Das kann man so allgemein nicht sagen. Vegleiche Modula-II mit C++, vergleiche Brainfuck mit Lisp.

    das sagt so allgemein auch niemand - oder sind BF, Mod. II und Lisp objektorientiert, gibt es da neue Forschungsergebnisse 😕

    Also schränkst Du ein. Das ist schonmal ein Anfang.
    Trotzdem kann man das nicht so allgemein sagen.



  • 0xb.x.O51 schrieb:

    oder sind BF, Mod. II und Lisp objektorientiert, gibt es da neue Forschungsergebnisse 😕

    Lisp ist doch wohl _der_ Inbegriff einer Multiparadigmen-Programmiersprachenfamilie, also klar kann Lisp objektorientiert sein.
    Siehe zB. CLOS, das schon lange Teil von Common Lisp ist.



  • 0xb.x.O51 schrieb:

    das sagt so allgemein auch niemand - oder sind BF, Mod. II und Lisp objektorientiert, gibt es da neue Forschungsergebnisse 😕

    eigentor :p

    vielleicht sind syntaktische regeln doch nicht wirklich das richtige kriterium um die restriktivitaet einer sprache zu betrachten...



  • wer schränkt hier was ein?

    Ich rede von Anfang an von objektorientierten Sprachen. 'liberal' ist nicht gerade das erste Attribut, das mir bei C++ einfällt.



  • 0xb.x.O51 schrieb:

    wer schränkt hier was ein?
    Ich rede von Anfang an von objektorientierten Sprachen. 'liberal' ist nicht gerade das erste Attribut, das mir bei C++ einfällt.

    Aber wie Du "...Syntaxdiagramme auf ein halbes Faltblatt passen: weniger Regeln heißt mehr Freiheit" zusammenbaust, heißt das zuznächst allgemein: "Weniger Syntaxregeln heißt mehr Freiheit" und das ist schlichtweg Unfug. Mit Einschränkung ist es immernoch grober Unfug. Du kennst doch selber Sprachen, wo man alles in Klassen stecken muß oder keine Destruktoren bauen kann oder keine Templates kennt oder Zeiger nicht hat oder kein reinterpret_cast, also man diesbezüglich also weniger Freiheiten hat, wobei die Sprachen auch mit weniger Regeln auskommen.



  • 0xb.x.O51 schrieb:

    wer schränkt hier was ein?

    Ich rede von Anfang an von objektorientierten Sprachen. 'liberal' ist nicht gerade das erste Attribut, das mir bei C++ einfällt.

    Ich weiß nicht was du meinst, aber liberal ist C++ sehr wohl. Du hast const, nicht const, du hast 5 Möglichkeiten etwas zu casten, du hast struct und class, du hast Funktionspointer und Interface, du kannst alles mögliche als Ausnahme werfen und du kannst alle Ausnahmen wieder fangen, du kannst fast alle Operatoren überladen (Glanzleistung ist es den ,-Operator überladen zu können). Du hast Referenzen und Pointer, du kannst das const keyword fast überall hinsetzen (const void* const method(const A &a) const; es macht so viel Spass).

    C++ ist sehr liberal. Das einzige was ich in C++ vermisse ist ein Konzept. Aber ich werde sicher wieder verwiesen, min. 10 Bücher über C++ zu lesen, min. 5 von Stroustrup und der Rest mit Titel wie "Effektiv C++ oder Wie kann ich in diesem Durcheinander was finden". Oder man liest sich erst mal 22 Kapiteln durch, damit man C++ "Effektiv" im Unternehmen einsetzen kann http://www.doc.ic.ac.uk/lab/cplus/c++.rules/



  • DEvent schrieb:

    Das einzige was ich in C++ vermisse ist ein Konzept.

    Konzepte für C++ werden in Foren wie diesem erfunden.



  • DEvent schrieb:

    Das einzige was ich in C++ vermisse ist ein Konzept.

    Weil C++ dich nicht zwingt A zu machen. Du kannst auch B oder C machen.

    Wenn du natürlich strikte Begrenzungen willst ist Java natürlich besser. Wenn du aber Ideen zu Code führen willst ist C++ eine gute Wahl.



  • DEvent schrieb:

    Das einzige was ich in C++ vermisse ist ein Konzept.

    Das Konzept war eine objektorientierte Erweiterung für C zu machen, C mit Klassen. Und wie das so ist, wenn man immer nur dazu baut, es entsteht Wildwuchs



  • Shade Of Mine schrieb:

    Wenn du aber Ideen zu Code führen willst ist C++ eine gute Wahl.

    C++ ist schlimmste Discipline and Bondage Programmierung. Mit Python kannst du Ideen umsetzen.



  • DEvent schrieb:

    [...] Das einzige was ich in C++ vermisse ist ein Konzept.

    Aha.

    Realist_ schrieb:

    Konzepte für C++ werden in Foren wie diesem erfunden

    Heheh 🙂

    DEvent schrieb:

    Aber ich werde sicher wieder verwiesen, min. 10 Bücher über C++ zu lesen, min. 5 von Stroustrup und der Rest mit Titel wie "Effektiv C++ oder Wie kann ich in diesem Durcheinander was finden".

    Weißt Du, es ist viel schlauer auf ein Buch zu verweisen, als mit eigenen Worten das zu erklären, was in einem dieser Bücher steht. Selbst wenn sich jemand die Mühe machen würde, etwas hier zu erklären, wäre das wahrscheinlich pure Zeitverschwendung. Die meisten hier haben sich ja sowieso ihre Meinung schon (ein)gebildet. Zumindest ist erstmal das Misstrauen groß. Du hast beispielsweise ordentlich übertrieben, was mir sagt, dass Du an keiner ernsten Diskussion interessiert bist. Stroustrup hat 3 aktuelle Bücher: TC++PL, D&E und das neue für Anfänger. Dir davon mehr als zwei ans Herz zulegen, hätte sicherlich keiner gemacht. Es gibt natürlich auch einige Bücher von anderen Autoren. Aber prinzipiell brauchst Du nur ein "legality guide" (was kann/darf man machen, zB TC++PL) und ein "morality guide" (was sollte man machen, zB EffC++). Dann bist Du eigentlich schon gut ausgerüstet. Die Konzepte sind die Dinger, die typischerweise in guten Büchern erklärt werden und bei kostenlosen Web-Tutorien in der Regel auf der Strecke bleiben.



  • Shade Of Mine schrieb:

    Wenn du aber Ideen zu Code führen willst ist C++ eine gute Wahl.

    wenn ich ideen zu code führen will nehm ich eine sprache wie scala oder ruby ... 😮



  • auauauau12 schrieb:

    wenn ich ideen zu code führen will nehm ich eine sprache wie scala oder ruby ... 😮

    dann sind das wahrscheinlich ganz andere "Ideen" als die, die ein C buw C++ Programmierer hat. Schließe nicht von Dir auf andere.



  • krümelkacker schrieb:

    auauauau12 schrieb:

    wenn ich ideen zu code führen will nehm ich eine sprache wie scala oder ruby ... 😮

    dann sind das wahrscheinlich ganz andere "Ideen" als die, die ein C buw C++ Programmierer hat. Schließe nicht von Dir auf andere.

    Es kommt immer auf die Idee an. Welche Ideen wären es denn, für die sich C++ besonders gut zur Umsetzung eignet? Irgendwie möchte mir jetzt nichts einfallen... 😕



  • auweia #2 schrieb:

    Es kommt immer auf die Idee an. Welche Ideen wären es denn, für die sich C++ besonders gut zur Umsetzung eignet?

    All das, wo einem Ausführungsgeschwindigkeit und Speicherverbrauch wichtiger sind als die Länge des zu schreibenden Codes. Kannst ja mal Google fragen, warum die ihren Suchmotor in C++ geschrieben haben und nicht in Ruby. Kannst ja mal Adobe fragen, warum sie ihre Produkte in C++ geschrieben haben und nicht in Scala. Kannst ja mal Sun fragen, warum die ihre JVM Implementierung nicht in Java, sondern in C++ geschrieben haben. Kannst ja mal die Leute fragen, die hauptsächlich Number-Chrunching machen und Optimierungsprobleme mit über einer Milliarden Unbekannten lösen. Kannst ja mal hier gucken.

    Kannst jetzt auch argumentieren, dass C hier genauso gut geeignet wäre. Das sieht aber eher nach einer Geschmacksfrage aus als alles andere. Man kann in C++ durch geschickte Nutzung der Sprachmittel recht elegante und performante Programme abliefern, in denen die eigentliche Anwendungslogik kurz und leicht nachvollziehbar ist und das meiste an Magie in kleinen Modulen abstrahiert/isoliert wurde. Man kann aber auch viel Blödsinn mit der Sprache anstellen und die Sprachmittel missbrauchen. With power comes responsibility.

    IMO Interessante Links:
    Paradox of Choice (kann man vielleicht auf die große Sammlung der C++ Sprachmittel beziehen)
    What Should We Teach New Software Developers? why?



  • krümelkacker schrieb:

    Kannst ja mal Adobe fragen, warum sie ihre Produkte in C++ geschrieben haben...

    Der Adobe Reader ist mal ein gutes Beispiel, dass nicht alles was in C++ geschrieben wurde auch schnell ist.

    Aber Geschwindigkeit ist wirklich das was für C++ Spricht, der Rest der Sprache wird immer grauenhafter, je genauer man hinschaut. Ok, mit Destruktoren und RAII kann man noch interessante Sachen machen.


Anmelden zum Antworten