D



  • Wer sagt denn, daß ich für einen Kernel die Standardlib überhaupt nehmen würde? C++ ist nicht nur eine Bibliothek. Die mag ich sogar gar nicht so. C++ ist eine supi Sprache.



  • Sowohl C als auch C++ sind gute Sprachen. Ich benutze beide regelmäßig. In C schätze ich das ich den vollen Überblick habe (Die Bibliothek mir keine Aufgaben abnimmt). In C++ jedoch kann man komplizierte Programme viel besser strukturieren, und die Datenverwaltung ist flexibler.



  • volkard schrieb:

    C++ ist eine supi Sprache.

    ansichtssache, jedenfalls nicht für kernelmodule. c++ ist im linux-kernel sowieso ein grosses no-no! und unter windows: http://www.microsoft.com/whdc/driver/kernel/KMcode.mspx
    (lies ab: C++ Issues for Kernel-Mode Drivers)
    zusammenfassend kann man sagen: C++ im kernel zu nutzen ist nicht unmöglich, aber sehr fehlerträchtig, so dass man besser die finger davon lassen sollte.

    In C++ jedoch kann man komplizierte Programme viel besser strukturieren

    hihi, vielleicht wären die programme garnicht erst kompliziert, wenn du was anderes als C++ benutzt hättest.
    🙂



  • nein für Kernel sollte man C++ nicht benutzen. Das gillt aber glaub ich bei allen OOP Sprachen genauso.

    hihi, vielleicht wären die programme garnicht erst kompliziert, wenn du was anderes als C++ benutzt hättest.

    War das ein Witz oder Sarkasmus?



  • C ist die beste Sprache von der Welt!



  • player4245 schrieb:

    hihi, vielleicht wären die programme garnicht erst kompliziert, wenn du was anderes als C++ benutzt hättest.

    War das ein Witz oder Sarkasmus?

    mindestens sarkasmus.
    🙂



  • E+ schrieb:

    soviel zu D.
    was ist mit E?

    E ... RROR ?

    nein danke 😃



  • ;fricky schrieb:

    player4245 schrieb:

    hihi, vielleicht wären die programme garnicht erst kompliziert, wenn du was anderes als C++ benutzt hättest.

    War das ein Witz oder Sarkasmus?

    mindestens sarkasmus.
    🙂

    unwissenheit gepaart mit dummheit
    gute kombination 👍



  • damit war ich aber hoffentlich nicht gemeint?



  • player4245 schrieb:

    damit war ich aber hoffentlich nicht gemeint?

    Nein, die Beschreibung trifft eher auf fricky zu.

    Vielleicht kennst du fricky noch zu wenig, um zu erkennen, dass er ein fundamentalistischer Troll ist, der C++ über alles hasst, sämtliche Argumente ignoriert und Freude daran hat, andere mit seinem Geschwafel zu nerven. 👎



  • naja ich hatte seine beiträge bis vor einem monat noch als relativ gut eingeschätzt. Aber nun zankt er sich ja reglmäßig mit volkard.



  • @player4245:
    nö, das war nicht an dich gerichtet.



  • !!! schrieb:

    fricky ...der C++ über alles hasst.

    das stimmt.

    !!! schrieb:

    ... sämtliche Argumente ignoriert ...

    es gibt keine rationalen argumente pro C++. ob's einer mag oder nicht ist reine glaubenssache.

    player4245 schrieb:

    Aber nun zankt er sich ja reglmäßig mit volkard.

    ich zanke mich nicht mit volkard. volkard ist in letzter zeit ein wenig durch den wind, aber eigentlich ist er ein netter kerl.
    🙂



  • ;fricky schrieb:

    C ist aber nicht auf diese seltsamen allokatoren angewiesen, die STL scheinbar schon. wenn man also in 'nem kernel c++ und STL verwenden will, bräucht man verschiedene allokatoren für die verschiedenen speicherbereiche und müsste dem jeweiligen STL-objekt einen passenden allokator mitgeben.

    Da man die Allokatoren nur einmal schreiben muß, wäre das kein nennenswerter Mehraufwand. Die Allokatoren sind eine explizite Schnittstelle für die Speicheranforderung von Containerklassen, die man bei eigenen Klassen ebenfalls nutzen kann.

    ;fricky schrieb:

    die frage ist nur, ob es sinnvoll ist.

    Ist es, da der Wartungswaufwand für den Code geringer wird.



  • player4245 schrieb:

    nein für Kernel sollte man C++ nicht benutzen. Das gillt aber glaub ich bei allen OOP Sprachen genauso.

    Es wurden Betriebssysteme schon in ganz anderen Sprachen geschrieben. C++ ist nur eine davon. Gewiss kann man nicht auf Assembler oder C z.B. bei der Initialisierung verzichten, aber alles andere kann in einer beliebigen Sprache erfolgen. Es gab Betriebssysteme in Lisp, es gibt welche in C++ und sogar in C#. Aktuell gibt es fuer den Linuxkernel sogar Module, die Scheme oder Haskell im Kernelmodus interpretieren (inkulsive den Features wie garbage collection). Und nein, es ist kein Hack. Und wer von Aufwand redet, sollte erstmal ein Betriebssystem in C schreiben, denn aufwendig ist alles.



  • knivil schrieb:

    Aktuell gibt es fuer den Linuxkernel sogar Module, die Scheme oder Haskell im Kernelmodus interpretieren (inkulsive den Features wie garbage collection).

    ist ja lustig. was verspricht man sich davon?

    knivil schrieb:

    Und nein, es ist kein Hack.

    naja, aber mehr als ein experiment doch wohl nicht, oder?
    🙂



  • knivil schrieb:

    player4245 schrieb:

    nein für Kernel sollte man C++ nicht benutzen. Das gillt aber glaub ich bei allen OOP Sprachen genauso.

    Es wurden Betriebssysteme schon in ganz anderen Sprachen geschrieben. C++ ist nur eine davon. Gewiss kann man nicht auf Assembler oder C z.B. bei der Initialisierung verzichten, aber alles andere kann in einer beliebigen Sprache erfolgen. Es gab Betriebssysteme in Lisp, es gibt welche in C++ und sogar in C#. Aktuell gibt es fuer den Linuxkernel sogar Module, die Scheme oder Haskell im Kernelmodus interpretieren (inkulsive den Features wie garbage collection). Und nein, es ist kein Hack. Und wer von Aufwand redet, sollte erstmal ein Betriebssystem in C schreiben, denn aufwendig ist alles.

    Wo soll den das Problem sein?
    Eine Funktion in Sprache X kann man auf jede andere C Funktion mappen. Z.B.

    lisp_code open file > put x
    
    // wird auf C code gemapped
    file = fopen(file);
    fwrite(file, x);
    

    Am Ende ist alles Maschinensprache. So kannst du auch in Java programmieren, nur dann muss ein Teil der JVM im Kernelmode laufen. Mittels jni kannst du dann C Code aufrufen. Auch fast alle Python Module werden am Ende auf C Funktionen gemapped (also alle, die Systemfunktionen aufrufen).



  • ;fricky schrieb:

    es gibt keine rationalen argumente pro C++. ob's einer mag oder nicht ist reine glaubenssache.

    Sowas sollten nur Leute sagen, die dahingehend auch Kompetenz haben, findest du nicht?



  • dv_ schrieb:

    ;fricky schrieb:

    es gibt keine rationalen argumente pro C++. ob's einer mag oder nicht ist reine glaubenssache.

    Sowas sollten nur Leute sagen, die dahingehend auch Kompetenz haben, findest du nicht?

    kommt drauf an. welche kompetenz braucht einer, damit er sowas sagen darf?
    🙂



  • Ich würde sagen er muss sich die sprache ausführlich angeschaut und auch praktisch angewandt haben. Hast du das?


Anmelden zum Antworten