heise Developer hat keine Ahnung!



  • Man kann mir sicherlich nicht nachsagen, das ich C++ hasse... aber C++ und auch C++14 ist definitiv nicht Java überlegen. Alleine die Header, die dem DRY-Prinzip widersprechen, sind ein Kriterium wo C++-Fans mal den Ball flach halten sollten.

    Klar, Java selbst fehlt z.B. die Const-Correctness oder dumm ist, das alle Funktionen virtual sind. Aber daran sieht man, das jede Sprache so seine guten und schlechten Seiten hat.

    Aber Java ist für die meisten Entwicklunsszenarien einfach das unproblematischste Werkzeug. Denn zu einer Programmiersprache gehört auch das Ökosystem! Und da ist Java einfach sehr gut.

    Man kann Java auch auf Smartcards einsetzen, und seit es die Bluray gibt (was echt lange her ist!), hat jeder BD-Player auch Java drin... weil die gesamten BD-Menüs nunmal in Java sein. Java findet man also in vielen Embedded-Geräten, wo man es gar nicht vermutet. Und das geht dann weiter über Games (Minecraft) bis hin zu Servern.

    Übrigens, die ebay war zu Anfangszeite in C++. Aber Anfang der 2000er wurde es auf Java umgestellt. Das zeigt sehr schön den Wandel und das C++ nunmal selbst bei großen Handelsplattformen, wo viel Traffic und Transaktionen nötig sind, man auch mit Java weiter kommt.

    Die Zeiten, wo man C++ machen muss, sind lange vorbei. Es gibt nur noch ganz wenige Gebiete, wo C++ unabkömmlich ist. Sobald man aber eine gewisse Low-Level-Stufe verlassen hat, machem die wenigsten freiwillig C++. Selbst Game-Engines sagen "Hier hast du zwar eine Engine in C++, aber du kannst dein Game in Lua o.ä. entwickeln!".

    Viele C++-Fans (Fan kommt von Fanatiker) kommen mir so vor, als ob sie sich an C++ festbeißen, weil sie denken damit cooler zu sein. Und dabei zählt bei der Software-Entwicklung nur eines: das was für den User/Kunden raus kommt! Und nicht ob der Code cool und nur für den Kreis der C++-Erleuchteten zu verstehen ist.



  • Ich fand den Artikel auch sehr "dumm" und provokativ. Vor allem, hat sich da nicht großartig was geändert. Wieso sollte Java die Sprache des Jahres sein? Hat sich dieses oder letztes Jahr überhaupt irgendwas gravierendes an der Sprache oder dem Ökosystem geändert?

    @Artchi: ich weiß nicht, ob ich ein C++ Fan bin. Irgendwie so ein bisschen schon. Jedenfalls brauche und will ich Java nicht. Das Ökosystem ist ganz nett, ja. Und ich würde es auch bevorzugen, wenn ich Webanwendungen schreiben würde, was ich zum Glück nicht muss. Aber die Sprache ist einfach in jeglicher Hinsicht komplett vereinfach und kastriert worden. Und das will ich nicht. Ich kann ja schon C++, ich brauche keine künstlichen Vereinfachungen für Lernresistente.


  • Mod

    Grundlegend ist Developer etwas Buzzword-Heischig und grundlegend will Heise verkaufen (Hefte, Werbung für Hardware usw.)

    Das ausgerechnet die Syntax bei Java so viel besser sein soll als bei C++, lässt ja schon tief blicken.
    (ach und die Hardware soll bald endlich noch schneller..wie war der Spruch?
    -> "mit der zunehmend größer werdenden Rechenleistung..", na dann..)

    Die Handyprogrammierung ging ja ganz gut, nur gab es da eher wenig Lernmaterial (und Forschung), ein, zwei Programmier-Bücher, die waren bald vergriffen und Java selbst war bald veraltet. (das Handy genauso)

    -> Gemeint ist offenbar das "neue" Java. (2017: Java 8 - wie, das ist von 2008?)

    Java/bzw die VM braucht (für "funktionale" Hilfen) eine komplett andere Sprache und die Editoren Plugins für z.B. Scala oder Clojure.

    Was ist Java noch außer zu langsam?
    -> zu Inkombatibel.
    -> zu gefährlich (weswegen auf vielen Systemen schon gar keine Runtimes mehr vorinstalliert)

    auf dieser anderen Computerzeitschriftseite stehen passendere Argumente:
    http://www.chip.de/downloads/Java-Runtime-Environment-64-Bit_42224883.html

    In einem noch nicht so alten C't Heft war sogar mal ein Artikel darüber, wie man leicht auf Java (wegen der Sicherheitslücken) verzichtet.

    Noch eine Heise Seite:
    https://www.heise.de/security/dienste/Java-403125.html

    Zitat:

    Ihre aktuelle Java-Version:

    Kein Java aktiviert/installiert





  • Manche scheinen hier etwas zu verwechseln: Es geht hier um die Beliebtheit einer Sprache und nicht darum, welche Sprache hier die Beste ist.
    Java ist allein wegen Android Vorreiter und es war schon davor sehr populär. Das hat wie gesagt nichts damit zu tun, ob jetzt Java super-duper-toll ist oder nicht. Die Sprache ist populär – fertig!



  • nachtfeuer schrieb:

    In einem noch nicht so alten C't Heft war sogar mal ein Artikel darüber, wie man leicht auf Java (wegen der Sicherheitslücken) verzichtet.

    Wenn man Java mit C++ vergleicht, dann ist Dir schon klar, dass es den Anwendungsfall, bei dem man bezüglich Java von Sicherheitslücken redet, für C++ gar nicht gibt, oder? Es geht dabei darum, dass man Javaprogramme in einer Sandbox ablaufen lassen kann und Sicherheitslücken können ausgenutzt werden, damit Programme aus dieser Sandbox ausbrechen können. In C++ hat man so einen Sandkasten für Programme gar nicht und somit auch 0 Sicherheit.



  • Gregor, da muss ich dir leider auch widersprechen... auch wenn ich das Java-Bashing hier auch nicht verstehen kann.

    Aber bei dem Java-Verzicht geht es ja um Java-Applets, also im Webbrowser das Java-Plugin. Und das C++-Pendant dazu ist bzw. war ActiveX. Und wie der Versuch ausgegangen ist, wissen wir ja.

    Der Witz ist, das kannst du mit jeder Sprache haben: ActionScript? Ja, Flash! (sind ja ActionScript-Applets im Webbrowser) C#? Ja, Silverlight! (sind ja auch C#-Applets im Webbrowser)

    Und ActiveX ist halt eine Plug-in-Technik, die auch in den Webbrowsern lief und auch ausbrechen konnte.

    Es ist natürlich total blödsinnig Java als sicherheitsrisiko zu betiteln. Weil das Thema bei Standalone Java-Anwendungen gar nicht auftreten kann. Genauso wie C++-Standalone-Anwendungen auch nicht das Thema haben.

    Übrigens, natürlich gibt es genug Sandbox-Techniken auch für C++ bzw. native Anwendungen. Sandboxie als Beispiel.



  • Zeus schrieb:

    *gg* https://picload.org/image/rapiaogi/java.png

    Der heise-Test bezieht sich sicherlich auf Java im Webbrowser. Und dürfte somit alles richtig sein.
    Es geht nicht darum, ob kein Java installiert ist. Das kann hoffentlich das JavaScript der heise.de-Website nicht feststellen... so von wegen Sicherheitslücke deiner JS-Runtime... sonst wäre es ja nicht besser als die Sicherheistlücken von Flash und JavaApplets. :p



  • Artchi schrieb:

    Zeus schrieb:

    *gg* https://picload.org/image/rapiaogi/java.png

    Der heise-Test bezieht sich sicherlich auf Java im Webbrowser. Und dürfte somit alles richtig sein.
    Es geht nicht darum, ob kein Java installiert ist. Das kann hoffentlich das JavaScript der heise.de-Website nicht feststellen... so von wegen Sicherheitslücke deiner JS-Runtime... sonst wäre es ja nicht besser als die Sicherheistlücken von Flash und JavaApplets. :p

    Darum geht es doch garnicht o_O



  • Ehm, dann schreibe etwas zu deinem Bild! sonst darfst du meine Interpretation nicht in Frage stellen. 😉



  • am besten ist der satz:

    Mit der zunehmend größer werdenden Rechenleistung fallen die Schwächen der JVM (Java Virtual Machine) immer weniger ins Gewicht.

    unter c schreibe ich auch immer solche sachen

    unsigned short int i;
    
    for(i=1;i>0;i++);
    

    fällt ja mit der zunehmend größer werdenden rechenleistung immer weniger ins gewicht.
    für die eigentlich unnötigen rechenkapazitäten kann man ja einfach ein, zwei kernkraftwerke mehr bauen, da schafft man auch noch arbeitsplätze. 🤡



  • Naja, Sch*** die du da von dir gibst.



  • Kannst du das auch begründen, oder kannst du nur dumm rumpöbeln?



  • Soweit ich weiß verfasst Heise Developer die Artikel bewusst so, dass viele Trolle anschlagen. 😋



  • naja ich hatte jetzt nicht den eindruck, dass man mit dem artikel bewusst etwas falsches mitteilen wollte. immerhin war man bei oracle so schlau dafür zu sorgen, dass man als informatiker bei mir an der fh als erstes klickibunti mit java lernt, sodass mir das mit der beliebtheit nicht falsch vorkommt, und das gerede über die angebliche flexibilität ist ja auch nichts neues.

    jedenfalls bin ich der meinung, dass eine angenommene prozessorleistung von 1W für die virtuelle maschine gegenüber hocheffezientem c-code bei 1 mrd geräten ungefähr 1GW ausmacht und das ist imho ein überflüssiges atomkraftwerk oder meinetwegen auch ein überflüssiger offshore-windpark.

    ps: für mich ist common lisp die sprache des jahres 2016, aber die wird da gar nicht erwähnt. 🙄



  • HansKlaus schrieb:

    ...immerhin war man bei oracle so schlau dafür zu sorgen, dass man als informatiker bei mir an der fh als erstes klickibunti mit java lernt,...

    Die Sprachauswahl im Studium wird in der Regel nicht durch den Hersteller vorgegeben. Bei einigen Unis ist sie sogar Dozentenabhängig, die Vorgabe ist dort nicht die Sprache sondern ein thematischer Schwerpunkt (z.B. Prozedurale Programmierung, Objektorientierte Programmierung, Skriptprogrammierung...). Die Sprachauswahl fällt in dem Fall unter "Freiheit in Forschung und Lehre".

    Und als der Java-Hype begann hatten viele Studiengänge noch kein Java angeboten.

    HansKlaus schrieb:

    ...jedenfalls bin ich der meinung, dass eine angenommene prozessorleistung von 1W für die virtuelle maschine gegenüber hocheffezientem c-code bei 1 mrd geräten ungefähr 1GW ausmacht und das ist imho ein überflüssiges atomkraftwerk oder meinetwegen auch ein überflüssiger offshore-windpark.

    Das mag ja alles stimmen, nur wählt man die Sprache in der Regel nicht nach Energieeffizienz, sondern nach anderen Kritierien wie der Zielplattform, der Entwicklungszeit bezogen auf ein Projekt, den verfügbaren Programmierern...



  • asc schrieb:

    Die Sprachauswahl im Studium wird in der Regel nicht durch den Hersteller vorgegeben. Bei einigen Unis ist sie sogar Dozentenabhängig, die Vorgabe ist dort nicht die Sprache sondern ein thematischer Schwerpunkt (z.B. Prozedurale Programmierung, Objektorientierte Programmierung, Skriptprogrammierung...). Die Sprachauswahl fällt in dem Fall unter "Freiheit in Forschung und Lehre".

    also bei uns fällt sie glaub ich eher unter "die zukünftigen arbeitgeber = geldgeber wollen das so". das ist aber auch "nur" eine fachhochschule.

    Und als der Java-Hype begann hatten viele Studiengänge noch kein Java angeboten.

    naja man muss ja auch erstmal "hypen". ich will ja auch gar nicht abstreiten, dass das programmieren einfach wird, wenn nicht mehr zwischen objekt->funktion() und objekt.funktion() unterschieden werden muss, oder man nicht für jedes popelige gerät einen extra compiler programmieren muss, aber...

    Das mag ja alles stimmen, nur wählt man die Sprache in der Regel nicht nach Energieeffizienz, sondern nach anderen Kritierien wie der Zielplattform, der Entwicklungszeit bezogen auf ein Projekt, den verfügbaren Programmierern...

    ...genau das geht mir eigentlich ziemlich auf den sack!


  • Mod

    Ich weiß noch in etwa, wie es losging. Java war Hoffnung. An den Unis gab es bald mehr oder weniger aber in der Summe doch viel/umfangreiches Einführungsmaterial von bekannten "Quellen".

    Man muss folgende Entwicklung vor Augen haben: WWW, Html, Linux, Telefone, Prozessoren und Server - und auch Emulatoren und Haushaltsgeräte.

    (man könnte noch fragen, was kann oder was ist an Java besser als Basic?)
    (bei Basic war die Emu-Szene noch nicht so groß? , kein Internet? keine Handys?)

    Der entscheidende Punkt war dann, bzw. ist irgendwie: Viel Liebe.

    Insofern passt ja der Spruch "beliebteste" Programmiersprache.
    Und insofern passt es dazu, dass die "Begründungen"..etwas daneben. 😉



  • HansKlaus schrieb:

    asc schrieb:

    Die Sprachauswahl im Studium wird in der Regel nicht durch den Hersteller vorgegeben...

    also bei uns fällt sie glaub ich eher unter "die zukünftigen arbeitgeber = geldgeber wollen das so". das ist aber auch "nur" eine fachhochschule.

    Was ist daran so verkehrt wenn mehrere Sprachen möglich sind und eine davon potentiellen Arbeitgebern zusagt? Java ist nicht per se schlecht, undabhängig was hier einige im Thread sagen, hat eine sehr breite Unterstützung (Tools, Bibliotheken, sogar darauf angepasste Prozessoren...) kann für nahezu alles genutzt werden und hat in den letzten Jahren durchaus an Performance zugelegt (und zwar jenseits von der Prozessorentwicklung).

    Nein, die Sprache ist nicht das Optimum für alles, aber eben nicht schlecht weil manche sie nicht mögen (ich ziehe im direkten Vergleich vieler ähnlicher Anforderungen C# vor, würde mich Java aber auch nicht verweigern). Ich glaube auch nicht das die Energiemehrkosten noch immer so viel ausmachen da Java, soviel ich weiß, inzwischen auch auf einen JIT setzt - sprich der Code wird beim ersten Aufruf compiliert und jeder weitere Aufruf nutzt das Compilat. Dadurch kann Javacode sogar in der Theorie (ob es in der Praxis abseits weniger Einsatzfälle relevant ist steht auf einen anderen Blatt) bei einem langen Lauf schneller sein als eine C-Programm, die nicht für einen spezifischen Prozessor übersetzt wird (da es auf genau die Zielplattform hin optimiert werden kann).

    Und nochmals: Nein, ich bin kein Java-Fan. Aber es gibt nicht DIE Sprache, DIE Anforderung. Und Java hat zumindest einen Vorteil: Es ist sehr portabel (auch wenn hier einige etwas anderes sagen kenne ich Java-Entwickler die damit noch nie ein Problem hatten - liegt vielleicht auch an den verwendeten Bibliotheken oder Befehlen) und kann viele Bereiche abgecken wenn RAM und absolute Performance nicht das Hauptargument sind.



  • ps: für mich ist common lisp die sprache des jahres 2016, aber die wird da gar nicht erwähnt

    Ich bin Opfer einer schlechten Klasse von Lisp Interpretern.

    Nachteile des Interpreters:
    - keine vollständige Doku
    - bei undokumentierten Objektreferenzen muss man den Typ raten
    - fehleranfällige Konstrukte (if ohne progn)
    - Präfix Notation ist gewöhnungsbedürftig
    - Der einzigste Interpreterfehler ist Error Around Expression. Stelle unbekannt. Ohne Git wäre ich aufgeschmissen.
    - Keine gute IDE ala Visual Studio bekannt
    - Funktionen zur Auflistung aller Befehle sind ein Witz angesuchts fehlender Doku
    - Unterstützung zur Einbindung einer Lisp Datei in einer anderen fehlt
    - Unterstützung der Definition von abstrakten Datentypen fehlt
    ...

    Für mich war das eine Katastrophe. 😞


Anmelden zum Antworten