schnelles java prog



  • Jetzt hab ich mir den rest den ihr geschrieben habt noch durchgelesen und es wurde oft behauptet, dass man mit Java auch schnelle progs machen kann, aber es wurde bis jetzt kein Java prog genannt, dass schnell ist. Außer Eclipse mit ner nicht Java GUI. Gibts eigentlich ne JVM die in Java ... ne



  • volkard schrieb:

    generpft schrieb:

    Wen interessieren irgendwelche unrealistischen Benachmarks. Wir haben z.B. 2 kleinere gekaufte Programme in der Firma die umgefähr das gleiche machen, auf DBs zugreifen und schrieben. Das eine in Java braucht sicher 30 Sekunden zum starten und ist in der Bedienung lahm (speichern von ein paar einfachen änderungen braucht ca. 5 Sek.). Das andere ist wahrscheinlich in C++ geschrieben, startet in 1-2 Sekunden, speichern brauch praktisch keine Zeit, klick und fertig. Und das schnellere nicht Java Programm hat auch noch mehr DB einträge.

    das liegt aber dann wohl nicht an der sprache java, sondern daran, daß java inzwischen ausschließlich von untalentierten programmierern benutzt wird.
    ist sowas wie die häufung von abstürzprogrammen in freeware und shareware bei der sprache delphi. oder das häufige programmsterben wegen übersichtsverlust in basic.

    Das ist sicherlich richtig, genau so wie man nicht C++ benutzt, um ernsthafte Anwendungen oder Linux-kernel zu schreiben. Ich meine, Korrelation != Kausalität, C++ macht die Leute nicht dumm -- nur dass die schlauen Ratten das Schiff schon vorher verlassen.



  • generpft schrieb:

    Jetzt hab ich mir den rest den ihr geschrieben habt noch durchgelesen und es wurde oft behauptet, dass man mit Java auch schnelle progs machen kann, aber es wurde bis jetzt kein Java prog genannt, dass schnell ist. Außer Eclipse mit ner nicht Java GUI. Gibts eigentlich ne JVM die in Java ... ne

    Tomcat, Glassfish, JBoss AS, Derby, ... alle schnell.

    Eclipse, Netbeans, IntelliJ IDEA, Elsterformular, ... alle schnell.

    Ein in Java geschriebenes Hello World ... schnell.

    Mein aktuelles Projekt (3-Schicht mit Swing Client) ... schnell.

    Haufenweise in Java geschriebene Individualsoftware ... schnell.

    Naja, aber wenn Du es nicht hinbekommst, schnelle Java Software zu schreiben, nichts für ungut. Man lernt ja nie aus. Insofern ist vielleicht noch nicht alles verloren. 🤡



  • ...außerdem hinkt der ewige Vergleich zw. C++ und Java bezüglich Geschwindigkeit: C++ ist definitiv schneller als Java, schön. Aber dafür hat Java auch Vorteile.

    Wäre es besser z.B. ein Web-Framework ala Spring in C++ zu implementieren, weil es schneller ist?

    Wieviele Abstürze in C/C++-Applikationen basieren eigentlich auf Memory Leaks? Sind da nicht recht viele untalentierte C++ Programmierer am Werk? Ok, die müssen wohl alle mit Java angefangen haben 😉



  • +fricky schrieb:

    Shade Of Mine schrieb:

    stimmt natuerlich, aber die kommen nicht weit genug um ernsthafte programme zu schreiben. und genau das ist der punkt.

    soll das heissen, dass nur wer durch die harte c++ schule ging, fähig ist, ernsthafte programme zu schreiben?

    Würde ich zwar nicht so pauschalisieren, aber im Prinzip könnte da was dran sein... Kenn viele Leute die einfach mal so mit Java angefangen haben, die einfach nur schlechte Programm entwickeln. Im Gegenzug kenn ich auch einige die vorher auch mal was anderes gemacht haben bzw. allgemeiner ein gutes Verständnis von dem haben was untenv drunter eigentlich abgeht. Das ist einfach ein Riesenunterschied...
    Der Glaube, dass man in Java fast gar nichts falsch machen kann und es relativ einfach ist gute Programme zu entwickeln ist ja weit verbreitet. In Wirklichkeit gibt es da aber auch jede Menge Fallstricke, nur werden die nicht gleich sofort so hart wie in C++ bestraft, sondern man kriegt eben meist doch irgendwas hin was einigermaßen läuft.



  • nep schrieb:

    +fricky schrieb:

    Shade Of Mine schrieb:

    stimmt natuerlich, aber die kommen nicht weit genug um ernsthafte programme zu schreiben. und genau das ist der punkt.

    soll das heissen, dass nur wer durch die harte c++ schule ging, fähig ist, ernsthafte programme zu schreiben?

    Würde ich zwar nicht so pauschalisieren, aber im Prinzip könnte da was dran sein... Kenn viele Leute die einfach mal so mit Java angefangen haben, die einfach nur schlechte Programm entwickeln. Im Gegenzug kenn ich auch einige die vorher auch mal was anderes gemacht haben bzw. allgemeiner ein gutes Verständnis von dem haben was untenv drunter eigentlich abgeht. Das ist einfach ein Riesenunterschied...
    Der Glaube, dass man in Java fast gar nichts falsch machen kann und es relativ einfach ist gute Programme zu entwickeln ist ja weit verbreitet. In Wirklichkeit gibt es da aber auch jede Menge Fallstricke, nur werden die nicht gleich sofort so hart wie in C++ bestraft, sondern man kriegt eben meist doch irgendwas hin was einigermaßen läuft.

    Da hast du zu 100% den Nagel auf den Kopf getroffen. Denn es ist ein Irrglaube, dass man keine Ahnung haben muss/soll was unter der Haube abgeht. Hierbei meine ich keineswegs, dass man sämtliche Implementierungsdetails kennen muss, aber einen groben Überblick sollte man schon haben, das fördert das Verständnis ungemein. Und dieses Wissen kommt ganz von alleine, wenn man sich ernsthaft mit etwas auseinandersetzt. Also jetzt bitte nicht flamen, dass man ja gar nicht wissen müsse wie eine Sprache/Bibliothek aufgebaut/implementiert ist. Trollt einfach mal nicht, sondern benutzt euren gesunden Menschenverstand, dann versteht ihr auch was ich meine 🙂



  • JC++ schrieb:

    Wieviele Abstürze in C/C++-Applikationen basieren eigentlich auf Memory Leaks?

    speicherlöcher sind eine krankheit von c. in c++ trifft man sowas nicht an. du verwirrst dich nur selber, wenn du von "C/C++" schreibst und da was zusammenfasst, das nur syntaktisch einiges gemein hat.



  • 😕

    Speicherlecks unter C++ entstehen genau so wie unter C

    Quelle: http://de.wikipedia.org/wiki/Memoryleak#C.2B.2B



  • JC++ schrieb:

    😕

    Speicherlecks unter C++ entstehen genau so wie unter C

    Quelle: http://de.wikipedia.org/wiki/Memoryleak#C.2B.2B

    nur entstehen sie wegen RAII in der praxis nicht.



  • Ein Memory-Leak ist ein Programmierfehler, ich glaube nicht, daß man den einer
    Programmiersprache anlasten sollte.


  • Administrator

    Wenn du unter C++ mit C++ Mitteln programmierst, dann ist die Chance eines Speicherlecks deutlich geringer als unter C. Schon nur das Einhalten von RAII vernichtet viele (bis alle?) Memoryleaks. Zudem verwendet man oft Container und anderes, welche die Speicherverwaltung für einem übernehmen. Ich hatte seit Ewigkeiten keinen Absturz mehr wegen eines Memoryleaks oder einem falschen Zeiger, zumindest im ausgelieferten Code.

    Grüssli



  • Dravere schrieb:

    alle?

    ja, alle.



  • Shade Of Mine schrieb:

    Dravere schrieb:

    alle?

    ja, alle.

    Nicht unbedingt, man verwendet ja immernoch Code von Dritten, welcher häufig noch in C oder C/C++ geschrieben ist und schon hat man wieder Memory-Leaks drin 😞

    Hast ja erst heute ein Beispiel im C++-Forum mit CreateThread geliefert.



  • volkard schrieb:

    speicherlöcher sind eine krankheit von c. in c++ trifft man sowas nicht an. du verwirrst dich nur selber, wenn du von "C/C++" schreibst und da was zusammenfasst, das nur syntaktisch einiges gemein hat.

    Es gibt jede Menge Leute, die C++ programmieren und C++ als eine Art C mit ein paar zusätzlichen Sprachmitteln ansehen. ...oder zumindest so programmieren. Ich kenne zumindest genügend Leute, die das so machen. Fairerweise sollte man das auch erwähnen, wenn man schon behauptet, dass Java nur von unfähigen Programmierern genutzt wird. 😋 Es gibt in gleicher Weise massenweise C++ Programmierer, die keine Ahnung von der Sprache haben.



  • Dravere schrieb:

    Wenn du unter C++ mit C++ Mitteln programmierst, dann ist die Chance eines Speicherlecks deutlich geringer als unter C. Schon nur das Einhalten von RAII vernichtet viele (bis alle?) Memoryleaks.

    naja, wenn du ständig im kopf hast, welcher 'smart pointer' o.ä. für welchen anwendungsfall gut ist, mag das zutreffen. ein C++ anfänger verwendet gern mal auto_ptr für arrays, was z.b. mem-leaks provozieren kann. eine frage übrigens, die sich unter C gar nicht erst stellt. in C++ hat man einfach viel mehr möglichkeiten, fehler zu machen, als in C.

    Gregor schrieb:

    Es gibt in gleicher Weise massenweise C++ Programmierer, die keine Ahnung von der Sprache haben.

    das stimmt. ich behaupte mal: die meisten haben zu wenig ahnung. als C++ user muss man sehr genau wissen, was man tun darf und was nicht, sonst ist scheitern nur eine frage der zeit. ich hab' jedenfalls mehr als einmal mitbekommen, wie leute mit C++ derbe auf die nase gefallen sind.
    🙂



  • Gregor schrieb:

    ]
    Es gibt jede Menge Leute, die C++ programmieren und C++ als eine Art C mit ein paar zusätzlichen Sprachmitteln ansehen. ...oder zumindest so programmieren.

    Klar und die sind schuld dass c++ als unsicher verschriehen ist. denn defakto hast du keine buffer overflows und memory leaks in c++ - wenn du weisst was du tust.

    niemand behauptet übrigens dass alle java programmierer schlecht sind, sondern dass der schnitt einfach weniger ahnung hat. da die hürde java von jedem genommen werden kann der ein bisschen zeit investiert. weil java dich daran hindert triviale fehler zu machen. selbes gilt zB für php.

    deshalb sind python programmierer im schnitt die besten (oder nahe dran), da du python eben nur lernst wenn dich programmieren interessiert. und dann bist du automatisch besser als die meisten...

    das sind durchschnittswerte - keine absoluten.

    ich merke es ja zB wenn wir freelancer suchen - wenn er zB nur php kann, dann kann man den freelancer vergessen. wenn er zB von ruby oder python etwas weiss, ist er anschauenswert.

    natürlich ist das nicht 100% korrekt, aber eine super vorauswahl. ich frage deshalb immer nach python oder sonstigen "exoten". und wenn jemand brainfuck sagen würde, wäre er fix angestellt :p

    naja, nicht so extrem - aber das ist in etwa die idee.


  • Administrator

    +fricky schrieb:

    naja, wenn du ständig im kopf hast, welcher 'smart pointer' o.ä. für welchen anwendungsfall gut ist, mag das zutreffen. ein C++ anfänger verwendet gern mal auto_ptr für arrays, was z.b. mem-leaks provozieren kann. eine frage übrigens, die sich unter C gar nicht erst stellt. in C++ hat man einfach viel mehr möglichkeiten, fehler zu machen, als in C.

    Das ein Anfänger böse Fehler machen kann, ist wohl ziemlich klar. Aber ein Anfänger sollte die Sprache ja auch lernen und nicht produktiven Code schreiben.

    Zudem, was heisst "ein Anfänger verwendet gern mal auto_ptr für arrays"? Er verwendet es einmal, fliegt auf die Schnauze und macht es dann nicht mehr 😉
    Ein guter Programmiereranfänger liest sogar die Dokumentation und macht den Fehler gar nie 😉

    In C++ hat man viel mehr Möglichkeiten Fehler zu machen, das ist wahr. Allerdings hat man auch viel mehr Möglichkeiten Fehler zu verhindern. Jemand der C++ Programmieren kann, wird wohl die Möglichkeiten verwenden, welche zur Fehlerverhinderung führen 😉

    @Shade Of Mine,
    Uff, da hätte ich ja keine Chance. C++, C, C#, Java, PHP, XHTML, XML, XSD, XSLT usw.
    Wird wohl Zeit, dass ich nach C# noch eine exotische Sprache lerne. Wobei Python eigentlich schon lange auf der Liste steht. Hab sogar extra einen Webspaceanbieter ausgewählt, welcher Pyhton unterstützt 🙂

    Grüssli



  • Dravere schrieb:

    @Shade Of Mine,
    Uff, da hätte ich ja keine Chance. C++, C, C#, Java, PHP, XHTML, XML, XSD, XSLT usw.

    Ja, das dumme dabei: alle Sprachen sind aus der C Familie.

    dh ja nicht dass du ein schlechter Programmierer bist - das auf garkeinen Fall. aber in den meisten Fällen ist das halt doch eine gute Vorauswahl.

    Wobei ich bei C++ natürlich genauer hinsehe ob es nämlich echtes c++ ist oder nur ein c mit klassen. fragen wie "was hältst du von uml" oder "was sagt dir 'lambda'" etc. sind auch immer super fragen um eine schnelle vorauswahl treffen zu können.

    wichtig dabei: das sind vorauswahlen. ein guter freund von mir kann zB nur PHP und ein bisschen java - aber er ist in PHP einfach top. er würde bei mir aber zB durch alle vorauswahlen durchfallen :p

    aber es hilft halt wenn du 100 bewerbungen durchgehen musst um schnell zu sortieren... da man ja nur mit max 5 leuten wirklich persönlich reden kann...

    PS:
    @fricky:
    den falschen smartpointer zu verwenden würde bedeuten dass man keine ahnung von der materie hat. alleine die idee für ein array einen smartpointer zu nehmen sind -100 punkte 😉



  • byto schrieb:

    generpft schrieb:

    Jetzt hab ich mir den rest den ihr geschrieben habt noch durchgelesen und es wurde oft behauptet, dass man mit Java auch schnelle progs machen kann, aber es wurde bis jetzt kein Java prog genannt, dass schnell ist. Außer Eclipse mit ner nicht Java GUI. Gibts eigentlich ne JVM die in Java ... ne

    Tomcat, Glassfish, JBoss AS, Derby, ... alle schnell.

    Eclipse, Netbeans, IntelliJ IDEA, Elsterformular, ... alle schnell.

    Ein in Java geschriebenes Hello World ... schnell.

    Mein aktuelles Projekt (3-Schicht mit Swing Client) ... schnell.

    Haufenweise in Java geschriebene Individualsoftware ... schnell.

    LOL, nicht nur irgendwas aufzählen und "schnell" hinschreiben. Vorallem Derby is richtig lahm, sogar unter anderen Java DBs
    http://www.nabble.com/file/p6333103/PolePosition.pdf
    http://www.polepos.org
    Macht dich und deine Liste richtig glaubwürdig.

    Naja, aber wenn Du es nicht hinbekommst, schnelle Java Software zu schreiben, nichts für ungut. Man lernt ja nie aus. Insofern ist vielleicht noch nicht alles verloren. 🤡

    🙄 Dumm nur dass ich C++ programmier...



  • Dravere schrieb:

    In C++ hat man viel mehr Möglichkeiten Fehler zu machen, das ist wahr. Allerdings hat man auch viel mehr Möglichkeiten Fehler zu verhindern.

    ja, aber das verhältnis ist ziemlich ungünstig. mögen es vielleicht 20 banale fehler sein, die man in C machen kann und gegen die es C++-mittel gibt, so hat man in C++ vielleicht 200 neue fehlermöglichkeiten. und die sind auch noch wesentlich verzwickter.
    ^^(die zahlenwerte sind nur 'ne ganz grobe abschätzung)

    Shade Of Mine schrieb:

    @fricky:
    den falschen smartpointer zu verwenden würde bedeuten dass man keine ahnung von der materie hat. alleine die idee für ein array einen smartpointer zu nehmen sind -100 punkte

    na, du setzt sowieso seltsame maßstäbe. wenn der kandidat perfekt brainfuck und ein bisschen python kann, dann reisst ihn das schon wieder raus.
    🙂


Anmelden zum Antworten