Und wieder keinen "java.lang.ArrayIndexOutOfBoundsException"-Award

Yamagi

Possessed With Psi Powers
Teammitglied
Wie euch vielleicht bekannt ist, muss Oracle 100 Tage ohne Java Zero-Day Exploid schaffen um den "java.lang.ArrayIndexOutOfBoundsException"-Award verliehen zu bekommen [1]. Mit 87 Tagen waren sie wirklich gut davor, bis nun eine weitere kritische Lücke entdeckt wurde [2]. Wieder einmal in der hochsicheren Reflection-API. Und natürlich gibt es wie immer noch keinen Patch. Aber wäre ja auch zu schön, schließlich haben sie es bisher nicht mal geschafft alle teils schon seit Monaten bekannten Löcher zuzuschmieren... Also heißt es wieder mal hoffen und beten, dass es gut geht. Wenn der Patch in einigen Wochen oder Monaten da ist, wieder Spießruten-Lauf in Sachen Updates installieren und hoffen, dass es keine in der Testumgebung natürlich nicht auftretenden Nebenwirkungen hat. Ich könnte kotzen vor Freude. Was bin ich froh Programmiersprachen zu nutzen, deren Basistechnologie kein schrottiger Haufen schweizer Käse ist, der von einem unfähigen, geldgeilen Konzern zusammengekleistert wird.

1: http://java-0day.com/
2: http://seclists.org/fulldisclosure/2013/Jul/172

P.S.: Ja, das klingt trollig. Und ist es wahrscheinlich sogar. Aber ich bin wirklich angepisst, weshalb das nun einfach mal raus musste.
 
Zuletzt bearbeitet:
Da Oracle nichts komplett neuentwickelt hat, muss Sun ja tolle Richtlinien bei der Entwicklung gehabt haben.
 
Ist halt schade, dass die meisten guten, "vollständigen" und performanten Webframeworks für Java sind. Also wirkliche "Enterprise" Geschichten und nicht so ein Kinderspielplatz wie Ruby on Rails.

Aber vllt. kommt ja mit Node.JS etwas frischerer Wind in die Sache. Noch fehlt es da an allem.
 
-Nuke-: Node.js war doch die Spielwiese auf der eine while(true) { } in einem Handler alles blockiert oder?
 
Ist halt schade, dass die meisten guten, "vollständigen" und performanten Webframeworks für Java sind. Also wirkliche "Enterprise" Geschichten und nicht so ein Kinderspielplatz wie Ruby on Rails.

Welche "performanten Webframeworks" gibt es denn unter Java für die man nicht mindestens einen Warp-Antrieb und vier Flux-Kompensatoren braucht?
(Ich bin da nicht so bewandert und alles was ich in Java bis jetzt angeschaut habe, fand ich zum wegrennen.)
 
Welche "performanten Webframeworks" gibt es denn unter Java

Nimmst du z.B. Glassfish. Gibt aber auch noch weitaus mehr, müsste ich aber auch erst raussuchen (ich glaube Ninja oder Play hießen die).

Ich will gar nicht behaupten, dass der Einstieg in dem Gebiet der Java-Welt einfach wäre oder der Code besonders "hübsch" ist, aber die Möglichkeiten und das Ergebnis sind weitaus besser als das was man mit anderen Sachen so überhaupt machen kann. Schon alleine bei der Performance versagen Ruby oder Python basierte Systeme extrem. Schnelle Alternativen wie Jython bringen einem dann aber auch wieder zur JVM. ;) Und gerade bei RoR ist z.B. der Datenbankzugriff bzw. die Nutzung der Datenbank unter aller Sau. Viel Zeug was die Datenbank machen könnte, macht RoR selbst nochmal im Ruby-Code z.B. Je mehr Datensätze man hat, desto langsamer wird der Spaß dann auch noch. Was hilft vllt.? Halbgare, mit der Zeit inkompatible Gems? Sry, aber "Enterprise" (mal als Buzzword) sieht anders aus ;)

Du willst mir sagen du siehst JavaScript als funktionale Programmiersprache an?

Es ist keine reine funktionale Programmiersprache (die will auch meist keiner), aber man kann, wenn man das möchte, funktional mit ihr programmieren. Google hilft dir dabei. Afair basiert komplett jquery auf diesem System (habe es aber selbst noch nicht genutzt)

Und Node.JS ist nunmal eventbasiert, da macht man ein "while(true)" nun mal einfach nicht. Wenn du in einer Java oder C++/Qt Anwendung das gleiche machst, ohne dem Eventsystem wieder die Steuerung zu übergeben, hast du das gleiche Problem.
 
Welche "performanten Webframeworks" gibt es denn unter Java für die man nicht mindestens einen Warp-Antrieb und vier Flux-Kompensatoren braucht?
(Ich bin da nicht so bewandert und alles was ich in Java bis jetzt angeschaut habe, fand ich zum wegrennen.)

In Anbetracht der schieren Menge an Webframeworks, die es in der Java-Welt gibt: welche Anforderungen hast du denn?

  • Keine Lust auf HTML und Javascript? GWT erzeugt aus Java-Code vollautomatisch die Webanwendung.
  • Darf es mehr Richtung Ruby on Rails gehen? Play ist dein Freund.
  • Komponentenbasiert? Hier kommt z.B. Wicket in Frage.
  • Keep it simple stupid? Servlets.
Falls du dich nicht entscheiden kannst, würde ich den ersten Schritt mit Play wagen.

Ich will gar nicht behaupten, dass der Einstieg in dem Gebiet der Java-Welt einfach wäre oder der Code besonders "hübsch" ist, aber die Möglichkeiten und das Ergebnis sind weitaus besser als das was man mit anderen Sachen so überhaupt machen kann.

Im Großteil der geschäftskritischen Webinfrastrukturen werkelt Java - von Amazon über eBay bis hin zu praktisch jeder Bank der Welt.
Wenn man komplexere Anforderungen hat, bleiben schnell nur noch zwei Plattformen übrig.

Schon alleine bei der Performance versagen Ruby oder Python basierte Systeme extrem. Schnelle Alternativen wie Jython bringen einem dann aber auch wieder zur JVM. ;)

Beim Web Framework Benchmark laufen 8 der Top 10 Frameworks in der JVM.
Daran würde ich aber die Wahl des Frameworks nicht festmachen, bei Performanceproblemen ist in den seltensten Fällen das Framework die Ursache.
Zumal die JVM dank JIT gerade im Webumfeld selbst C und C++ überholt.

Und gerade bei RoR ist z.B. der Datenbankzugriff bzw. die Nutzung der Datenbank unter aller Sau. Viel Zeug was die Datenbank machen könnte, macht RoR selbst nochmal im Ruby-Code z.B. Je mehr Datensätze man hat, desto langsamer wird der Spaß dann auch noch.

Der Datenbankzugriff ist für den Großteil der anspruchsvollen Webprojekte das Problem. Bevor man hier aber gegen die Limits von Ruby on Rails läuft, muss dass Projekt schon sehr groß werden. Ich würde die Probleme von Ruby on Rails je nach Einsatzzweck anderenorts sehen (siehe unten).

Was hilft vllt.? Halbgare, mit der Zeit inkompatible Gems? Sry, aber "Enterprise" (mal als Buzzword) sieht anders aus ;)

Das ergänzt sich super mit den bescheidenen Monitoring- und Debugging-Möglichkeiten; besonders lustig, wenn sich mal wieder jemand sich die Features von Ruby zu eigen gemacht hat und Kernfunktionalität von Basisklassen zur Laufzeit ändert - it's not a bug, it's a feature!
Herrlich, wenn man ein Gem einbindet und sich beim ersten Aufruf einer bestimmten Methode dieses Gems sich das gesamte Anwendungsverhalten ganz subtil ändert... :eek:
 
Im Großteil der geschäftskritischen Webinfrastrukturen werkelt Java - von Amazon über eBay bis hin zu praktisch jeder Bank der Welt.
Wenn man komplexere Anforderungen hat, bleiben schnell nur noch zwei Plattformen übrig.
jo was mir bis heute nicht in den Kopf will Begründung folgt
Beim Web Framework Benchmark laufen 8 der Top 10 Frameworks in der JVM.
Daran würde ich aber die Wahl des Frameworks nicht festmachen, bei Performanceproblemen ist in den seltensten Fällen das Framework die Ursache.
Zumal die JVM dank JIT gerade im Webumfeld selbst C und C++ überholt.
nun ja die jvm ist in c geschrieben deshalb erschliest sich mir der Vorwurf gerade der C und C++ Programmierer aber sowas von überhaupt nicht...

In hochkritischen Bereichen sollte Ada verwendet werden es gibt keinen Grund das nicht zu tun, ausser halt der finanzielle Grund...

Bis dato kannste fast jeden Murks durch den C Compiler jagen durch den Fortran und den C++ Compiler und die führen das aus und die Overflows kommen über uns wie die Seuche.. Bis dato keine Validierung des Complilers dann wie lange dauerte es da mal bis es so was wie einen Standard gab, statt dessen tobt mab sich in D aus der nächste Murks...

Deshalb nicht Java an sich ist Murks da solte man mal differenzieren die JVM ist C und ein kleiner Teil C++ das ist Fakt

https://de.wikipedia.org/wiki/Java_Virtual_Machine

nachgereicht --> http://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf
 
Zuletzt bearbeitet:
In hochkritischen Bereichen sollte Ada verwendet werden es gibt keinen Grund das nicht zu tun, ausser halt der finanzielle Grund...

Du sagst es doch selbst, wer soll das bezahlen? Der Code ist nunmal da. Java an sich ist auch verdammt sicher (Bounding-Checks und Co.). Das Problem sind eher Lücken in der JVM und ein etwas "lahmarschiger" Inhaber dessen. Und das Problem bei Java momentan ist eher ein politisches. Oracle hat halt auch das OpenJDK in der Hand. Es ist zwar Prinzipiell OpenSource, aber bis da mal was einfließt, vergeht Zeit. Ist ja nun auch nicht so, als wenn andere Runtimes keine Lücken hätten. Auch bei der libc.

Nebenbei erwähnt hat Java verdammt guten Tool-Support. So gut wie kaum eine andere Sprache. Das geht guten Compilermeldungen los geht über die JVisualVM und hört dann irgendwo bei den ganzen Frameworks auf. Und das ist der Knackpunkt. Hier müssen andere Sprachen erst mal aufschließen. Aber dann bitte keine Sprache die mal eben bis zu 100 mal langsamer ist als Java. Hier sehe ich halt NodeJS im Vorteil, da dank den Webbrowsern hier viel Forschungsarbeit reingesteckt wird. Aber das Projekt ist noch recht jung.

Wenn es diese ganzen Sachen nicht gäbe, könnte man auch ab sofort alles in Haskell schreiben. Dort kompiliert fehlerhafter Code meist gar nicht erst und er lässt sich super beweisen. Bloß finde erst mal jemanden der das auch kann (also in Haskell programmieren). ;) Auch Sprachen wie Scheme, Lisp oder erlang sind super geeignet für sowas. Aber wie oben gesagt... kaum Tool-Support.

Der Datenbankzugriff ist für den Großteil der anspruchsvollen Webprojekte das Problem. Bevor man hier aber gegen die Limits von Ruby on Rails läuft, muss dass Projekt schon sehr groß werden.

Ich meine eher, dass im Normalfall bei Rails die Datenbank als dummer Datenspeicher benutzt wird. Viel Funktionalität ließe sich super in der Datenbank realisieren. z.B. Foreign Keys und Check Constraints. So wie es Java mit einem guten ORM Tool schon seit Jahren macht. Und diese unterstützen weit mehr Datenbanken als Rails.

Und das Problem mit dem "Gem 1 überschreibt Funktion von Gem 2" habe ich gerade auch. Ist "lustig". ActiveAdmin und CanCan überschreiben sich gegenseitig die Funktionen und definieren sie um. Ruby ist echt eine "tolle" Programmiersprache xD
 
Zuletzt bearbeitet:
Bäh. :D Go scheint mir da doch die bessere Alternative zu sein.

Naja, aber ist doch auch unnötig. Ich meine man liest doch oft "Nimm lieber die neue Modesprache XYZ". Wenn ich z.B. als Firma langfristig denke, nehme ich doch keine Programmiersprache die mal eben aus dem Boden gekrochen gekommen ist und nirgendwo eingesetzt wird. Die Pille mussten ja auch alle Schlucken die sofort auf .NET 1 aufgespungen sind.

Weil wenn wir was genug haben, dann sind es Programmiersprachen. ;) Und viele von ihnen lösen nur eine Handvoll der Probleme der anderen und haben eigene Probleme. Nimmt man aber "uralte" Sprachen wie Scheme, Lisp oder Haskell, dann haben die noch am wenigsten der Probleme. Die kann aber kaum einer, darum nimmt man weiterhin C/C++ oder Java. Und dank Google mit Android lebt Java auch noch eine ganze ganze ganze ganze Weile ;)
 
Du sagst es doch selbst, wer soll das bezahlen? Der Code ist nunmal da. Java an sich ist auch verdammt sicher (Bounding-Checks und Co.). Das Problem sind eher Lücken in der JVM und ein etwas "lahmarschiger" Inhaber dessen. Und das Problem bei Java momentan ist eher ein politisches. Oracle hat halt auch das OpenJDK in der Hand. Es ist zwar Prinzipiell OpenSource, aber bis da mal was einfließt, vergeht Zeit. Ist ja nun auch nicht so, als wenn andere Runtimes keine Lücken hätten. Auch bei der libc.

Nebenbei erwähnt hat Java verdammt guten Tool-Support. So gut wie kaum eine andere Sprache. Das geht guten Compilermeldungen los

jo allerdings halte ich das sogar für nur vorgeschoben weil hier Betriebswirte rechnen Fakt ist es gab und gibt Projekte da entwickelte man wesentlich schneller in Ada und blieb weit unter der Vorgabezeit sprich man war wochen vorher fertig!

Kannste gerne nachlesen, ich vertraue keinem Compiler der auch in der 2. und 3.Generation mit C verwandt ist ;) Ada ist zudem wesentlich performanter trotz Validierung und gibt es die Validierung des Compilerdurchlaufs etwa in anderen Sprachen also sprich Du vertraust nur ...

http://www.sigada.org/conf/sigada99/private/paper18.pdf

So am meisten sperren sich die Hersteller gegen Validierung und so kannste sogar in Ada auf mitlerweile auf Validierung verzichten was aber absolut sinn entleert ist. Auch aus diesem Grund ham wir Bloated Software.. Rechne mal zusammen und zwar die Gesamkosten was uns C bescherrt hat an Kosten, Ausfallkosten, Fehlerbeseitigungen und Beseitigungen der Fehlerbeseitigungen, sowie stets und ständig Updates und Updates der Updates und alle 10 Tage ne Library mindestens..

Was bedeutet das Du permaneten Zwang unterliegst, C macht abhängig ;)

Ne das ist nur en politisches Ding und auch ideologisches Ding weil mit C und seinen Verwandten verdienste die meiste Kohle in doppelt und dreifacher Hinsicht und die Programme werden immer fetter und fetter und sind auch nicht mehr kompatibel zu einander selbst innerhalb und über die Programm_Betriebsystemgrenzen hinweg.
 
jo allerdings halte ich das sogar für nur vorgeschoben weil hier Betriebswirte rechnen

In wie vielen realen Softwareprojekten hast du schon mitgearbeitet?

Dir ist bewusst, dass viele Softwarefirmen schon den Bach runtergegangen sind, weil es eben keinen Betriebswirt gab, der mal nachgerechnet hat?

Fakt ist es gab und gibt Projekte da entwickelte man wesentlich schneller in Ada und blieb weit unter der Vorgabezeit sprich man war wochen vorher fertig!

Die gibt es in jeder Programmiersprache. Welches Ada-Projekt im Webumfeld ist für seinen überragenden Erfolg bekannt?

Kannste gerne nachlesen, ich vertraue keinem Compiler der auch in der 2. und 3.Generation mit C verwandt ist ;) Ada ist zudem wesentlich performanter trotz Validierung und gibt es die Validierung des Compilerdurchlaufs etwa in anderen Sprachen also sprich Du vertraust nur ...

http://www.sigada.org/conf/sigada99/private/paper18.pdf

Hmm, das Paper stellt im Fazit selbst fest, dass die angesprochene Validierung an Bedeutung verloren hat und weiter verliert...

Was bedeutet das Du permaneten Zwang unterliegst, C macht abhängig ;)

Ada-Bibliotheken sind also allesamt fehlerfrei und brauchen nie Updates, etwa weil neue Anforderungen hinzugekommen sind. Was es nicht alles gibt... ;)

Ne das ist nur en politisches Ding und auch ideologisches Ding weil mit C und seinen Verwandten verdienste die meiste Kohle in doppelt und dreifacher Hinsicht und die Programme werden immer fetter und fetter und sind auch nicht mehr kompatibel zu einander selbst innerhalb und über die Programm_Betriebsystemgrenzen hinweg.

Wenn man mit Ada so viel schneller, fehlerfreier und günstiger entwickelt, warum dominiert Ada nicht den Markt?
Vor allem im Bereich der freien Software - wo Politik und Geld eine untergeordnete Rolle spielen und man bei der Wahl der Implementierungssprache (meist) völlig frei ist - müsste es doch vor überragenden Ada-Projekten nur so wimmeln?
 
Zuletzt bearbeitet:
In wie vielen realen Softwareprojekten hast du schon mitgearbeitet?

Dir ist bewusst, dass viele Softwarefirmen schon den Bach runtergegangen sind, weil es eben keinen Betriebswirt gab, der mal nachgerechnet hat?

Nun denn, wir haben uns schon 2011 über dieses Thema hier im Forum ausgetauscht und unsere diametral gegensätzliche Standpunkte dazu dargelegt also müsstest Du zu mindest ne Ahnung haben :)

Die gibt es in jeder Programmiersprache. Welches Ada-Projekt im Webumfeld ist für seinen überragenden Erfolg bekannt?

Tja :) der ist gut, woran das wohl liegt, kannte mal ne Firma die von einem Mann mit einer riesengroßen Jacht geschluckt wurde und die war vorher ein Big Player.. Heute lebt der Mann mit dem was er sich mit dieser Firma ans Bin gebunden hat und mit dem Update xxxx vom Update xxx
Kannte und kenne eine Firma die schmissen sogar nen komplettes Betriebssytem raus das sehr gut war, nachdem der Wiederheimkehrer sein Dogma dort manifestierte ;) Vielleicht gefiel dem nicht das dieses Betriebssystem in Pascal geschrieben war.
Der Verdacht liegt denn auch sehr nahe weil ein anderes das komplett in C++ geschrieben war und Multimedia fähig zudem seiner Zeit ( 64 Bit , Mehrprozessorunterstützung ) voraus war ebenfalls verbannt wurde.

Hmm, das Paper stellt im Fazit selbst fest, dass die angesprochene Validierung an Bedeutung verloren hat und weiter verliert...

Jo und ist das gut oder schlecht? Was uns zu der Frage bringt warum macht jede Firma Ihre eigene Suppe und sch....t auf Standard was ist nochmal der tiefere Sinn einer Validierung..

Ada-Bibliotheken sind also allesamt fehlerfrei und brauchen nie Updates, etwa weil neue Anforderungen hinzugekommen sind. Was es nicht alles gibt... ;)

Spannende Frage sind sie das? Was ist Validierung? Zumindest sind sie so gut das sie in hochkritischen Echtzeitanwendungen immer noch State of the Art sind gerade was Optimierungen angeht und auch C++ Code wird optimiert.

Wenn man mit Ada so viel schneller, fehlerfreier und günstiger entwickelt, warum dominiert Ada nicht den Markt?
Vor allem im Bereich der freien Software - wo Politik und Geld eine untergeordnete Rolle spielen und man bei der Wahl der Implementierungssprache (meist) völlig frei ist - müsste es doch vor überragenden Ada-Projekten nur so wimmeln?

Nun dann schau mal über den Teich, da bekommste gleich ne Vielzahl von Antworten es gab mal die Anweisung das in allen großen Projekten die dort die Regierung in Auftrag gab zumindest 30 Prozent Ada-Codeanteil sein sollte.
Nach jahrelangen Erfahrungen mit der Sprache C und auch anderen die den Test durchliefen kam man dazu nun dann kam die Lobby und verwässerte das ganze.

Es ist und war so wie im wirklichen Leben..

Zu Deiner Frage warum das in freien Projekten so ist wo die Sprache ne unterordnete Rolle spielt auch da war es so, es gab sogar welche die wollten Gnat raus schmeissen und hätte wirklich net viel gefehlt das genau das passiert wäre ähnlich wie es die Basic Programmierer erleben durften.

Schau Dir doch mal die Verteilung der Programmierer an die wenigsten können noch Cobol obwohl Du mit Cobol ne Vielzahl von Probelemen wesentlich besser schneller und nachaltiger ( der Code ist wartbar ) lösen kannst.
Ne Dominanz ist was schlechtes C hatte den Erfolg weil Unix kostenlos verteilt wurde die Generation die das antrieb das waren dann die Profs an den Unis die nix anders ausser C lehrten und Ada das hatte was mit Militär zu tun und das war sowas von EVIL , tja bis dann die Java Revolte kam und das war die einzige Sprache die es schaffte nen dicken Fuss in die Tür zu bekommen.

Tja und heute? Heute lehrt die Generation an den Unis und beglückt Ihre Studenten mit Java und die können dann nix ausser Java wo man Ihnen noch net mal nen Vorwurf draus machen kann. Firmen ham nen dicken Fuss in der Uni und die wollen auch nur das dass gelehrt wird was Ihre Portofilio bedient und Standards sind für die wie Grätze deshalb kocht da immer noch jeder seine eigene Suppe und die muss dann der Studi auslöffeln.

Das geht los bei Dokumentenformaten, das geht los bei nicht dokumentierten Schnittstellen, das geht los bei den Browsern, das geht weiter bei den Codecs und und und ...

Warum kennt kaum einer Opus obwohl der qualitativ der beste Codec ist den anderen um Welten überlegen ist...

Ne nicht Qualität setzt sich durch sondern was ganz anderes

Wie war das noch mit C Sharp und Microsoft und den vielen Geld was an die Unis floss, nun Sun ist ja weg vom Fenster....
 
Problem mit Java ist ein wenig, dass es sich kaum zum Prototyping eignet. Klar, wenn man eBay ist dann ist es komplett egal was man tut. Man ist die erste Anlaufstelle und so schnell nimmt einem das keiner wieder weg. Das geht Prima im Enterprise-Sektor, wo man damit rechnen kann das sich in einer Dekade nicht allzuviel bewegt und man wie eBay oder Intel eine Pressemitteilung darüber rausbringt, das die Buchstaben im Logo jetzt geradlinig sind.

Sowas kannst du dir nur schwer leisten, wenn du was neues baust und such mit unter jede Woche andere Anforderungen hast. Da bist so froh, wenn da eine Sprache mit einem neuen Ansatz kommt.

Aber von Wissen zeugt die Diskussion nicht gerade und ein wenig davon sollte man aufbringen bevor man kritisiert. Node.js ist sicher nicht perfekt, aber while (true) zu machen ist wie "rm -rf *" und sich danach zu beschweren. Gibt übrigens einige Enterprises, wie Microsoft die gut damit arbeiten. Ein Problem ist aber zum Beispiel, dass es auf v8 basiert, das echt auf Browser/Websites optimiert ist, während Spidermonkey ja schon öfters abseits verwendet wurde. Andererseits hat man dafür eine Engine die näher an der Spezifikation dran ist und weniger Altlasten hat. Ich glaube mit ES6 wird JavaScript auch echt brauchbar.

Go und node.js zu vergleichen halte ich für ziemlichen Humbug. Da ist der Vergleich zwischen Java und Go vielleicht schon näher dran, aber trotzdem nicht ganz. Go ist auch nicht die übliche neue Modesprache weil sie eigentlich garnicht revolutionär sein will, sondern einfach die ohnehin schon bekannteren, bewöhrten, in vielen Büchern ewig rezitierten Dinge, die sich in der Praxis bewährt haben mal möglichst simpel (Autor und Community von C) umsetzen will. Go hat auch irgendwie diesen no-Hype Gedanken. Weniger Buzzwords, kein "alles muss OO sein", nicht schon wieder ein neues Garbagekollektorkonzept, das sowieso in einem Jahr out of date sein wird als Hauptfeature, sondern eine Sprache die nicht durchdacht im Sinne von irgendeinem Killerfeature sondern mehr im Sinne, einfach, schnell zu lernende Syntax und Designs zur Vermeidung von Fehlern mit denen man als Programmierer ständig kämpft. Ich mache mir keine Freunde damit, aber für mich ist es auch ein kleinwenig in Richtung "Das was Python verspricht, aber (zumindest in Version 2) nicht hält mit viel weniger Hype und Elitarismus". Ist eben von Leuten mit echt viel Erfahrung gemacht worden und hey es läuft auch auf Plan 9. ;)

Alles in allem ist Diversität nicht so schrecklich. Jemand der sich Programmierer nennt und dessen Hauptaugenmerk bei einem Job auf der verwendeten Programmiersprache liegt sollte ersteres vielleicht nicht tun. Klar, das trifft vielleicht bei Haskell nicht so zu, aber es wundert mich dann doch, wenn jemand studiert hat und dann "Java Developer" ist, wobei es ja mittlerweile schon so ist, dass du den Studierten genau daran erkennst. Btw., ich studiere, habe einen Job und arbeite mit javaprogrammierenden Doktoren zusammen, also auch wenn ich bis jetzt noch nicht so viel hatte wo ich mir dachte "da verwende ich jetzt einfach mal Java" ist die Sprache ganz okay denke ich. Gibt auch "nichts" was so starkes Typing hat, was auch ganz cool ist.

Und wegen den Exploits: In dieser Zeit gibt es wohl kaum etwas, was derart viel User und Programmierer hat, wie Java und die JVM, also auch wenn nicht toll auch nicht so unverständlich.
 
Zuletzt bearbeitet:
Nun denn, wir haben uns schon 2011 über dieses Thema hier im Forum ausgetauscht und unsere diametral gegensätzliche Standpunkte dazu dargelegt also müsstest Du zu mindest ne Ahnung haben :)

Vielleicht liegt es an meinem Gedächtnis; ich kann mich zwar an die Diskussion erinnern, aber an keine konkrete Aussage von dir bezüglich deiner professionellen Erfahrung - zumal die sich in den 2 Jahren auch erweitert haben könnte. Du darfst uns gerne auf den aktuellen Stand bringen.

Zu Deiner Frage warum das in freien Projekten so ist wo die Sprache ne unterordnete Rolle spielt auch da war es so, es gab sogar welche die wollten Gnat raus schmeissen und hätte wirklich net viel gefehlt das genau das passiert wäre ähnlich wie es die Basic Programmierer erleben durften.

Das beantwortet meine Frage nicht. Selbst eine Nischensprache wie Erlang hat 1-Mann-Vorzeigeprojekte wie CouchDB.
Ich auf die Schnelle keine nennenswerte freie Software gefunden, die in Ada realisiert ist.

Schau Dir doch mal die Verteilung der Programmierer an die wenigsten können noch Cobol obwohl Du mit Cobol ne Vielzahl von Probelemen wesentlich besser schneller und nachaltiger (der Code ist wartbar) lösen kannst.

Cobol löst nur eine kleine Menge von Problemen sehr gut (Finanzmathematik) und lebt von seiner Symbiose mit dem Mainframe. Abseits dieser Domäne ist Cobol aus gutem Grund tot.

Tja und heute? Heute lehrt die Generation an den Unis und beglückt Ihre Studenten mit Java und die können dann nix ausser Java wo man Ihnen noch net mal nen Vorwurf draus machen kann.

Frischegebackene Absolventen können gar nichts, auch kein Java. ;-)
Früher wurde halt PL/1 statt Java gelehrt. Das tat dem Einsatz anderer Sprachen keinen Abbruch.

Firmen ham nen dicken Fuss in der Uni und die wollen auch nur das dass gelehrt wird was Ihre Portofilio bedient und Standards sind für die wie Grätze deshalb kocht da immer noch jeder seine eigene Suppe und die muss dann der Studi auslöffeln.

Jede Uni hat doch schon immer ihre eigene Suppe gekocht, lange bevor Drittmittel ein Thema wurden. Das muss ein Student aber abkönnen.

Warum kennt kaum einer Opus obwohl der qualitativ der beste Codec ist den anderen um Welten überlegen ist...

Mal abgesehen davon, dass der Codec noch nicht einmal 1 Jahr "final" ist?
Weil für den häufigsten Anwendungsfall "Musik abspielen" Opus gegenüber MP3 außer etwas Platzersparnis (gegenüber AAC nicht einmal das) nur Nachteile bringt. Wieviele Autoradios können noch gleich Opus abspielen?

Ne nicht Qualität setzt sich durch sondern was ganz anderes

Manchmal, aber nicht immer.

Wie war das noch mit C Sharp und Microsoft und den vielen Geld was an die Unis floss, nun Sun ist ja weg vom Fenster....

Welche deutsche Hochschule hat C# auf dem Lehrplan? :confused:

Sowas kannst du dir nur schwer leisten, wenn du was neues baust und such mit unter jede Woche andere Anforderungen hast. Da bist so froh, wenn da eine Sprache mit einem neuen Ansatz kommt.

Ja, Java lässt einige Dinge schmerzlich missen. Das man auf die Grundzüge funktionaler Programmierung bis Java 8 warten muss, ist ein Trauerspiel.

Jemand der sich Programmierer nennt und dessen Hauptaugenmerk bei einem Job auf der verwendeten Programmiersprache liegt sollte ersteres vielleicht nicht tun.

Eine Programmiersprache selbst ist schnell erlernt, aber bis man im gesamten Ökosystem um die Sprache herum wirklich fit ist, vergehen einige Jahre, die sich zur Vereinfachung der Kommunikation auch in der Jobbezeichnung niederschlagen sollten.
Das viele "Programmierer" genau eine Programmiersprache und genau ein Betriebssystem kennen (und meist nicht mal das richtig), ist ein anderes Thema...
 
Ich sehe die Sache so: C, C++, Java und Konsorten hatten das Glück die richtige Lösung für ein drängendes Problem zur richtigen Zeit zu bieten. Daher sind sie groß geworden und jetzt sind sie groß. Es ist so viel Geld hinein geflossen, es wurde so viel Know-How geschaffen, dass man sich den Umstieg auf etwas anderen 100x überlegen und dann doch nicht machen wird. Aus diesen Grund wird sich auch keine andere Sprache mehr im Massenmarkt durchsetzen, solange nicht wieder die Konstellation eines drängenden Problems und eine passende Lösung da ist...

Ich gebe gern zu, dass ich nie ein großer Freund von Java war. Es geht mir dabei um zwei Dinge:
- Java war nie richtig frei. Früher hielt Sun den Stiefel den oben drauf, nun tut es Oracle. Es gibt zwar den JCP, aber dessen Rolle ist nicht ohne Grund umstritten. Es mangelt außerdem an Implementierungen. Lange Zeit gab es nur die offizielle Sun-Implementierung, wie offen Sun mit der umging wissen FreeBSDler nur zu gut. Daneben dann einige noch proprietärere für verdammt viel Geld, sowie einige halbherzige freie Nachbauten. Mit dem OpenJDK besserte sich das zwar grundsätzlich, nur ich erinnere mich nur zu gut wie Teilen der Java-Community bei der Oracle-Übernahme und den anschließenden Patentklagen gegen Google der Arsch auf Grundeis ging. Die Frage war, ob Oracle nicht das OpenJDK abschießen könnte und in Zukunft interessante Dinge nur für eine sündteuere kommerzielle Varianten anbieten. Und wer weiß, ob sie nicht doch noch solche Spielchen spielen wollen...
- Java braucht in der Praxis seine VM. Nur die VM ist ein hochkomplexes, fragiles Stück Software. Wenn ich eine C oder C++ Anwendung schreibe, baue ich als Entwickler den Buffer Overflow oder eine andere Macke selbst ein. Ich bin dafür verantwortlich, ich habe die Kontrolle. Die einzige Möglichkeit außerhalb meiner Kontrolle ein Problem zu bekommen, ist die Standardbibliothek. Die ist aber vergleichsweise simpel und gut getestet, entsprechend gut ist auch ihr Security Record. Als Java-Entwickler muss ich hingegen der JVM vertrauen. Was bringt mir der beste von mir geschriebene Code, wenn die VM leicht zu exploiten ist? Wenn in der JVM vielleicht das NSA-Backdoor steckt? Okay, das war polemisch. Java-Entwickler werden nun relativieren. "Fast alle Lücken der letzten Jahre verlangen entsprechenden Bytecode, sind daher nicht ohne weitere ausnutzbar!". "Es geht nur um die Sandbox, betrifft also vor allem das Browser-Plugin!". Aber wenn ich mir die extrem trivialen Wege zum Aushebeln der Sandbox per Reflexion-API anschauen, wird mir angst und bange. Da waren anscheinend absolute Dilettanten am Werk, einen Security-Audit scheint es trotz allem Gebrabbel von Oracle und co. nicht gegeben zu haben. Wie viele wirklich schwere Macken mögen also noch darin stecken? Und wenn so eine gefunden wird, wann wird der Patch kommen? Morgen, in einem Jahr, gar nicht?

Man muss Java nicht mögen, aber es ist nun mal da und wir müssen damit leben. Es ist daher meiner Meinung nach in unserem allen Interesse, dass Java wirklich frei wird. Z.B. einen ISO-Standard. Selbst Ruby hat sowas inzwischen. Und dann eine wirklich freie Implementierung. Firmen dürfen ja gern dran beteiligt sein, aber genauso wie bei gcc und clang dürfen kommerzielle Interessen nicht alle anderen überlagern.
 
Und bei C++ Programmen vertraust du in die Sicherheit von externen Bibliotheken, die oft noch vermurkster sind als die JRE? Ich hab mehr Vertrauen in JRE, gerade weil soviele drüberschauen und Sachen finden als Python und Ruby wo sich alle Jubeljahre mal einer in der VM verirrt. Zudem wäre C++ nicht so ein Murks, wäre die JRE wesentlich sichrer.
 
Vielleicht liegt es an meinem Gedächtnis; ich kann mich zwar an die Diskussion erinnern, aber an keine konkrete Aussage von dir bezüglich deiner professionellen Erfahrung - zumal die sich in den 2 Jahren auch erweitert haben könnte. Du darfst uns gerne auf den aktuellen Stand bringen.
Aktueller Stand derzeit bin für mich selbst verantwortlich und das ist auch gut so, ansonsten treibe ich mich auf Konferenzen Weltweit herum und lausche interessiert den Fachleuten zu. Allerdings hat meine Euphorie diesbezüglich, seit dem Verhalten von Apple zu den Sicherheitsexperten starke Dämpfer erhalten...Speziell darüber kannst Du genug im Netz nachlesen Publikationen gibt es hier zuhauf
Das beantwortet meine Frage nicht. Selbst eine Nischensprache wie Erlang hat 1-Mann-Vorzeigeprojekte wie CouchDB.
Ich auf die Schnelle keine nennenswerte freie Software gefunden, die in Ada realisiert ist.
Nun Du hättest bei sourceforge vorbei schauen sollen da sind derzeit etwas über 50 Projekte in der Programmiersprache Ada gehostet, die genau so viel oder wenig zulauf, zuspruch haben wie andere Projekte und Programmiersprachen dort auch :)
Cobol löst nur eine kleine Menge von Problemen sehr gut (Finanzmathematik) und lebt von seiner Symbiose mit dem Mainframe. Abseits dieser Domäne ist Cobol aus gutem Grund tot.
Tja bis man Sie denn mal wieder braucht, wenn es denn überhaupt noch gibt, die zweite Aussage von Dir halte ich zumindest für gewagt
Frischegebackene Absolventen können gar nichts, auch kein Java. ;-)
Früher wurde halt PL/1 statt Java gelehrt. Das tat dem Einsatz anderer Sprachen keinen Abbruch.
Das wieder rum liegt bei der Universität und die bestimmt was gelehrt wird in der Kürze der noch verbeleibenden Zeit :(
Jede Uni hat doch schon immer ihre eigene Suppe gekocht, lange bevor Drittmittel ein Thema wurden. Das muss ein Student aber abkönnen.
Nun nach meinen Dafürhalten ist das aber ein diametraler Gegensatz was uns zu den Thema jetzige Studienbedingungen bringt, ehrlich ich wollte mir das heute nicht antun ( aber das ist ein anderes Thema )
Mal abgesehen davon, dass der Codec noch nicht einmal 1 Jahr "final" ist?
Weil für den häufigsten Anwendungsfall "Musik abspielen" Opus gegenüber MP3 außer etwas Platzersparnis (gegenüber AAC nicht einmal das) nur Nachteile bringt. Wieviele Autoradios können noch gleich Opus abspielen?
1:) http://www.heise.de/open/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html
2:) http://www.heise.de/open/meldung/Zw...chtzeit-Kommunikation-im-Browser-1656611.html
Gegenfrage Wieviele Autoradios spielen denn anstandslos freie Codecs ab, vor allen wenn man bedenkt wie "lange es die schon gibt" MP3 dominiert obwohl das nach derzeitigen Stand eben nicht das qualitativ beste ist !
Manchmal, aber nicht immer.
Welche deutsche Hochschule hat C# auf dem Lehrplan? :confused:
Nu da gibt es schon einge auch größere vor allen in Baden und Würthemberg
Ja, Java lässt einige Dinge schmerzlich missen. Das man auf die Grundzüge funktionaler Programmierung bis Java 8 warten muss, ist ein Trauerspiel.
Nu dazu hat ja die Deutsche Java Group schon das wesentlichste gesagt, da war ich in meiner Jugend sogar mal aktives Mitglied, verdammt lange her :)

http://www.java.de/

Eine Programmiersprache selbst ist schnell erlernt, aber bis man im gesamten Ökosystem um die Sprache herum wirklich fit ist, vergehen einige Jahre, die sich zur Vereinfachung der Kommunikation auch in der Jobbezeichnung niederschlagen sollten.
Das viele "Programmierer" genau eine Programmiersprache und genau ein Betriebssystem kennen (und meist nicht mal das richtig), ist ein anderes Thema...
Nun denn, was meinste gilt das auch für Assemblerprogrammierer unter FreeBSD und der mangelnden Dokumentationen generell unter Unix ( das war früher vor dem System-Wechsel zu C mal ganz anders) hierzu rate ich Dir mal einen Blick in das vorzügliche FreeBSD Entwickler-Handbuch zu werfen. Assembler wurde gerade zu sträflich vernachlässigt und alle die in Assembler für FreeBSD programmierten können das aus erster Hand bestätigen.
Jetzt komme bloß nicht damit das Assembler selbst heute noch, nicht seine Berechtigung hätte....

http://www.freebsd.org/doc/de_DE.ISO8859-1/books/developers-handbook/
http://www.freebsd.org/doc/de_DE.ISO8859-1/books/developers-handbook/x86.html

MFG
 
darktrym schrieb:
Und bei C++ Programmen vertraust du in die Sicherheit von externen Bibliotheken, die oft noch vermurkster sind als die JRE?
Mit dem Unterschied, dass ich bei C++ keine der fragwürdigen Libs nutzen muss. Es steht mir frei es zu tun. Genügend Masochismus vorrausgesetzt kann man sogar auf die Standardbibliothek verzichten. Bei Java wäre vor dem Hintergrund ein funktionierender gjc schön, aber da fehlt wohl noch immer einiges.

darktrym schrieb:
Zudem wäre C++ nicht so ein Murks, wäre die JRE wesentlich sichrer.
Beliebtes Argument, aber wie viele der Fehler gingen wirklich auf C++-Probleme zurück und wie viele waren Designfehler und vermeidbarer Pfusch?
 
Bei Java hat man einiges dabei was anderswo als externe Bibliothek vorliegt, weswegen diese Bugs eben zu Java gezählt werden; QT, libpng, JPEG, etc. sind ja auch nicht frei von Bugs. Mal schauen wann Jigsaw Einzug hält.
Zudem ist gerade C++ durch sein Low Level Ansatz und Kompatibiltät zu C weder vom Syntax noch im vermeiden von Fehlern besonders schön. Und wenn es einem verleitet mehr Fehlern zu machen als unbedingt notwendig, dann liegt am Sprachdesign. C++ besitzt keine Probleme, C++ ist das Problem, meiner Meinung nach.
 
Zurück
Oben