Ankündigung

Einklappen
Keine Ankündigung bisher.

OO-programming is a synonym for procedural-programming

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #46
    Zitat von derwunner Beitrag anzeigen
    hellbringer C++ hat sehr wohl eine Garbage Collection, das neue C++ zumindest, also alles ab C++ 11 hat auch eine darunter liegende VM und wird nur noch in Byte Code kompiliert.
    Hast du dazu eine Quelle?

    Zitat von derwunner Beitrag anzeigen
    hellbringerDas alte C++ hat keine Speicherverwaltung aka Garbage Collection. Um das Löschen von Variablen musste sich dort, wie auch in C, der Programmierer selbst kümmern. Aber man hat aus den anfänglichen Desing-Fehlern gelernt. Deswegen ist C++ 11 um vieles geiler als sein Vorgänger.
    Was du meinst sind Smart Pointers. Auch in C++11 gibt es keinen Garbage Collector, der automatisch für dich aufräumt. Und mit Design-Fehler hat das nicht viel zu tun. Es gibt High-Performance Szenarien wo man selbst auf Smart Pointer verzichtet.
    [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

    Kommentar


    • #47
      Zitat von derwunner Beitrag anzeigen
      Ok, als reiner PHPler kennt man warscheinlich viele Systemfunktionen nicht. In C++ kann man viele Systemfunktionen direkt nutzen, die man aus der Bash kennt. Also atime, mtime und ctime sollten in irgendeinem Header vorhanden sein. str_replace müsste es auch so 1:1 in C++ geben. Die PHP Funktion ist ja nur eine Kopie davon. In Punkto "Abschreiben" war das PHP Core Team ja schon immer gut...
      Wobei man meines Erachtens ganz gut argumentieren kann, dass PHP in weiten Teilen ein relativ dünner, domänenspezifischer Abstraktionslayer/Scriptsprache über C ist, um mit C-Libs auf Webservern auf einfache Weise Webseiten zusammenstricken zu können.

      Viele Funktionen aus dem PHP-Core sind ja mehr oder weniger bloß Bindings zu C-Libs. Dass zum Beispiel PHP als Sprache sozusagen von Haus aus eigene Klassen anbietet (wie SPL), ist noch immer nicht so ausgeprägt.

      Kommentar


      • #48
        Zitat von hellbringer

        C++ hat keinen GC und unterstützt Pointer. Aber ehrlich gesagt würde ich nicht freiwillig C++ programmieren
        C++ erzeugt aber Code, der aus Sicht von Leuten, die Systemnah programmieren, nicht immer optimal gelöst ist. Da gibt es auch so einen berühmten Rant von Linus Torvalds. - Wobei moderne Compiler da teilweise echt verrückt geniale Ergebnisse bringen und richtig komplexen OOP-Code auf weniger Prozessor-Instruktionen runterbrechen können.

        Aber OOP von C++ ist auch noch mal wieder ne ganz andere Ecke, als OOP von einem Smalltalk oder Ruby. Letztere sind eher Kandidaten, die ein OOP'ler als gelungene OOP-Lösungen nennen würde. Aber C++ wird auch eher selten dort eingesetzt, wo es weniger auf Performance und Effizienz, sondern auf die Darstellung von komplexer Geschäftsabläufe ankommt.

        Und bei C++-OOP geht es auch weniger darum, sich selbst um Pointer zu kümmern und ja, es gibt auch schon lange Lösungen, die in C++ GC ermöglichen.

        Gesendet von meinem Nexus 5X mit Tapatalk

        Kommentar


        • #49
          Ich dachte C++ setzt man dort ein, wo es gerade auf Performance drauf ankommt, siehe Audio-Bereich, z. B. Mixxx.

          Außerdem dachte ich wirklich, dass C++ ab 11 einen GC hat, weil da auch eine VM werkelt, also sprich Byte Code.

          Kommentar


          • #50
            Zitat von derwunner Beitrag anzeigen
            Ich dachte C++ setzt man dort ein, wo es gerade auf Performance drauf ankommt, siehe Audio-Bereich, z. B. Mixxx.

            Außerdem dachte ich wirklich, dass C++ ab 11 einen GC hat, weil da auch eine VM werkelt, also sprich Byte Code.
            ich glaube, das was du meinst ist LLVM also Low Level Virtual Machine
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

            Kommentar


            • #51
              Zitat von BlackScorp Beitrag anzeigen

              ich glaube, das was du meinst ist LLVM also Low Level Virtual Machine
              Ja genau, das ist aber nur ein Compiler, genauso wie GCC. Oder macht dieses Teil die VM aus?

              Kommentar


              • #52
                Zitat von derwunner Beitrag anzeigen

                Ja genau, das ist aber nur ein Compiler, genauso wie GCC. Oder macht dieses Teil die VM aus?
                Frag mich nicht, ich lerne gerade erst C++ und bin froh dass ich mit MinGW eine SDL/OpenGL Kompelieren kann. https://www.quora.com/What-is-LLVM-a...erent-from-GCC
                apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                Kommentar


                • #53
                  BlackScorp Ok, danke werde ich mir mal ansehen. Ich wusste jedenfalls, dass LLVM eine Compiler Infrastruktur ist.

                  Gibts eigentlich noch was zum Hauptthema zu sagen?

                  Kommentar


                  • #54
                    Zitat von derwunner Beitrag anzeigen
                    BlackScorp
                    Gibts eigentlich noch was zum Hauptthema zu sagen?
                    jop in HTTP + Share nothing, ist OOP nur eine Hilfe für die Entwickler, der Code wird prozedural abgearbeitet und bei jedem Request müssen alle Objekte ihren Zustand irgendwoher laden.

                    Also generell würde ich nicht sagen dass OOP synonym für PP ist, nur in Script Sprachen wie PHP/Ruby und co.
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                    Kommentar

                    Lädt...
                    X