Kompatibel ?
-
@Swordfish sagte in Kompatibel ?:
@RBS2 sagte in Kompatibel ?:
Somit nagelt man sich nicht zwingend fragwürdigen Mist ans Bein
Beispiel für fragwürdigen Mist der dem Sinn nach in C weniger fehleranfällig zu lösen ist?
New und delete bzw. delete[] zum Beispiel. C++ ohne dynamische Speicherverwaltung ist undenkbar. Deshalb wird C++ auch keiner auf einem Embedded Device mit nur ein paar Kbytes RAM einsetzen wollen.
C++ ist ein Relikt aus der Vergangenheit. Der Urahn aller modernen OOP-Sprachen. Immer wieder gepimpt und aufgebohrt. Wie Frankensteins Monster, eine Designstudie die künstlich am Leben erhalten wird. Ursprünglich angetreten, um C das Wasser abzugraben, darin jedoch gescheitert aber zum Selbstzweck geworden. Das ist witzig und traurig zugleich. Ebensogut hätte man ein altes Forth-System bis zum Erbrechen aufmotzen können.
-
<°)))><
Danke, ich hab genug.
-
@Swordfish sagte in Kompatibel ?:
<°)))><
Danke, ich hab genug.
Du hast ja auch immer wieder nachgehakt, als wolltest du einen Flamewar lostreten. Meine Links haben dir wohl nicht gereicht.
-
@RBS2 sagte in Kompatibel ?:
New und delete bzw. delete[] zum Beispiel. C++ ohne dynamische Speicherverwaltung ist undenkbar. Deshalb wird C++ auch keiner auf einem Embedded Device mit nur ein paar Kbytes RAM einsetzen wollen.
Hab ich gemacht, bin gut damit zurecht gekommen. Waren 2Kb RAM. C++ hat viele verschiedene Facetten zu bieten, man muss halt gucken, was für welchen Anwendungszweck geignet ist und was nicht. Ich kann da Swordfish nur zustimmen, C verleitet einen im Vergleich zu C++ nur nicht vorhandene Features schlechter nachzubauen. Eine schöne Sprache finde ich C dennoch.
-
@Leon0402 sagte in Kompatibel ?:
ch kann da Swordfish nur zustimmen, C verleitet einen im Vergleich zu C++ nur nicht vorhandene Features schlechter nachzubauen.
Das mag vielleicht für Leute gelten, die sonst in C++ programmieren. Wo ist mein geliebter std::string?
-
@RBS2 sagte in Kompatibel ?:
Du hast ja auch immer wieder nachgehakt, als wolltest du einen Flamewar lostreten.
Ich habe kein Interesse an einem Flamewar. Argumente habe ich mir erhofft, sind aber wohl N/A.
-
@Swordfish sagte in Kompatibel ?:
Argumente habe ich mir erhofft, sind aber wohl N/A.
Auch unter vielen Politikern üblich: Argumente der Gegenseite werden werden einfach abgetan oder ignoriert.
-
@RBS2 sagte in Kompatibel ?:
Argumente der Gegenseite
Welche Argumente?? Sogar auf eine konkrete Frage
@Swordfish sagte in Kompatibel ?:
Beispiel für fragwürdigen Mist der dem Sinn nach in C weniger fehleranfällig zu lösen ist?
Hast du nur eine Aneinanderreihung von drei C++-Keywords und "Argumente" gebracht, die objektiv nicht haltbar sind.
-
@Swordfish sagte in Kompatibel ?:
@RBS2 sagte in Kompatibel ?:
Argumente der Gegenseite
Welche Argumente?? Sogar auf eine konkrete Frage
@Swordfish sagte in Kompatibel ?:
Beispiel für fragwürdigen Mist der dem Sinn nach in C weniger fehleranfällig zu lösen ist?
Hast du nur eine Aneinanderreihung von drei C++-Keywords und "Argumente" gebracht, die objektiv nicht haltbar sind.
Du brauchst nicht noch einmal bestätigen, dass du Argumente einfach verwirfst, wenn sie dir nicht gefallen.
-
@RBS2 sagte in Kompatibel ?:
Beispiel für fragwürdigen Mist der dem Sinn nach in C weniger fehleranfällig zu lösen ist?
New und delete bzw. delete[] zum Beispiel. C++ ohne dynamische Speicherverwaltung ist undenkbar. Deshalb wird C++ auch keiner auf einem Embedded Device mit nur ein paar Kbytes RAM einsetzen wollen.
C++ ist ein Relikt aus der Vergangenheit. Der Urahn aller modernen OOP-Sprachen. Immer wieder gepimpt und aufgebohrt. Wie Frankensteins Monster, eine Designstudie die künstlich am Leben erhalten wird. Ursprünglich angetreten, um C das Wasser abzugraben, darin jedoch gescheitert aber zum Selbstzweck geworden. Das ist witzig und traurig zugleich. Ebensogut hätte man ein altes Forth-System bis zum Erbrechen aufmotzen können.Hmm... Mal neutral betrachtet (wobei schon bekannt sein sollte, dass ich hier grundsätzlich nicht neutral bin). Das war deine direkte Antwort. Wo sind da irgendwelche Beispiele aus C, was hast du für Bespiele für eine weniger fehleranfällige Lösung gebracht, und wo sind hier irgendwelche Argumente. Ein Absatz bezieht sich auf C++ Features, die dir nicht gefallen, beantwortet aber in keinster Weise die gestellte Frage oder liefert irgendwelche Argumente. Zweiter Absatz ist sinnloses Gefasel.
-
@RBS2 sagte in Kompatibel ?:
Java war einer der ersten Versuche, die C++-Misere in den Griff zu bekommen.
ist nicht alles irgendwie ein versuch, irgendeine misere in den griff zu bekommen?
Inzwischen sind viele andere Sprachen und Konzepte entstanden.
ja siehe oben. am ende musst du zig programmiersprachen lernen und kannst aber nicht eine einzige vernünftig anwenden.
wenn du z.b. nur C (oder C++) in den grundzügen lernst, dann machst du am anfang natürlich viele fehler. aber spätestens nach 10 jahren hast du die meisten fehler gemacht (und hoffentlich aus ihnen gelernt) und bist quasi der "pro". wenn du jetzt aber C lernst, und dann C++, weil da dieser und jener fehler aus C nicht auftreten kann, und dann java, weil da dieser und jener fehler aus C++ wieder nicht auftreten kann, und dann wieder irgendwas anderes, und dann noch was usw. usf. dann wirst du einfach niemals so supergeil sein, wie jemand der jahrzehntelange erfahrung in einer einzigen programmiersprache aufweisen kann.Auch Java ist nicht mehr ganz so clean wie es einst mal war. Das Feature-Creep, das bei C++ zur Normalität gehört, hat auch die Java-Community in seinen Bann gerissen.
ja das ist halt das, was der markt haben will.
-
@Swordfish sagte in Kompatibel ?:
Wer die Ironie nicht gefunden hat, darf sie trotzdem behalten.
Die war nicht zu überlesen.
-
@Mechanics sagte in Kompatibel ?:
Wo sind da irgendwelche Beispiele aus C, was hast du für Bespiele für eine weniger fehleranfällige Lösung gebracht, und wo sind hier irgendwelche Argumente.
Der argumentative Kern des Ganzen ist, dass der C-Coder nur dynamische Speicherverwaltung verwendet wo es absolut nötig ist. Der C++-Mensch darüber aber meistens nicht nachdenkt, weil seine Sprache ihm die Entscheidung abnimmt. Der viel gepriesene std::string zum Beispiel. C++-Leutchen sind es gewohnt, lauter Blackboxes zusammenzustöpseln, während der C-User jedes Bit beim Vornamen kennt. Beides hat Vor- und Nachteile. Jedoch wird der C++-Mensch oft mit einer übermäßigen Abstraktion konfrontiert, die nur durch seine Sprache kommt. Siehe hier den realloc-Thread im C++-Forum.
-
@Wade1234 sagte in Kompatibel ?:
ja siehe oben. am ende musst du zig programmiersprachen lernen und kannst aber nicht eine einzige vernünftig anwenden.
wenn du z.b. nur C (oder C++) in den grundzügen lernst, dann machst du am anfang natürlich viele fehler. aber spätestens nach 10 jahren hast du die meisten fehler gemacht (und hoffentlich aus ihnen gelernt) und bist quasi der "pro". wenn du jetzt aber C lernst, und dann C++, weil da dieser und jener fehler aus C nicht auftreten kann, und dann java, weil da dieser und jener fehler aus C++ wieder nicht auftreten kann, und dann wieder irgendwas anderes, und dann noch was usw. usf. dann wirst du einfach niemals so supergeil sein, wie jemand der jahrzehntelange erfahrung in einer einzigen programmiersprache aufweisen kann.Stimmt, doch einige Sprachen sind scheinbar nur dazu da, um den persönlichen Nerd-Level zu steigern. Zum Beispiel diese hier: https://www.tutorialspoint.com/scala/scala_overview.htm
-
@RBS2
naja soweit ich weiß gehört die entwicklung von programmiersprachen zum bereich der theoretischen informatik und da es in der wirtschaft nicht auf "grips" oder "tolle ideen", sondern auf zertifikate ankommt, machen einige leute damit ihren doktor (oder den phd) und am ende kommt dann sowas dabei raus.
-
@Wade1234 sagte in Kompatibel ?:
@RBS2
naja soweit ich weiß gehört die entwicklung von programmiersprachen zum bereich der theoretischen informatik und da es in der wirtschaft nicht auf "grips" oder "tolle ideen", sondern auf zertifikate ankommt, machen einige leute damit ihren doktor (oder den phd) und am ende kommt dann sowas dabei raus.Forschung ist ja auch wichtig. Ich finde es nur falsch, ein akademisches Relikt wie Scala sofort als praxistauglich anzupreisen. Aber ist leider so, dass viele Institute auf Fördergelder und Sponsoren angewiesen sind. So muss der Wissenschaftler trommeln, sonst steht er im nächsten Jahr auf der Straße.
Ganz beliebt ist es ja, seit einiger Zeit, komplizierte Algorithmen in eine einzige Anweisung zu packen. Das nennt sich "funktionale Programmierung", ein uraltes Konzept, aber jede Sprache die was auf sich hält, muss das irgendwie anbieten.
-
also ich weiß aus meinem bekanntenkreis, dass es vor einiger zeit (15 jahre oder so) üblich war, fundamente von einfamilienhäusern nicht mehr mit massiver stahlbewehrung zu erstellen, sondern im prinzip dünne stahldrähte in den beton zu mischen. wie sich herausgestellt hat, war das wohl ein riesengroßer fehler, weil die fundamente brüchig wurden.
jetzt kannst du dir sicherlich ausmalen, was da mit dem haus los ist, wenn das fundament brüchig wird, aber weil es neu und billiger war und alles, was modern und günstiger ist, ja automatisch genommen wird, obwohl "alte" techniken ja schon zeit hatten, sich zu bewähren, haben die leute das wohl wie blöde gekauft und gucken jetzt oder in ein paar jahren ziemlich doof aus der wäsche.
naja und genauso ist das ja auch mit allem anderen: es muss lediglich die 6 monate gewährleistung überleben und neu und trendy sein und schon kaufen es alle. wenn du was hinterfragst, bist du ein arroganter spinner, der sich wichtig machen will, und naja so ist das halt.
-
@RBS2: Du verwechselst Lambda-Ausdrücke (bzw. das Lambda-Kalkül) mit Funktionaler Programmierung per se. Nur weil funktionale Programmierung darauf beruht, heißt es ja nicht, daß nicht auch andere (z.B. imperative) Sprachen dies unterstützen dürfen.
Aber ich verstehe nicht, was du dagegen hast - aber auch deine anderen "Argumente" hier im Thread nicht...
-
@Th69 sagte in Kompatibel ?:
Du verwechselst Lambda-Ausdrücke (bzw. das Lambda-Kalkül) mit Funktionaler Programmierung per se. Nur weil funktionale Programmierung darauf beruht, heißt es ja nicht, daß nicht auch andere (z.B. imperative) Sprachen dies unterstützen dürfen.
Das ist am allerwenigsten eine Frage des "Dürfens", sondern eher der Hygiene. Für C gilt "Spirit of C":
Trust the programmer. Don't prevent the programmer from doing what needs to be done. Keep the language small and simple. Provide only one way to do an operation. Make it fast, even if it is not guaranteed to be portable.
Vor allem die Punkte 3 und 4.
Wer das ignorieren will, mag gern C um funktionale Features erweitern. Wer weiß, was der liebe Bjarne aus C gebastelt hätte, hätte ihn damals funktionale Programmierung mehr beeindruckt als OOP?
-
@RBS2 sagte in Kompatibel ?:
Das ist am allerwenigsten eine Frage des "Dürfens", sondern eher der Hygiene.
Ach so. Es geht bloß um Ideologie. Dann passts ja.
@RBS2 sagte in Kompatibel ?:
Wer weiß, was der liebe Bjarne aus C gebastelt hätte, hätte ihn damals funktionale Programmierung mehr beeindruckt als OOP?
C++ war von Beginn an als Multiparadigmensprache ausgelegt.
Du Horst.