Geschwindigkeit vs. Sicherheit



  • rüdiger schrieb:

    Aber ich sehe immer noch keinen Grund, warum ich dann nicht lieber in Common Lisp, Ada95 oder Ruby programmieren sollte, anstelle in Java.

    Du kannst in allem programmieren, in dem Du programmieren möchtest. ...auch in C++, wenn Du willst. Und meinetwegen sogar in "Chef". Hier wird keiner zu gar nichts gezwungen. C++ hat definitiv eine ganze Menge Eigenschaften, die bei einer Programmiersprache sinnvoll sind. In meinen ersten Beiträgen in diesem Thread habe ich ja auch explizit auf einige hiervon hingewiesen. C++ hat Stärken gegenüber Java, aber das gilt natürlich auch andersherum. Die Sprachen sind nicht gleich. Keine Sprache ist "besser", aber es ist IMHO sinnvoll, sich darüber klar zu sein, wo die Stärken und Schwächen der jeweiligen Sprachen liegen. Und Schwächen hat nicht nur Java, sondern auch C++. Da hilft auch kein "ein Programmierer könnte ja theoretisch...". Was relevant ist, ist die Praxis.



  • rüdiger schrieb:

    Was hat das nun mit Sicherheit zu tun? Außerdem gibt es Qt auch für Java. Nach deiner Logik dürfte dann auch Java nicht portabel sein, weil Qt nicht portabel ist.

    Wie schon weiter oben gesagt: Java hat nichts mit Portabilität zu tun. Javaprogramme werden nicht portiert und sind auch nicht portabel.

    Wenn ich aber von Javaprogrammen rede, dann meine ich Programme, die abgesehen von der Java-Standardbibliothek an keiner Stelle auf nicht-Java-Code angewiesen sind. Das trifft nicht zu, wenn Qt genutzt wird und das trifft auch nicht zu, wenn das SWT genutzt wird. ...für mich zählt zum Beispiel Eclipse nicht zu den reinen Javaprogrammen.

    Abgesehen davon: Qt für Java ist ein Witz. Das interessiert keinen und das wird auch nie jemand nutzen. Ok, vielleicht irgendeine abgedrehte Minderheit.



  • Das Problem ist doch das die meisten Programmierer C/C++ programieren und nicht C++.



  • bitte, google kann doch wohl jeder selbst benutzen.

    http://lists.grok.org.uk/pipermail/full-disclosure/2005-April/033208.html
    usw

    Beschäftigen wir uns eben mit dem Thema SQL-Injection. Nenn mir einfach etwas äquivalentes in C++ zum PreparedStatement, bzw. etwas abstrakter betrachtet eben beispielsweise JdbcTemplate aus dem Spring Framework?

    Nach deiner Logik dürfte dann auch Java nicht portabel sein, weil Qt nicht portabel ist.

    Nein, nach seiner Logik dürfte ein Java Programm nicht portabel sein, wenn es Qt verwendet und das stimmt ja, da stets native Bibliotheken mitgeliefert werden müssen (vergleichbar mit SWT).

    Aber nenn mir mal eine weit verbreitete Java Software (das auf zahlreichen Plattformen lassen wir mal weg, Java hat ja eh nur eine Plattform auf der es läuft).

    Nachdem es ja auch kein Vorzeigeexemplar einer .NET Anwendung gibt, besteht anscheinend lediglich nach C++ Entwicklern Nachfrage. 🙄 Aber das C++ die optimale Wahl ist, wird ja auch beispielsweise ersichtlich durch die überwältigende "Marktherrschaft" von C++ CGI Anwendungen gegenüber JSP, JSF, etc..



  • Gregor schrieb:

    rüdiger schrieb:

    Aber ich sehe immer noch keinen Grund, warum ich dann nicht lieber in Common Lisp, Ada95 oder Ruby programmieren sollte, anstelle in Java.

    Du kannst in allem programmieren, in dem Du programmieren möchtest. ...auch in C++, wenn Du willst. Und meinetwegen sogar in "Chef". Hier wird keiner zu gar nichts gezwungen. C++ hat definitiv eine ganze Menge Eigenschaften, die bei einer Programmiersprache sinnvoll sind. In meinen ersten Beiträgen in diesem Thread habe ich ja auch explizit auf einige hiervon hingewiesen. C++ hat Stärken gegenüber Java, aber das gilt natürlich auch andersherum. Die Sprachen sind nicht gleich. Keine Sprache ist "besser", aber es ist IMHO sinnvoll, sich darüber klar zu sein, wo die Stärken und Schwächen der jeweiligen Sprachen liegen. Und Schwächen hat nicht nur Java, sondern auch C++. Da hilft auch kein "ein Programmierer könnte ja theoretisch...". Was relevant ist, ist die Praxis.

    Das ich mit allem programmieren kann, wozu ich Lust habe, weiß ich (okay, das stimmt natürlich nicht ganz. Aber sagen wir so, das ihr hier keinen Einfluss darauf habt, das weiß icht).

    Aber darum geht es ja nicht in dem Thread. Der Thread hat ja nicht das Thema "Hey, darf ich wirklich die Programmiersprache benutzen, die ich benutzen will?". Es geht doch hier darum, dass zumindest der Thread-Starter einem klar machen wollte, das wir lieber Java benutzen sollten, weil dadurch die Welt sicherer wird.

    Nun, sind wir offensichtlich beide der Meinung, dass dies totaler Humbug ist und Java die Welt nicht sicherer macht. Damit hätten wir beide für unseren Teil natürlich den Thread zu einem Ende getragen. Ansonsten warte ich noch gerne darauf, das mir nun endlich jemand erklärt, wo Java hilft die Welt sicherer zu machen.



  • rüdiger schrieb:

    Aber hey, immerhin gibt es zahlreiche weit verbreitete C++ Software, die auf zahlreichen Plattformen läuft. Aber nenn mir mal eine weit verbreitete Java Software (das auf zahlreichen Plattformen lassen wir mal weg, Java hat ja eh nur eine Plattform auf der es läuft).

    Javaprogramme sind momentan zugegebenermaßen eher weniger auf Desktops von privaten Nutzern zu finden. Die meisten Javaprogramme laufen wohl in Firmen entweder auf Servern oder auch auf Desktops. Es gibt aber natürlich einige Javaprogramme, die sich auch an den privaten Nutzer richten. Zum Beispiel Filesharing-Programme, wie Limewire oder auch Azureus (das allerdings nicht 100% Java ist).



  • rüdiger schrieb:

    Aber darum geht es ja nicht in dem Thread. Der Thread hat ja nicht das Thema "Hey, darf ich wirklich die Programmiersprache benutzen, die ich benutzen will?". Es geht doch hier darum, dass zumindest der Thread-Starter einem klar machen wollte, das wir lieber Java benutzen sollten, weil dadurch die Welt sicherer wird.

    Nun, sind wir offensichtlich beide der Meinung, dass dies totaler Humbug ist und Java die Welt nicht sicherer macht. Damit hätten wir beide für unseren Teil natürlich den Thread zu einem Ende getragen. Ansonsten warte ich noch gerne darauf, das mir nun endlich jemand erklärt, wo Java hilft die Welt sicherer zu machen.

    Wir sind uns darüber einig, dass der Thread-Starter ein Troll ist. Vielleicht sollte man den Threadverlauf etwas getrennt von den ersten paar Beiträgen sehen.

    Wir sind uns aber nicht über die Sicherheitsfragen einig. Ich habe meine Sichtweise diesbezüglich schon dargestellt. Aber ich glaube, wir finden da nicht zu einer gemeinsamen Meinung, auch wenn der Thread noch 50 Seiten weiter geht: Du bewertest die Argumente anders als ich.



  • java anhänger schrieb:

    bitte, google kann doch wohl jeder selbst benutzen.

    http://lists.grok.org.uk/pipermail/full-disclosure/2005-April/033208.html
    usw

    Beschäftigen wir uns eben mit dem Thema SQL-Injection. Nenn mir einfach etwas äquivalentes in C++ zum PreparedStatement, bzw. etwas abstrakter betrachtet eben beispielsweise JdbcTemplate aus dem Spring Framework?

    Warum sollte ich in C++ kein "PreparedStatement, bzw. etwas abstrakter betrachtet eben beispielsweise JdbcTemplate aus dem Spring Framework" haben können?

    Und obwohl Java so etwas hat, gibt es ja offensichtlich SQL-Injection-Angriffe.

    java anhänger schrieb:

    Nach deiner Logik dürfte dann auch Java nicht portabel sein, weil Qt nicht portabel ist.

    Nein, nach seiner Logik dürfte ein Java Programm nicht portabel sein, wenn es Qt verwendet und das stimmt ja, da stets native Bibliotheken mitgeliefert werden müssen (vergleichbar mit SWT).

    bei Java muss doch eh eine Systemabhängige Plattform mitgeliefert werden.

    java anhänger schrieb:

    Aber nenn mir mal eine weit verbreitete Java Software (das auf zahlreichen Plattformen lassen wir mal weg, Java hat ja eh nur eine Plattform auf der es läuft).

    Nachdem es ja auch kein Vorzeigeexemplar einer .NET Anwendung gibt, besteht anscheinend lediglich nach C++ Entwicklern Nachfrage.

    Es gibt mehr als Java, C# und C++. Aber es wundert mich nicht, das dein Horizont auf diese drei Programmiersprachen beschränkt ist.

    java anhänger schrieb:

    🙄 Aber das C++ die optimale Wahl ist, wird ja auch beispielsweise ersichtlich durch die überwältigende "Marktherrschaft" von C++ CGI Anwendungen gegenüber JSP, JSF, etc..

    *gähn* wen interessieren irgend welche JSP oder JSF-Sachen. Die sind doch eh kaum verbreitet, wenn man sich mal anguckt wie viele Webseiten (leider) mit einem php-Enden. Selbst Perl dürfte ja noch weiter verbreitet sein.

    Aber immerhin ist der Webserver in C geschrieben und auch fast die ganze andere Software auf dem Server (sogar die JVM mit der du das Zeugs laufen lassen musst).



  • java anhänger schrieb:

    rüdiger schrieb:

    Damit haben wir aber immer noch nicht gezeigt, warum wir uns ausgerechnet Java antun sollten, um sichere Programme zu schreiben.

    Gregor schrieb:

    Zeig mir doch mal eine Meldung, dass in einem Javaprogramm eine Sicherheitslücke aufgetreten ist. ...die JVM ist kein Javaprogramm.

    Du bist dran.

    gerne, aber wie ihr ja selbst sagt

    java anhänger schrieb:

    Aber das C++ die optimale Wahl ist, wird ja auch beispielsweise ersichtlich durch die überwältigende "Marktherrschaft" von C++ CGI Anwendungen gegenüber JSP, JSF, etc..

    Gregor schrieb:

    Javaprogramme sind momentan zugegebenermaßen eher weniger auf Desktops von privaten Nutzern zu finden. Die meisten Javaprogramme laufen wohl in Firmen entweder auf Servern oder auch auf Desktops. Es gibt aber natürlich einige Javaprogramme, die sich auch an den privaten Nutzer richten. Zum Beispiel Filesharing-Programme, wie Limewire oder auch Azureus (das allerdings nicht 100% Java ist).

    müsste ich dafür ja irgend welche Firmensoftware oder Webseitencodes kennen. Das ist wirklich zu speziell um sich da nennenswert nach Sicherheitslücken umzugucken.

    Also bitte, kommt mir nicht damit das ich eine Programmiersprache benutzen sollte, weil die nicht öffentlich vorhandene Software keine Sicherheitslücken hätte.



  • dabei hat php an meistens sicherheitslöcher 🤡



  • Es gibt mehr als Java, C# und C++. Aber es wundert mich nicht, das dein Horizont auf diese drei Programmiersprachen beschränkt ist.

    Wie kann ich es mir auch nur anmaßen mich als Java Programmierer zu bezeichnen ohne fundamentale Kenntnisse von Lisp, Haskell, etc.. zu haben. Aber ich kann ja schon förmlich riechen, dass die nächste Aussage in etwa behaupten wird, dass man Programmierung lediglich verstanden hat wenn man ideologisch motivierter Lisp Anhänger ist, da ja auch sämtliche Mainstream-Sprachen immer mehr Konzepte aus dem funktionalen Paradigma übernehmen, blabla .. Derartig theoretisches und vor allem unbegründetes Gelaber interessiert mich nicht.

    Ich geb gerne zu, dass ich mich von Marketing Strategien von Microsoft & Co. ein wenig blenden lasse, es stört mich allerdings überhaupt nicht, denn "ihr" werdet es ja genau so, nur eben anders.



  • @rüdiger: Um nochmal ein ganz anderes Thema anzuschneiden...

    Du bist doch so ein OSS-Verfechter, oder? Wie stehst Du dann eigentlich zur Öffnung von Java? Ein großer Teil von Java wird wohl innerhalb von 2 Monaten unter der CDDL verfügbar sein. Die CDDL wird von der OSI als OSS-Lizenz angesehen, aber es gibt auch einige Stimmen, die darauf hinweisen, dass die CDDL nicht komplett zur GPL kompatibel sein soll. Würdest Du das als großes Hindernis ansehen?

    ...um das etwas in den Thread einzubetten: Weiter oben ging es ja darum, ob man im Java-Umfeld auf die Schwächen der Sprache reagiert. Es wurde in der Vergangenheit oft genug kritisiert, dass Java nicht OSS sei. Sun hat das gehört und hat es inzwischen wohl auch als Schwäche von Java erkannt, so dass dort ein Politikwechsel stattgefunden hat.



  • Zeus schrieb:

    dabei hat php an meistens sicherheitslöcher 🤡

    ja, PHP ist wirklich übel.

    Gregor schrieb:

    Du bist doch so ein OSS-Verfechter, oder? Wie stehst Du dann eigentlich zur Öffnung von Java? Ein großer Teil von Java wird wohl innerhalb von 2 Monaten unter der CDDL verfügbar sein. Die CDDL wird von der OSI als OSS-Lizenz angesehen, aber es gibt auch einige Stimmen, die darauf hinweisen, dass die CDDL nicht komplett zur GPL kompatibel sein soll. Würdest Du das als großes Hindernis ansehen?

    Ich bin nicht "so ein OSS-Verfechter" und ich kenne die CDDL und die genauen Details der GPL auch nicht, um das beureilen zu können.

    java anhänger schrieb:

    Es gibt mehr als Java, C# und C++. Aber es wundert mich nicht, das dein Horizont auf diese drei Programmiersprachen beschränkt ist.

    Wie kann ich es mir auch nur anmaßen mich als Java Programmierer zu bezeichnen ohne fundamentale Kenntnisse von Lisp, Haskell, etc.. zu haben. Aber ich kann ja schon förmlich riechen, dass die nächste Aussage in etwa behaupten wird, dass man Programmierung lediglich verstanden hat wenn man ideologisch motivierter Lisp Anhänger ist, da ja auch sämtliche Mainstream-Sprachen immer mehr Konzepte aus dem funktionalen Paradigma übernehmen, blabla .. Derartig theoretisches und vor allem unbegründetes Gelaber interessiert mich nicht.

    Ich geb gerne zu, dass ich mich von Marketing Strategien von Microsoft & Co. ein wenig blenden lasse, es stört mich allerdings überhaupt nicht, denn "ihr" werdet es ja genau so, nur eben anders.

    hahaha

    klar, das jemand der nicht programmieren kann Java bevorzugt.



  • klar, das jemand der nicht programmieren kann Java bevorzugt.

    Klar, das jemand der Programmieren nur vom Hörensagen her kennt nicht weiß inwiefern Java das Leben vereinfachen kann. oder anders gesagt: Spar dir solche Hiebe unter der Gürtellinie.



  • rüdiger schrieb:

    Ich bin nicht "so ein OSS-Verfechter" und ich kenne die CDDL und die genauen Details der GPL auch nicht, um das beureilen zu können.

    Schade. Ich dachte, du wärst da der richtige Ansprechpartner. Ich glaube, Du hattest mich vor ganz langer Zeit mal gefragt, was ich von solchen offenen Java-Nachbauten wie Kaffe und so halte. Deshalb dachte ich, Dir würde die Offenheit von Software wichtig sein.



  • hab' jetzt nicht alle seiten gelesen, aber hat schon einer geschrieben, dass coden in java viel mehr spass macht als in c++? mir jedenfalls...

    zum thema:
    man kann in java übelsten frickelcode schreiben, der trotzdem super-stabil ist und erstaunlich viel funktionalität hat. beispiel: http://www.saschaseidel.de/testdir/wettbewerb_02/MiB.zip
    entstand an einem langweiligen nachmittag. mit c++ hätt's sicher viel länger gedauert und stabilität wär gleich 0 gewesen...



  • hab' jetzt nicht alle seiten gelesen, aber hat schon einer geschrieben, dass coden in java viel mehr spass macht als in c++? mir jedenfalls...

    ne, es ist genau umgekehrt.



  • java anhänger schrieb:

    klar, das jemand der nicht programmieren kann Java bevorzugt.

    Klar, das jemand der Programmieren nur vom Hörensagen her kennt nicht weiß inwiefern Java das Leben vereinfachen kann. oder anders gesagt: Spar dir solche Hiebe unter der Gürtellinie.

    Ich hab schon mit Java gearbeitet. Im Gegensatz zu dir, bin ich kein Sprach-Dogmat und schaue auch über den Tellerrand.

    Gregor schrieb:

    rüdiger schrieb:

    Ich bin nicht "so ein OSS-Verfechter" und ich kenne die CDDL und die genauen Details der GPL auch nicht, um das beureilen zu können.

    Schade. Ich dachte, du wärst da der richtige Ansprechpartner. Ich glaube, Du hattest mich vor ganz langer Zeit mal gefragt, was ich von solchen offenen Java-Nachbauten wie Kaffe und so halte. Deshalb dachte ich, Dir würde die Offenheit von Software wichtig sein.

    Offenheit von Software ist mir schon wichtig oder sagen wir es so, ich bevorzuge als Programmierer natürlich Software dessen Quellcode ich einsehen kann.



  • Artchi schrieb:

    Wenn dir Smartpointer auch nicht reichen, nimm Hans Boehms Garbagecollector. Dann biste mit C++ auf Java-Level.

    Genau, Java-Niveau! Ich bin gleich wieder da, muss mich nur schnell
    noch fertig totlachen.... Der GC für C++ ist n netter Hack, der
    vieleicht für ein Hallo-Welt-Prog. reicht - für mehr aber auch nicht...
    Zudem kommt da das Argument, das anderer Code als der selbstgeschriebene
    (im Java-Fall die VM) unkrontrollierbar sei wie ein Bummerang zurückgeflogen!

    Also echt, manchmal frag ich mich, wie verbohrt und beschränkt man sein
    muss, um C++ auch noch gut zu finden - in manchen Bereichen (embedded) ists
    vieleicht die beste Alternative, aber von "gut" ists bei objektiver
    Betrachtung noch 100000 km entfernt.

    Böhms GC auf Java-Level... Ich lach mich tot!



  • Artchi schrieb:

    Das spiegelt sehr schön wieder, was wir in der C++ Welt eigentlich haben: die wenigsten kennen C++ und ihre Designmöglichkeiten. Ich habe mal einem Java-Kollegen, der seit Jahren auch C und C++ kennt, mal ein paar Hinweise bzgl. Templates u.ä. gegeben. Er selber kannte kein Boost, keine Namespaces ("warum hat mir das keiner gesagt?") und vorallem hat er 3D-Engines wie Irrlicht benutz. Mit dem Hinweis auf Templates und das diese nützlich sind und vorallem eine andere Denkweise als Java bedürfen, meinte er "Ja, aber die ganzen Frameworks wie Irrlicht werden von erfahrenen C++lern entwickelt, und ich habe noch nie Templates oder sowas darin gesehen! Die werden es ja wohl wissen?"

    herrlich!!

    nur damit irrlicht nicht in verruf kommt, sonder das schlechte licht bei deinem kollegen bleib der irrlich verwendet aber nix ueber die exestenz von templates weiss, namespaces usw

    erste zeile von irrlicht bsp code
    (die anscheinend ohne nachdenken was da steht und getan wird verwendet wird)

    // start up the engine
    IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8,
                    core::dimension2d<s32>(640,480));
    

Anmelden zum Antworten