Scala und c++



  • Zeus schrieb:

    http://www.heise.de/developer/artikel/Made-in-Germany-JamaicaVM-eine-echtzeitfaehige-Java-Virtual-Machine-855161.html

    Schön rausgesucht. 🙂

    Bedeutet a) Du kannst nicht die Original JVM nehmen, die jedermann benutzt, was zu b) Du musst eine deutlich weniger getestete VM nehmen, was dazu führt, dass Du c) eine neue Gefahrenquelle in ein System einbaust, um ein Problem zu lösen, dass Du ohne GC nicht hättest.

    Möchtest Du Dein Leben einer JamaicaVM anvertrauen?
    Damit die Entwickler der Software günstiger ausgebildet werden können? Möchtest Du an solcher Software günstig ausgebildete Entwickler sitzen haben? ^^

    Die Tatsache, dass ein GC unterbrochen werden kann, bedeutet dass wenn ein zeitkritisches Programm viel zu tun hat, der GC halt nicht mehr ausgeführt wird. Das ist bei der normalen JVM das Verhalten, bis der Arbeitsspeicher voll ist, deswegen stockt der GC ja auch so lange, weil er vorher ja nicht aufgeräumt hat.
    Ich denke da mal an einen Autopiloten in einer kritischen Situation - es muss ja nicht von einem Flugzeug sein, kann ja auch ein AKW oder ein Weichenstellwerk sein. Einfach eine Schleife, die Ereignisse bearbeitet und wo laufend Ereignisse reinfeuern. "Ereignis: Reaktortemperator zu hoch - tu was!", "Reaktortemperatur immernoch zu hoch - tu was", "Reaktortemperatur immernoch zu hoch - tu was"...

    Denk das doch mal kurz bis zum Ende des Arbeitsspeichers durch. 😉

    Jetzt stockt die VM also doch oder die Software explodiert. Wie auch immer - Realtime endet hier - und eventuell auch Reallife.
    Irgendwann muss der GC arbeiten. Und dann wird er das Laufzeitverhalten beeinflussen.



  • Xin schrieb:

    Zeus schrieb:

    http://www.heise.de/developer/artikel/Made-in-Germany-JamaicaVM-eine-echtzeitfaehige-Java-Virtual-Machine-855161.html

    Schön rausgesucht. 🙂

    Bedeutet a) Du kannst nicht die Original JVM nehmen, die jedermann benutzt, was zu b) Du musst eine deutlich weniger getestete VM nehmen, was dazu führt, dass Du c) eine neue Gefahrenquelle in ein System einbaust, um ein Problem zu lösen, dass Du ohne GC nicht hättest.

    Da ist doch nur Bla bla.

    Der Punkt ist: Realtime mit Java funktioniert.
    Q.E.D.



  • Shade Of Mine schrieb:

    Der Punkt ist: Realtime mit Java funktioniert.
    Q.E.D.

    Kann schon sein, aber würdest du dir das echt geben? Hört sich ehrlich gesagt nicht gerade nach "The right tool for the right job" an.



  • GPC schrieb:

    Shade Of Mine schrieb:

    Der Punkt ist: Realtime mit Java funktioniert.
    Q.E.D.

    Kann schon sein, aber würdest du dir das echt geben? Hört sich ehrlich gesagt nicht gerade nach "The right tool for the right job" an.

    Kommt auf die Situation an.
    Das ist ja nicht irgendeine nicht supportete Open Source VM sondern da steht ja eine Firma dahinter. Wenn ich also, aus welchem Grund auch immer, Java verwenden will - dann ist das sicher eine gute Wahl.

    Ich kenne mich in diesem Industrie Sektor wenig aus - aber viel Software wird in Java geschrieben - dh dort ist das Know How und die Entwickler. Also warum nicht auch den Realtime Bereich mit dem Firmen Know How abdecken?



  • Zeus schrieb:

    Xin schrieb:

    http://www.proggen.org/doku.php?id=start:cppjava

    *Kopfschütteln* Stellt sich als Profi hin, schreibt wie ein Amateur. Sachliche Kritik an Systemdesign zwischen C++ und Java würde angemessen sein, aber nicht diesen Bullshit.

    Die URL lautet proggen.org, was hast du denn da erwartet 😕 🙄



  • GPC schrieb:

    Shade Of Mine schrieb:

    Der Punkt ist: Realtime mit Java funktioniert.
    Q.E.D.

    Kann schon sein, aber würdest du dir das echt geben? Hört sich ehrlich gesagt nicht gerade nach "The right tool for the right job" an.

    Das spielt bei den Diskussionen hier häufig keine Rolle.
    "Q.E.D." ist wichtig, auch wenn es hier nirgendwo darum ging irgendwas zu beweisen oder zu widerlegen.

    Und Shade Of Mine hat schon recht... Realtime mit Java funktioniert. ((Solange man halt nicht sehen will, dass Folgeprobleme mit sich bringt, die im Notfall auch sehenden Auges Menschenleben kosten können))
    Alles andere ist unwichtig.

    Q.E.D.

    Shade Of Mine schrieb:

    Da ist doch nur Bla bla.

    Auch das ist eine persönliche Meinung, die selbstverständlich Dein Recht ist. Dass ich häufig nur "Bla bla" rede, höre ich auch von anderen. Und es zeigt sich regelmäßig, dass meine Bedenken am Ende nicht nur "Bla bla" waren, sondern eine ziemlich gute Einschätzung der Situation.
    Darunter gehört auch, einen GC scheitern zu sehen. Es kann für ein Projekt unpraktisch sein, wenn der GC Daten löscht, die man eigentlich noch braucht. Auch das spricht gegen die Nutzung eines GCs oder wenigstens für die Nutzung eines sehr gut getesteten GCs.

    Mir erklärt man, dass ich nur "Bla bla" rede und fährt dann eben wissend ein Projekt gegen die Wand. Aber nachdem die Situation geklärt ist, ist das nicht mehr mein Problem.

    Mir scheint, unser beider Situation ist schon seit einigen Postings geklärt, von daher... 🙂

    Shade Of Mine schrieb:

    Das ist ja nicht irgendeine nicht supportete Open Source VM sondern da steht ja eine Firma dahinter.

    Der GC, der in dem Projekt scheiterte, stammte von einer unbedeutenden Firma, die auch Betriebsysteme verkauft.

    Shade Of Mine schrieb:

    Ich kenne mich in diesem Industrie Sektor wenig aus - aber viel Software wird in Java geschrieben - dh dort ist das Know How und die Entwickler. Also warum nicht auch den Realtime Bereich mit dem Firmen Know How abdecken?

    Die Antwort hast Du bereits als "Bla bla" zusammengefasst. Vielleicht noch mal ansehen.

    gasssssssst schrieb:

    Die URL lautet proggen.org, was hast du denn da erwartet 😕 🙄

    :->

    Schau Dich mal im Domainmarkt um und was Domainnamen so kosten. ^^
    proggen.org könnte ich mir heute nicht mehr leisten, von daher bin ich froh, dass ich sie bekommen habe. 🙂



  • ok danke.

    Ich denke ich werde nie realtime Anwendungen schreiben, jedenfalls nicht in nächster Zeit, deswegen bleibe ich jetzt erst einmal bei Scala.



  • kantaki schrieb:

    ok danke.

    Ich denke ich werde nie realtime Anwendungen schreiben, jedenfalls nicht in nächster Zeit, deswegen bleibe ich jetzt erst einmal bei Scala.

    scala ist schon okay. der fette twitter wal wird davon ja auch angehoben 🤡 ...



  • Shade Of Mine schrieb:

    GPC schrieb:

    Shade Of Mine schrieb:

    Der Punkt ist: Realtime mit Java funktioniert.
    Q.E.D.

    Kann schon sein, aber würdest du dir das echt geben? Hört sich ehrlich gesagt nicht gerade nach "The right tool for the right job" an.

    Kommt auf die Situation an.
    Das ist ja nicht irgendeine nicht supportete Open Source VM sondern da steht ja eine Firma dahinter. Wenn ich also, aus welchem Grund auch immer, Java verwenden will - dann ist das sicher eine gute Wahl.

    Ich kenne mich in diesem Industrie Sektor wenig aus - aber viel Software wird in Java geschrieben - dh dort ist das Know How und die Entwickler. Also warum nicht auch den Realtime Bereich mit dem Firmen Know How abdecken?

    Klar, das ist prinzipiell schon richtig. Aber die GC-Probleme erscheinen mir nur aufgeschoben, nicht aufgehoben. Keine Ahnung wie diese VM das macht, aber irgendwann muss der GC halt mal laufen, damit er nicht dauerhaft oder in kritischen Situationen am unteren Speicherlimit rumgrindet. Ich habe noch nie real-time entwickelt, aber tendentiell denke ich, dass das kritische Anwendungen sind und das heißt für mich, dass ich als Entwickler die möglichst hohe Kontrolle über die Abläufe haben will.

    Ich finde GCs ansonsten schon ganz cool - aber ich programmiere halt auch Desktopanwendungen. Und ich würde auch keine Webprogrammierung mit C++ machen, insofern 🙂





  • Der Artikel wertet ja nicht wirklich. Er sagt, es geht, aber begründet das nicht.



  • kantaki schrieb:

    Ich denke ich werde nie realtime Anwendungen schreiben, jedenfalls nicht in nächster Zeit, deswegen bleibe ich jetzt erst einmal bei Scala.

    Ich halte C++ für ratsamer, aber ich halte Scala auch nicht für einen Fehler. Das kannst Du wohl mit gutem Gewissen tun.

    GPC schrieb:

    Ich finde GCs ansonsten schon ganz cool - aber ich programmiere halt auch Desktopanwendungen. Und ich würde auch keine Webprogrammierung mit C++ machen, insofern 🙂

    Läuft inzwischen ganz schnuckelig, kann ich inzwischen eigentlich nur empfehlen. 🙂

    Zeus schrieb:

    http://www.tutego.de/blog/javainsel/2011/03/inselupdate-echtzeit-java-real-time-java/

    Übliches - durchaus funktionierendes - Realtime-Java entfernt den GC. Aber warum programmiere ich dann Java!?



  • Xin schrieb:

    Übliches - durchaus funktionierendes - Realtime-Java entfernt den GC. Aber warum programmiere ich dann Java!?

    Weil man auf Schmerzen steht? 🤡



  • Xin schrieb:

    Zeus schrieb:

    http://www.tutego.de/blog/javainsel/2011/03/inselupdate-echtzeit-java-real-time-java/

    Übliches - durchaus funktionierendes - Realtime-Java entfernt den GC. Aber warum programmiere ich dann Java!?

    Lern lesen und lern denken, in den Artikel steht dass RT-Java Scoped Memory eingeführt hat, da steht nicht das der GC weggefallen ist, und dort wird die Spezifikation erwähnt und eine Implementierung die JamaicaVM, und schon durch ersten verlinkten Artikel, wissen wir das sie ein modifizierten GC hat, also ScopedMem + GC. Überhaupt mach es kein Sinn mit dir darüber zu argumentieren. Du scheinst dich in dein Know-How zu verbeissen, obwohl du nicht mal dich um den aktuellen Entwicklungsstand informierst, ziehst großzügig Argumentation bei den Wolken her. Nein, warum du überhaupt RT-Java programmieren sollst, hab ich überhaupt keine Arhnung.



  • kantaki schrieb:

    ok danke.

    Ich denke ich werde nie realtime Anwendungen schreiben, jedenfalls nicht in nächster Zeit, deswegen bleibe ich jetzt erst einmal bei Scala.

    Und ich ziehe Clojure vor.



  • Xin schrieb:

    GPC schrieb:

    Ich finde GCs ansonsten schon ganz cool - aber ich programmiere halt auch Desktopanwendungen. Und ich würde auch keine Webprogrammierung mit C++ machen, insofern 🙂

    Läuft inzwischen ganz schnuckelig, kann ich inzwischen eigentlich nur empfehlen. 🙂

    Kennst Du eigentlich http://www.tntnet.org/?



  • ich bins schrieb:

    Xin schrieb:

    GPC schrieb:

    Ich finde GCs ansonsten schon ganz cool - aber ich programmiere halt auch Desktopanwendungen. Und ich würde auch keine Webprogrammierung mit C++ machen, insofern 🙂

    Läuft inzwischen ganz schnuckelig, kann ich inzwischen eigentlich nur empfehlen. 🙂

    Kennst Du eigentlich http://www.tntnet.org/?

    Nein, kenne ich nicht.

    Ich habe mir eine cgi-lib angesehen und bin zu dem Schluss gekommen, dass es einfacher und schneller ist, selbst den Webservice zu schreiben, der direkt mein vorhandenes Framework anspricht, als einen Wrapper um Vorhandenes.
    Das erspart mir zum einen die Abhängigkeit von einer anderen Lib, zum anderen muss ich mich nicht in die Lib erst einarbeiten.
    Ein Webservice ist eine vergleichsweise überschaubare Sache.

    Zeus schrieb:

    Xin schrieb:

    Zeus schrieb:

    http://www.tutego.de/blog/javainsel/2011/03/inselupdate-echtzeit-java-real-time-java/

    Übliches - durchaus funktionierendes - Realtime-Java entfernt den GC. Aber warum programmiere ich dann Java!?

    Lern lesen und lern denken, ... Überhaupt mach es kein Sinn mit dir darüber zu argumentieren. Du scheinst dich in dein Know-How zu verbeissen, obwohl du nicht mal dich um den aktuellen Entwicklungsstand informierst, ziehst großzügig Argumentation bei den Wolken her.

    Liebelein, 50% Deines Textes sind - um das freundlich zu formulieren - sehr unhöflich formuliert. Du lässt Dich ausführlich darüber aus, wie ich scheinbar zu sein habe.

    Wo allerdings vollkommen richtig liegst ist, dass ich mich bei Java nicht um den aktuellen Entwicklungsstand kümmere, denn es ergibt keinen Sinn bei Java auf dem aktuellen Entwicklungsstand zu sein. Java frickelt seit Jahren - inzwischen Jahrzehnten - das nach, was in C++ bereits problemlos machbar war, als Java noch Oak hieß und für das Java-Konzept heute monströsen Aufwand bedeutet. Mir ist ehrlich gesagt sowas von egal, ob es eine JamaicaVM gibt. Ich programmiere C++, ich habe überhaupt nicht das Problem, dass ich mit aktuellen Java-Entwicklungen lösen müsste.
    Wenn ich also aktuelle Entwicklungen sehen will, dann schaue ich bestimmt nicht zu Java.

    Wenn ein Konzept einen Riesenaufwand machen muss, um gegen ein einfaches Konzept anzustinken, dann muss man sich halt irgendwann fragen, welches Konzept sinnvoller ist.
    Die Frage bleibt also: Warum sollte ich Java programmieren?

    Zeus schrieb:

    in den Artikel steht dass RT-Java Scoped Memory eingeführt hat,

    Uiii, toll... das sind also "aktuelle Entwicklungen" bei Java? Du bist kein Java-Entwickler schriebst Du... Du bist Comedian? Du hast zumindest Talent. 😉

    Und jetzt die Masterfrage: Warum machen die sowas wohl...?



  • ich werde mich in nächster zeit auf webdevelopment fokussieren und ich denke da hat scala einen vorteil.

    Naja ich werde C++ dann auch irgentwann anfangen zu lernen, mal schauen wie die sprache mit dann gefällt.

    Danke



  • machs lieber in php/python/rails o.ä. wenn es dann 'besucher' hat und zu langsam wird, kann man es noch immer 'scala'.

    ich hab den fehler gemacht und es im gegensatz zu den letzten projekten nicht in php gemacht (wo es mir relativ leicht von der hand geht). aus meiner erfahrung kann ich dir sagen, dass die entwicklung absolut unwirtschaftlich ist und wenn ich fertig bin, das teil aller voraussicht nach schon so überholt ist, das sich keiner dafür interessieren wird. aber einmal kann ich mir das schon leisten 😋

    man darf auch nicht vergessen, dass ich da keinen anderen dran lassen kann, weil er mich hassen und im anschluß töten wird 😞

    um es ohne bla bla auf den punkt zu bringen, verwende eine sprache die dir leicht fällt, du schnell vorwärts kommst und ein gute/große auf webentwicklung ausgerichtete library hat.



  • kantaki schrieb:

    Naja ich werde C++ dann auch irgentwann anfangen zu lernen, mal schauen wie die sprache mit dann gefällt.

    Hmm... joah, wie könnte das wohl aussehen...

    Du wirst sie hassen, weil sie kompliziert ist und fehleranfällig und außerdem hat sie viel zu viel Boilerplate, außerdem funktioniert alles ganz anders als Du es gewohnt bist und für richtig empfindest und Du wirst damit nicht nur recht haben, Du wirst auch aufhören sie zu lernen, lange bevor Du verstehst, was sie eigentlich auszeichnet und warum es den Aufwand trotzdem wert ist.

    PS: irgenDwann... scnr


Anmelden zum Antworten