Geschwindigkeit vs. Sicherheit
-
Ich bin zuversichtlich, daß so ein assert bereits heute in meiner stdlib-Implementierung drinsteht.
-
byto schrieb:
finix schrieb:
In Bezug auf die Bibliotheken: natürlich braucht man die, aber das ist bei Java nicht anders. Bei Java ist schlicht die Standard-Bibliothek umfangreicher (und dass die nicht unbedingt immer perfekt ist sieht man allein an der Existenz von Swing und insbesondere SWT).
Swing IST Teil der Standard-Bibliothek!
Da ging's um Gregor's Argument dass bei Java gleich alles dabei ist, und man nicht auf Bibliotheken von Dritten angewiesen ist.
/editHm. Da demonstrierst du natürlich ein sehr gutes Argument. Aber ich denke das Sicherheitsmodell von Java geht immer noch nicht weit genug für Leute die noch nicht einmal einen einzigen, unkomplizierten Satz korrekt lesen können.
-
@finix: Wird er durch solche Aussagen eigentlich länger?
MfG SideWinder
-
finix schrieb:
für Leute die noch nicht einmal einen einzigen, unkomplizierten Satz korrekt lesen können.
Und als nächstes Argument kommt dann "Der ist nicht korrekt, denn Du hast da nen Rechtschreibfehler.". Toll. Ich glaube, ganz so tief müssen wir mit dem Niveau in diesem Thread nicht unbedingt gehen. Im Übrigen habe ich auch nicht verstanden, worauf Du mit Deinem Beitrag da eigentlich hinaus wolltest. Vielleicht stellst Du es einfach klar, dann redet man nicht mehr aneinander vorbei.
-
SideWinder schrieb:
@finix: Wird er durch solche Aussagen eigentlich länger?
Ja, und wie. Solltest du auch mal probieren, dann ziehst du vielleicht nicht immer den kürzeren...
-
Gregor schrieb:
finix schrieb:
für Leute die noch nicht einmal einen einzigen, unkomplizierten Satz korrekt lesen können.
Und als nächstes Argument kommt dann "Der ist nicht korrekt, denn Du hast da nen Rechtschreibfehler.". Toll. Ich glaube, ganz so tief müssen wir mit dem Niveau in diesem Thread nicht unbedingt gehen. Im Übrigen habe ich auch nicht verstanden, worauf Du mit Deinem Beitrag da eigentlich hinaus wolltest. Vielleicht stellst Du es einfach klar, dann redet man nicht mehr aneinander vorbei.
Es ging einfach um die "Bibliotheken von Dritten" die man verwendet. Swing war einfach nur ein Beispiel dafür dass die Standard-Bibliotheken auch nicht immer das wahre sind - d.h. wäre AWT so toll gewesen gäbe's kein Swing, wäre Swing problemfrei gäbe es kein SWT.
-
finix schrieb:
Es ging einfach um die "Bibliotheken von Dritten" die man verwendet. Swing war einfach nur ein Beispiel dafür dass die Standard-Bibliotheken auch nicht immer das wahre sind - d.h. wäre AWT so toll gewesen gäbe's kein Swing, wäre Swing problemfrei gäbe es kein SWT.
Ach so. Ja, ok. Natürlich ist die Standardbibliothek von Java nicht perfekt und sie entwickelt sich auch weiter. Es werden Dinge deprecated usw.. Ob AWT und Swing jetzt die besten Beispiele dafür sind, wage ich zu bezweifeln: Die decken eigentlich unterschiedliche Bedürfnisse ab und das AWT ist ja auch nicht deprecated oder so. SWT halte ich persönlich für eine Modeerscheinung, die bald wieder verschwinden wird, aber das habe ich ja schon gesagt.
-
Gregor schrieb:
Ach so. Ja, ok. Natürlich ist die Standardbibliothek von Java nicht perfekt und sie entwickelt sich auch weiter. Es werden Dinge deprecated usw.. Ob AWT und Swing jetzt die besten Beispiele dafür sind, wage ich zu bezweifeln: Die decken eigentlich unterschiedliche Bedürfnisse ab und das AWT ist ja auch nicht deprecated oder so. SWT halte ich persönlich für eine Modeerscheinung, die bald wieder verschwinden wird, aber das habe ich ja schon gesagt.
Wo sind denn die Unterschiede zwischen AWT und Swing, abgesehen davon dass beides GUI-Toolkits sind?
-
Gregor schrieb:
Java vs. Groovy? Soetwas habe ich noch nicht gesehen. Wo gibt es denn solche Diskussionen?
Damit wollte ich eigentlich auf alle Diskussionen abzielen, die sich beispielsweise um Closures in Java drehen.
-
Gregor schrieb:
finix schrieb:
Genau, ebenso kreativ wie zu übersehen das C/C++ an sich auch plattformunabhängig sind und dass es für den überwiegenden Teil der Aufgaben die man im Normalfall so bewältigen möchte plattformunabhängige Bibliotheken gibt.
Ich habe einmal eine Erfahrung mit Qt gemacht und das reicht mir praktisch schon, was diese plattformübergreifenden Bibliotheken betrifft: Die sind auch nicht so perfekt, wie man es vielleicht annehmen sollte. Gerade wenn man irgendwelche nativen GUI-Komponenten nutzt, die zum Beispiel auf anderen Plattformen nicht vorhanden sind. Resultat: Das Qt-Programm hat unter Windows funktioniert, unter Linux nicht. ...ich muss dazu sagen, dass das Programm nicht von mir war.
LOL
Natürlich ist eine plattformübergreifende nicht plattformübergreifend, wenn man sie mit Systemabhängigen-Code mischt. Man kann ja auch in Java System abhängigen Code schreiben (da reichen ja nur ein paar Pfadangaben oder einige Dinge bei Threads) und der ist dann zwar immer noch nicht Plattformunabhängig, aber er ist dann sogar davon Abhängig auf welcher Plattform die Plattform läuft.
Damit haben wir aber immer noch nicht gezeigt, warum wir uns ausgerechnet Java antun sollten, um sichere Programme zu schreiben.
-
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.
-
finix schrieb:
Wo sind denn die Unterschiede zwischen AWT und Swing, abgesehen davon dass beides GUI-Toolkits sind?
Das ist ja auch die Gemeinsamkeit.
AWT nutzt native Komponenten, Swing zeichnet selber. Aus diesem Grund hast Du bei AWT eine geringere Auswahl an Komponenten, dafür entspricht das L&F aber eher dem L&F, das auf der jeweiligen Plattform üblich ist. Bei Swing geht man genau andersherum an die Sache heran. Wenn man davon absieht, dass man da pluggable L&Fs verwenden kann, die das native L&F nachahmen, ist das Ziel eigentlich eher, auf allen Plattformen das gleiche L&F anzubieten. Insofern steht das SWT eigentlich auch eher in Konkurrenz zum AWT und nicht zu Swing.
Die Frage ist halt, welches Verhalten man für seine Anwendung lieber hätte. Ich halte den Ansatz von Swing für besser.
-
java anhänger schrieb:
Gregor schrieb:
Java vs. Groovy? Soetwas habe ich noch nicht gesehen. Wo gibt es denn solche Diskussionen?
Damit wollte ich eigentlich auf alle Diskussionen abzielen, die sich beispielsweise um Closures in Java drehen.
Ach so. Mal abwarten, ob die kommen. Ist schwer einzuschätzen, so lange noch kein JSR für Java 7 existiert.
-
rüdiger schrieb:
Natürlich ist eine plattformübergreifende nicht plattformübergreifend, wenn man sie mit Systemabhängigen-Code mischt.
Es ging um die Nutzung von Qt und nicht um irgendwelche plattformabhägigen Sachen. Qt stellt anscheinend Komponenten zur Verfügung, die es nicht überall gibt und entsprechend gibt es dann Fehler auf den anderen Plattformen. Das halte ich persönlich für eine merkwürdige Designentscheidung, wenn man eine plattformunabhängige Bibliothek zur Verfügung stellen möchte.
...so habe ich es zumindest in Erinnerung. Aber wenn Du was genaueres wissen möchtest, frag doch GPC nach seinen gtkmm-Erlebnissen. Das hat ja offensichtlich auch nicht so gut geklappt.
-
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.
bitte, google kann doch wohl jeder selbst benutzen.
http://lists.grok.org.uk/pipermail/full-disclosure/2005-April/033208.html
uswAber zeig mir erst einmal ein paar Java-Programme, die in einem Bereich eingesetzt werden, wo Sicherheit überhaupt problematisch ist (also nicht Eclipse).
Aber ich sehe immer noch keinen Grund, warum ich dann nicht lieber in Common Lisp, Ada95 oder Ruby programmieren sollte, anstelle in Java.
-
rüdiger schrieb:
Aber zeig mir erst einmal ein paar Java-Programme, die in einem Bereich eingesetzt werden, wo Sicherheit überhaupt problematisch ist (also nicht Eclipse).
Huh? Ist Dir nicht klar, dass Java gerade im Enterprise-Umfeld eingesetzt wird? Also da, wo es um "Distributed Computing" geht? Was glaubst Du wo, die ganzen Java-Jobs herkommen? Aus der Spieleentwicklung vielleicht?
-
Gregor schrieb:
rüdiger schrieb:
Natürlich ist eine plattformübergreifende nicht plattformübergreifend, wenn man sie mit Systemabhängigen-Code mischt.
Es ging um die Nutzung von Qt und nicht um irgendwelche plattformabhägigen Sachen. Qt stellt anscheinend Komponenten zur Verfügung, die es nicht überall gibt und entsprechend gibt es dann Fehler auf den anderen Plattformen. Das halte ich persönlich für eine merkwürdige Designentscheidung, wenn man eine plattformunabhängige Bibliothek zur Verfügung stellen möchte.
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.
Gregor schrieb:
...so habe ich es zumindest in Erinnerung. Aber wenn Du was genaueres wissen möchtest, frag doch GPC nach seinen gtkmm-Erlebnissen. Das hat ja offensichtlich auch nicht so gut geklappt.
Das GTK auf Windows noch nie ein Lichtbringer war, wissen wir auch alle.
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).
-
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++.