welche vorteile bietet c++ gegenüber c



  • Alle guten haben damals mit Basic auf C64 oder ähnlichem angefangen. Diskussion beendet.



  • warum wird Programmierung an allgemeinbildenden Schulen eigentlich nicht mit Single-Paradigma-Sprachen gelernt?

    "Single-paradigma" heißt "leicht erfaßbar" + "keine ablenkung vom eigentlichen Programmier-Paradigma". Dann kämen jährlich hunderttausende Schüler mit LISP-, Logo-, Smalltalk-, Scratch- oder sogar APL- oder Forth-Kenntnissen von der Schule und bräuchten nicht jede kaputte Hype-Sprache toll zu finden.



  • Oder man nimmt gleich Java zum lernen, so wie an der Uni. Damit hat man gleich die Sprache mit der weitesten Verbreitung in der Tasche. Die Wenigsten brauchen heute noch C oder C++ in ihrem Beruf als Programmierer.



  • ZumHundertstenMal schrieb:

    Und für einen Programmieranfänger ist das wichtig? Reicht da nicht die Python-Perfomance?

    Es ist für jeden interessant der Algorithmen jenseits von Bubblesort implementieren möchte.

    Oder man nimmt gleich Java zum lernen, so wie an der Uni. Damit hat man gleich die Sprache mit der weitesten Verbreitung in der Tasche. Die Wenigsten brauchen heute noch C oder C++ in ihrem Beruf als Programmierer.

    Oh Gott..



  • ZumHundertstenMal schrieb:

    Und für einen Programmieranfänger ist das wichtig? Reicht da nicht die Python-Perfomance?

    Je schlechter der Arbeiter, desto besser muß das Werkzeug sein.

    Wobei es natürlich auch nicht dumm ist, einem guten Arbeiter gutes Werkzeug zu geben, aber er ist bei weitem nicht so stark darauf angewiesen.



  • volkard schrieb:

    ZumHundertstenMal schrieb:

    Und für einen Programmieranfänger ist das wichtig? Reicht da nicht die Python-Perfomance?

    Je schlechter der Arbeiter, desto besser muß das Werkzeug sein.

    Genau, darum setzen wir Fahranfänger in Rennwagen und drücken jeden Hobbyknipser ein 10000€ Kamera in die Hand. 🙄



  • zudu schrieb:

    volkard schrieb:

    ZumHundertstenMal schrieb:

    Und für einen Programmieranfänger ist das wichtig? Reicht da nicht die Python-Perfomance?

    Je schlechter der Arbeiter, desto besser muß das Werkzeug sein.

    Genau, darum setzen wir Fahranfänger in Rennwagen und drücken jeden Hobbyknipser ein 10000€ Kamera in die Hand. 🙄

    Nein, da sehe ich eh keine Gefahr.

    Aber wir stecken Fahranfänger in uralte Rostschüsseln, die allein von der Technik her schon ein zehnfach höheres Unfallrisiko haben und wundern uns, daß an den Alleen die Bäume kaputtgehen und Jugendliche sterben.
    Wir schenken unseren Kindern Kameras um unteren 50-Euro-Segment und werden uns bestätigt sehen, daß ihnen das Knipsen keine Begeisterung entlocken wird.



  • In deiner Traumwelt.

    http://www.autosieger.de/article15354.html

    Das Unfallrisiko junger Fahranfänger ist nach ADAC-Informationen höher als bei Autofahrern anderer Altersklassen. Zwar stellen sie nur ca.12% aller Führerscheinbesitzer der Klasse B (3), verursachen jedoch 25% aller Pkw-Unfälle. Nicht angepasste Geschwindigkeit ist die Unfallursache mit dem höchsten Anteil junger Fahrer: 40,3% der Unfälle wurden 2006 von 18- bis 25-Jährigen verschuldet. Bei Verkehrsunfällen, in denen Alkohol im Spiel war, ist diese Altersgruppe im Vergleich zu den übrigen Autofahrern mit 34% dabei. Mit 25,5% sind junge Fahranfänger an Autounfällen durch Überholen beteiligt.



  • zudu schrieb:

    In deiner Traumwelt.

    http://www.autosieger.de/article15354.html

    Das Unfallrisiko junger Fahranfänger ist nach ADAC-Informationen höher als bei Autofahrern anderer Altersklassen. Zwar stellen sie nur ca.12% aller Führerscheinbesitzer der Klasse B (3), verursachen jedoch 25% aller Pkw-Unfälle. Nicht angepasste Geschwindigkeit ist die Unfallursache mit dem höchsten Anteil junger Fahrer: 40,3% der Unfälle wurden 2006 von 18- bis 25-Jährigen verschuldet. Bei Verkehrsunfällen, in denen Alkohol im Spiel war, ist diese Altersgruppe im Vergleich zu den übrigen Autofahrern mit 34% dabei. Mit 25,5% sind junge Fahranfänger an Autounfällen durch Überholen beteiligt.

    Der Vergleich hinkt eh. Ein Auto ist hier nicht als Werkzeug zu sehen und die Maximalgeschwindigkeit kein Gütezeichen.



  • Ja, die ganze Werkzeugtheorie ist Müll. Nem Anfänger sollte man eine Programmiersprache geben, die relativ sauber und einfach ist und mit der man Spass hat und schnell was interessantes programmieren kann. Wenn es einen interessiert, lernt er sowieso noch jede Menge Sprachen.



  • cooky451 schrieb:

    Es ist für jeden interessant der Algorithmen jenseits von Bubblesort implementieren möchte.

    Na, so langsam ist Python nun doch wieder nicht. 😉

    Wie gesagt, du magst ja schlechte Erfahrungen mit deinem Lehrer gemacht haben, aber die Sprache ist sicherlich nicht das Problem.



  • zudu schrieb:

    Ja, die ganze Werkzeugtheorie ist Müll. Nem Anfänger sollte man eine Programmiersprache geben, die relativ sauber und einfach ist und mit der man Spass hat und schnell was interessantes programmieren kann.

    Das kann man so allgemein nicht sagen. Verschiedene Anfänger haben unterschiedliche Bedürfnisse.



  • ZumHundertstenMal schrieb:

    cooky451 schrieb:

    Es ist für jeden interessant der Algorithmen jenseits von Bubblesort implementieren möchte.

    Na, so langsam ist Python nun doch wieder nicht. 😉

    Wie gesagt, du magst ja schlechte Erfahrungen mit deinem Lehrer gemacht haben, aber die Sprache ist sicherlich nicht das Problem.

    Es geht hier nicht um die Geschwindigkeit sondern darum, dass ich es sinnlos finde Algorithmen für einen Computer zu implementieren (nach diesem Schritt hat man die abstrakte Mathematik ja schon hinter sich gelassen) ohne sich Gedanken über Speicher, Overhead, etc. zu machen. Denn diese Überlegungen sind es doch die den Schritt Mathematik->Implementierung ausmachen. Wenn ich diesen aber nicht gehen möchte, brauche ich auch kein Python/sonstwas.

    Nem Anfänger sollte man eine Programmiersprache geben, die relativ sauber und einfach ist und mit der man Spass hat und schnell was interessantes programmieren kann.

    Kann man machen wenn man als Ziel hat dass der Anfänger möglichst schnell ein paar bunte Fensterchen zaubern kann.



  • richtigesprache schrieb:

    Oder man nimmt gleich Java zum lernen, so wie an der Uni. Damit hat man gleich die Sprache mit der weitesten Verbreitung in der Tasche. Die Wenigsten brauchen heute noch C oder C++ in ihrem Beruf als Programmierer.

    Java 😮 ???? nicht dein ernst oder ??



  • Nenne mir mal eine Sprache die weiter verbreitet ist als Java und dennoch einfach er erlernen ist???



  • hmmhmmhmm schrieb:

    Nenne mir mal eine Sprache die weiter verbreitet ist als Java und dennoch einfach er erlernen ist???

    keine Ahnung, ich kanns mir nur nicht vorstellen



  • cooky451 schrieb:

    ZumHundertstenMal schrieb:

    cooky451 schrieb:

    Es ist für jeden interessant der Algorithmen jenseits von Bubblesort implementieren möchte.

    Na, so langsam ist Python nun doch wieder nicht. 😉

    Wie gesagt, du magst ja schlechte Erfahrungen mit deinem Lehrer gemacht haben, aber die Sprache ist sicherlich nicht das Problem.

    Es geht hier nicht um die Geschwindigkeit sondern darum, dass ich es sinnlos finde Algorithmen für einen Computer zu implementieren (nach diesem Schritt hat man die abstrakte Mathematik ja schon hinter sich gelassen) ohne sich Gedanken über Speicher, Overhead, etc. zu machen. Denn diese Überlegungen sind es doch die den Schritt Mathematik->Implementierung ausmachen. Wenn ich diesen aber nicht gehen möchte, brauche ich auch kein Python/sonstwas.

    Du vielleicht nicht, aber es gibt einen ganzen Haufen Leute, die nicht programmieren, weil sie es so toll finden, sondern einfach, weil sie was ausprobieren, ein Konzept validieren, oder ein paar Sachen einmal berechnen wollen.

    Dafür ist die Entwicklungszeit relevant und nicht unbedingt, ob der Speicher optimal genutzt wird oder der Code ohne Veränderungen auf irgendeiner Embedded CPU der Waschmaschine oder dem Aufzug läuft. Wenn das die Constraints sind, dann entwickelt man Software ohnehin anders, als das, was üblicherweise auf einem Desktop-System gestartet und beendet wird.



  • hmmhmmhmm schrieb:

    Nenne mir mal eine Sprache die weiter verbreitet ist als Java und dennoch einfach er erlernen ist???

    C



  • Daniel E. schrieb:

    Dafür ist die Entwicklungszeit relevant und nicht unbedingt, ob der Speicher optimal genutzt wird oder der Code ohne Veränderungen auf irgendeiner Embedded CPU der Waschmaschine oder dem Aufzug läuft. Wenn das die Constraints sind, dann entwickelt man Software ohnehin anders, als das, was üblicherweise auf einem Desktop-System gestartet und beendet wird.

    Mein Code läuft auch auf der Waschmaschine im Aufzug!
    Zudem ist die Entwicklungszeit bei Programmieranfängern wohl eher irrelevant.

    die nicht programmieren, weil sie es so toll finden, sondern einfach, weil sie was ausprobieren,

    ??

    ein Konzept validieren,

    Aha.. und jetzt noch mal für kleine Fische, denn einen Zusammenhang zum Thema kann ich hier irgendwie nicht erkennen.

    oder ein paar Sachen einmal berechnen wollen.

    Dafür muss man auch eigene Programme schreiben..



  • Es geht hier nicht um die Geschwindigkeit sondern darum, dass ich es sinnlos finde Algorithmen für einen Computer zu implementieren (nach diesem Schritt hat man die abstrakte Mathematik ja schon hinter sich gelassen) ohne sich Gedanken über Speicher, Overhead, etc. zu machen.

    Du sagst auf der einen Seite, dass die Geschwindigkeit nicht das Argument ist, man sich auf der anderen Seite aber trotzdem Gedanken um Overhead und Speicherverbrauch machen soll. Seltsame Argumentation...

    Denn diese Überlegungen sind es doch die den Schritt Mathematik->Implementierung ausmachen.

    Nein. Man kann Programme sogar so entwerfen, dass gar kein Unterschied zwischen Mathematik und Implementierung besteht (siehe Funktionale Programmierung).
    Diese Überlegungen müssen gemacht werden, wenn man das letzte Quäntchen Geschwindigkeit herausholen möchte.

    Wichtig für Programmieranfänger (oder desinteressierte Schüler) ist doch nicht, wie ein Algorithmus mit dem Speicherplatz umgeht, sondern wie der Algorithmus funktioniert.

    C

    Das Problem an C ist, dass gerade desinteressierte Schüler damit überhaupt nichts gebacken bekommen werden, sobald es über "Hello World" hinausgeht. Die Sprache ist zwar nur etwas besserer Assembler und deswegen sehr einfach zu verstehen, aber wegen der geringen Abstraktionsmöglichkeiten muss man halt häufig großen Aufwand betreiben, was ich desinteressierten Schülern nicht zutraue.


Anmelden zum Antworten