Kompatibel ?



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


  • Gesperrt

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


  • Gesperrt

    @Swordfish sagte in Kompatibel ?:

    C++ war von Beginn an als Multiparadigmensprache ausgelegt.

    C++ war von Beginn an "C mit Klassen".



  • @RBS2 sagte in Kompatibel ?:

    @Swordfish sagte in Kompatibel ?:

    C++ war von Beginn an als Multiparadigmensprache ausgelegt.

    C++ war von Beginn an "C mit Klassen".

    Nur weil wir alle mal so angefangen habe, ist das noch kein Hinweis auf Sinnhaftigkeit.
    C mit Klassen ist Bullshit und wer es praktiziert und noch daran glaubt, ist auf dem Holzweg.
    Gerade die Standards seit C++11 bieten jede Menge neue nützliche Dinge, die jeden Ungläubigen überzeugen sollten 😉



  • @RBS2 sagte in Kompatibel ?:

    C++ war von Beginn an "C mit Klassen".

    C with Classes != C++.

    Stroustrup:

    The resulting [new] language was at first still called C with Classes but after a polite request from management it was given the name C84. The reason for the naming was that people had taken to calling C with Classes ‘‘new C,’’ and then C. This last abbreviation led to C being called ‘‘plain C,’’ ‘‘straight C,’’ and ‘‘old C.’’ The name C84 was used only for a few months, partly because it was ugly and institutional, partly because there would still be confusion if people dropped the ‘84.’ I asked for ideas for a new name and picked C++ because it was short, had nice interpretations, and wasn’t of the form ‘‘adjective C.’’


    The significance of this paper [Stroustrup86] is that it is the first exposition of the set of techniques that C++ was aiming to provide support for. All previous presentations, to avoid dishonesty and hype, had been restricted to describe what features were already implemented and in use. The ‘‘whatis paper’’ defined the set of problems I thought a language supporting data abstraction and object−oriented programming ought to solve and gave examples of language features needed.

    The result was a re−affirmation of the importance of the ‘‘multi−paradigm’’ nature of C++


    Since 1987 or so, the focus of development the C++ language and its associated programming styles have been the use of templates, static polymorphism, generic programming, and multiparadigm programming.


  • Gesperrt

    @It0101 sagte in Kompatibel ?:

    Gerade die Standards seit C++11 bieten jede Menge neue nützliche Dinge, die jeden Ungläubigen überzeugen sollten

    Überzeugen, wovon? Dass man eine Programmiersprache beliebig aufblähen kann? Das hat doch bestimmt keiner angezweifelt.



  • @RBS2 Ich hoffe dann, du schreibst nur K&R C oder maximal C89. Die nachfolgenden Standards haben C doch bloß aufgebläht.


  • Gesperrt

    @Swordfish sagte in Kompatibel ?:

    Ich hoffe dann, du schreibst nur K&R C oder maximal C89. Die nachfolgenden Standards haben C doch bloß aufgebläht.

    Mitnichten; der Spirit of C wurde nie außer Acht gelassen.



  • @RBS2 sagte in Kompatibel ?:

    Mitnichten; der Spirit of C wurde nie außer Acht gelassen.

    @RBS2 sagte in Kompatibel ?:

    Trust the programmer.

    Bounds-Checking interface in C99

    @RBS2 sagte in Kompatibel ?:

    Provide only one way to do an operation.

    • Return aus main()
    • exit()
    • quick_exit()

    ... und jetzt Troll dich.


  • Gesperrt

    @Swordfish sagte in Kompatibel ?:

    Bounds-Checking interface in C99

    ... ist optional.

    quick_exit()

    Ein exit() ohne Cleanup ist neu. Ist aber auch nichts, was die Sprache unnötig aufbläht.



  • @RBS2 sagte in Kompatibel ?:

    Ist aber auch nichts, was die Sprache unnötig aufbläht.

    Genauso sind Lambdas nichts, das C++ **unnötig** (also unnütz, redundant) aufblähen. Aber das geht ja anscheinend nicht in deine Birne.


  • Gesperrt

    @Swordfish sagte in Kompatibel ?:

    Genauso sind Lambdas nichts, das C++ unnötig (also unnütz, redundant) aufblähen.

    Sie passen nicht ins Konzept von C, das eigentlich eine portable Assemblersprache ist. C setzt sowas wie eine Von-Neumann-Architektur voraus. Dafür ist der imperative Ansatz besser. Lamdas sind gut in Umgebungen hoher Nebenläufigkeit, also z.B. bei FPGA, CPLDs und sowas.



  • Könnt ihr beiden bitte einen eigenen Thread aufmachen?



  • @DocShoe Ne, wird nicht nötig sein. Ich hab von dem Quatsch sowieso genug.


Anmelden zum Antworten