Welche Sprache erlernen?



  • 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



  • Das hängt doch davon ab, wie der Compiler für meinen Toaster cout implementiert. Es muss ja nicht fett sein, einfach nur, weil es cout ist.
    Wenn ich nen Compiler hab, der für nen Toaster Programme erstellt, wird dort das cout weniger puffern und ein paar andere Sachen anders machen.



  • falsch! schrieb:

    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!

    Dürfte ich auch erfahren, wie du zu dieser Meinung gekommen bist?



  • Michael E. schrieb:

    falsch! schrieb:

    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!

    Dürfte ich auch erfahren, wie du zu dieser Meinung gekommen bist?

    Also lowlevel kann man nur mit den C typischen Sachen machen. Und da kann man dann wirklich auch gleich schon C nehmen.

    Allerdings kann man das "Top Argument" von "falsch!" wohl eh nicht allzu ernst nehmen.

    mfg
    harri



  • 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.

    Nein, das ist falsch.

    Man nimmt zB boost::array statt einem normalen Array und zahlt exakt nichts. Natuerlich kann einem niemand an C hindern, aber man kann so ziemlich alle C++ features ohne mehrkosten gegenueber den C konstrukten verwenden...

    harry3 schrieb:

    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).

    Wieso? Nur weil du nicht iostream verwendest? Auf dem TI wuerde ich sowieso etwas eigenes verwenden - denn wie willst du sonst vernuenftig die Ausgabe positionieren?

    IOstreams != C++
    nur weil ein Teil der Library zu heavy ist, schmeisst man nicht die ganze Sprache weg.

    harry3 schrieb:

    Also lowlevel kann man nur mit den C typischen Sachen machen. Und da kann man dann wirklich auch gleich schon C nehmen.

    Falsch.
    Ich kann mit C++ so low level gehen wie ich will. Nur der Trick: ich will es nicht. Weil ich in C++ auf einer hoeheren Schicht (zB boost::array) mehr moeglichkeiten und selbe performance habe (manchmal sogar bessere performance).

    Allerdings kann man das "Top Argument" von "falsch!" wohl eh nicht allzu ernst nehmen.

    Dein Argument "Lowlevel C++ ist C" aber auch nicht 😉



  • Shade Of Mine schrieb:

    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.

    Nein, das ist falsch.

    Man nimmt zB boost::array statt einem normalen Array und zahlt exakt nichts. Natuerlich kann einem niemand an C hindern, aber man kann so ziemlich alle C++ features ohne mehrkosten gegenueber den C konstrukten verwenden...

    Wo widerspreche ich dem?



  • harry3 schrieb:

    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.

    Ne, C++ bietet dir viele Sachen die sehr angenehm sind und trotzdem zur Laufzeit nichts kosten, z.B. Templates. Ausserdem muss hohe Abstraktion sich nicht zwangsläufig negativ auf die Performance niederschlagen.



  • Michael E. schrieb:

    Wo widerspreche ich dem?

    dass Lowlevel C++ == C ist.
    Ich kann bei C++ an stellen low level gehen aber an anderen stellen nicht. es macht halt keinen sinn zu sagen, dass man gleich C nehmen kann wenn man lowlevel will.

    Weil man mit C++ das ja auch kann und zusaetzlich abstraktionen einfuehren kann um die lowlevel arbeiten zu erleichtern. oder einfach wirklich nur lowlevel in C++ und einfach von templates profitieren...



  • Shade Of Mine schrieb:

    Ich kann bei C++ an stellen low level gehen aber an anderen stellen nicht.

    Dann ist es ja nicht mehr vollständig lowlevel.

    Weil man mit C++ das ja auch kann und zusaetzlich abstraktionen einfuehren kann um die lowlevel arbeiten zu erleichtern.

    Ebenfalls.

    oder einfach wirklich nur lowlevel in C++ und einfach von templates profitieren...

    Das lass ich gelten 😉


Anmelden zum Antworten