Haben die alten Widgets ausgesorgt?



  • Es ist trotzdem ein Bruch in der Technik. Ich muß zwischen zwei Welten hin und her springen. Muß Events in zwei Welten verknüpfen. usw.

    Das ist genauso sch**** wie der Bruch zwischen OOP und RDBMS. Keiner kann mir erzählen, dass das produktiv und effektiv ist.



  • Button myButton = new Button();
    myButton.Width = 160;
    myButton.Height = 72;
    myButton.Content = "Click Me";
    ContentPanel.Children.Add(myButton);
    

    Ja, den Code kann ich schnell lesen. Ist sozusagen meine Muttersprache.

    XML/XAML ist jedenfalls nicht Human-readable. Weiß nicht wer das immer verbreitet, das XML gut lesbar ist. Ist nicht mal effizient für ne Maschine zu verarbeiten. Stichwort JSON.

    Ich kann an der XAML/FXML/HTML/XHTML-Seuche nichts tolles finden, wenn ich da als Mensch drauf schauen soll. Vorallem wenn bei XAML auch noch Code mit versteckt werden kann, z.B. für Validierung, Events usw. Dann ist alles dahin und ich weiß nicht...



  • NiceJava schrieb:

    ...

    Mich stören die vielen "ich" in deinem Beitrag. Ich habe vor allem explizit von größeren Projekten gesprochen, also so Größenordnung mehrere dutzend Entwickler und wird jahrzehntelang weitergepflegt. Alles, wo du "ich" schreibst, hört sich erstmal nach kleinen Projekten an 😉 Und da hab ich auch kein Problem mit Java oder C#.
    Ansonsten kann C++ bei großen Projekten durchaus seine Stärken ausspielen, nicht nur in Bezug auf Performance. Und bei jedem großen Projekt gibts Stellen, die performancekritisch sind, bzw. die Gesamtperformance eines großen Projekts muss stimmen. In C++ schießen sich hauptsächlich Anfänger in den Fuß. Ansonsten kann man durchaus sicheren Code schreiben, bei dem noch mehr Fehler zur Compilezeit abgefangen werden, als bei Java.



  • Also ich habe überhaupt kein Problem mit einem Mix aus Java und FXML für die UI. Ich kann beides wunderbar lesen und editieren. Mehrere hundert Entwickler interessieren mich nicht und sind auch sicher nicht das Tagesgeschäft eines Software-Entwicklers, sonder eher die Ausnahme.

    Klar spreche ich von mir. Ich kann ja schlecht für andere sprechen.

    Viel Spaß beim Suchen von C++-Entwickler die keine Anfänger mehr sind, wie lange braucht man um kein Anfänger mehr zu sein, 5 Jahre? Wer tut sich denn ernsthaft nach dem Studium heute noch C++ anstelle von Java, C# etc an? Das sind doch bloß ein paar Spezialisten. Der Löwenanteil tut sich C++, außer als Hobby, garantiert nicht mehr freiwillig an. Guckt dir doch mal die Stellenanzeigen an wie die Verteilung nach Sprachen da ist und schau die mal die Fachzeitschriften an, das ist auch immer ein guter Indiz was gerade so gefragt ist.



  • Das hört sich jetzt etwas naiv an... Ich hab von mehreren dutzend und nicht mehreren hundert Entwicklern geschrieben. Und das ist sicher keine Ausnahme. Ich weiß, es gibt sehr viele Klitschen mit 3-4 Entwicklern, hab auch in so einer gearbeitet. Aber es gibt auch sehr viele Projekte, an denen dutzende oder tatsächlich auch hunderte Entwickler arbeiten, und das sind meist auch die interessanteren Projekte. Ob es mehr solcher als kleinerer Projekte gibt, weiß ich nicht, aber das ist ganz sicher keine Ausnahme, auch wenn dir sowas anscheinend noch nicht untergekommen ist.
    Es stimmt schon, dass mittlerweile nicht mehr so oft C++ unterrichtet wird und es mehr Java/C# Jobangebote gibt. Aber das sagt erstmal auch nicht viel aus. Diese ganzen 0815 Java/C# Jobs können mir getrost gestohlen bleiben. Und ich weiß wovon ich rede, ich hab vier Jahre in diesem Bereich gearbeitet und kenne sehr viele dieser Firmen und Projekte. Es mag im Java Bereich vielleicht paar weniger interessante Projekte geben, die ich mir näher anschauen würde, aber in C++ gibt es deutlich mehr. Allein schon dass jedes größere bekannte oder wichtige Programm ist in C++ (oder vielleicht selten mal in C) geschrieben. Alle Browser, Office Pakete, CAD Systeme, DBMS, Photoshop... Irgendein größeres bekanntes Programm in Java? Außer Eclipse und Netbeans fällt mir eigentlich überhaupt nichts ein, glaub auch nicht, dass da noch jemals was kommt.



  • Artchi schrieb:

    Meine Meinung? Der Horror! 👎 Als Programmierer soll mach eine "Nicht-Programmierer"-Sprache parallel anwenden. Und das dann mit der eigentlichen Programmiersprache binden. WTF?

    Der Traum/Marketing von wegen, das ein Projekt einen Designer und einen Coder hat, und der Mist getrennt werden muß, ist doch die größte Lüge! Die wenigsten Firmen haben wirklich einen Designer angestellt oder beauftragen einen. Selbst Großkonzerne (für den ich arbeite) leistet sich keinen für Inhouse-Software.

    Das mag bei Adobe. Magix usw. anders aussehen, aber das sind doch verschwindend geringe Nutzer dieser Technologien? Die meisten Projekte sind doch eher Individual-Software, wo dann die Masken gleich vom jeweiligen C++/C#/Java-Coder mit übernommen werden. Und die müssen jetzt den Mist mit XAML, FXML, ECMA usw. ausbaden.

    Das mag sein, aber die Trennung des Designs erlaubt es am Ende wenigstens, dass man schnell mal einen freiberuflichen Designer für nen Tag da ranlassen kann um mit dem, was die bestehenden GUI IDs erlauben ohne den Code zu ändern, etwas anzufangen und dann die GUI doch noch zu optimieren.

    Notfalls kann der Auftraggeber auch selbst einen Designer mit dieser Aufgabe beauftragen.

    Mit hardkodiertem GUI Code wäre dies nicht möglich.
    Änderungen sind bei hardkodierten Code nicht mehr möglich ohne auch den Programmfluss usw. zu ändern, dass ist bei JavaFX und Qt Quick & Co anders.



  • NiceJava schrieb:

    Viel Spaß beim Suchen von C++-Entwickler die keine Anfänger mehr sind, wie lange braucht man um kein Anfänger mehr zu sein, 5 Jahre? Wer tut sich denn ernsthaft nach dem Studium heute noch C++ anstelle von Java, C# etc an?

    Antun? Ich würde sagen, wer in C++ entwickeln muss, wird besser bezahlt.
    Bei Java gibt's nämlich mehr Konkurrenz die einem ersetzen könnten.

    Das ist also ein Grund, sich C++ nach dem Studium anzutun.

    PS: Gilt natürlich auch für C oder auch inzwischen Nischensprachen wie Delphi, Fortran und Ada.

    Das sind doch bloß ein paar Spezialisten. Der Löwenanteil tut sich C++, außer als Hobby, garantiert nicht mehr freiwillig an. Guckt dir doch mal die Stellenanzeigen an wie die Verteilung nach Sprachen da ist und schau die mal die Fachzeitschriften an, das ist auch immer ein guter Indiz was gerade so gefragt ist.

    Ich übersetz mal die Stellenanzeige für einen Java Entwickler:

    Unser derzeitiger Java Entwickler taugt nichts oder wir haben zumindest das Gefühl, dass er besser sein könnte.
    Wir suchen daher einen anderen Java Entwickler der für weniger arbeitet und mehr Leistet, in der Hoffnung bei dem breiten Angebot an hunderten arbeitslosen Java Entwicklern doch einen zu finden, der besser ist als der, den wir momentan leider haben.

    In C++ kann zwar die Ursache, warum eine Firma einen neuen Entwickler sucht, der gleiche sein, aber sie wird es wesentlich schwerer haben auch wirklich Ersatz zu finden.
    C++ Entwickler ist somit ein recht sicherer Job, der sich zum Haus abzahlen eignen. Im Gegensatz zum Java Entwickler der jederzeit ersetzbar ist.



  • Mechanics schrieb:

    Irgendein größeres bekanntes Programm in Java? Außer Eclipse und Netbeans fällt mir eigentlich überhaupt nichts ein, glaub auch nicht, dass da noch jemals was kommt.

    TV-Browser
    Project Zomboid (gilt AFAIK nur für die Linux und Mac Version)
    Minecraft
    das ganze Android gedöns

    bei Individualsoftware die irgendwo in Firmen laufen muss, dürfte diese Anzahl noch einmal wesentlich größer sein.



  • Das ist alles Kleinmist, außer vielleicht Android, aber bei dem Projekt ist auch einiges an C und C++ dabei.



  • Mechanics schrieb:

    Das ist alles Kleinmist, außer vielleicht Android, aber bei dem Projekt ist auch einiges an C und C++ dabei.

    Das Problem ist dann aber, dass Großprojekte nicht von heute auf Morgen entstehen,
    sondern lange gewachsen sind.

    Großprojekte wie z.B. Libre Office sind über 20 Jahre alt, die ersetzt man nicht einfach mal mit einem vergleichbaren Java Projekt und wenn der Bedarf durch alte Großprojekte gedeckt ist, dann gibt es auch keinen motivierenden Grund dafür, Alternativen in Java neu aufzusetzen.

    So fair muss man bei diesem Vergleich also schon sein.

    Deswegen nannte ich TV-Browser und Minecraft, denn die haben keine Altsoftware ersetzt, sondern eine noch vorhandene Lücke gefüllt.
    Und da wurde dann für Java und nicht für C++ entschieden.
    Das hat also schon etwas zu sagen.



  • Nur weil nicht jedes Mainstream-Desktop Programm in Java geschrieben ist sagt das mMn. nichts über die die Signifikanz der Sprache aus.
    Unsere Projekte sind groß genug und viele in Java. Allerdings kommt mit denen niemals ein Otto-Normal-User in Berührung.



  • Auskenner schrieb:

    Großprojekte wie z.B. Libre Office sind über 20 Jahre alt, die ersetzt man nicht einfach mal mit einem vergleichbaren Java Projekt und wenn der Bedarf durch alte Großprojekte gedeckt ist, dann gibt es auch keinen motivierenden Grund dafür, Alternativen in Java neu aufzusetzen.

    Ich weiß. Aber es gibt anscheinend auch keinen motivierenden Grund, neue Großprojekte in Java aufzusetzen. An solche Diskussionen kann ich mich persönlich seit mindestens 15 Jahren erinnern. Und in den letzten 15 Jahren hat sich nichts grundlegend zu Gunsten von Java verändert. Im Gegenteil, der Java Hype ist sehr stark abgeflacht.
    Und Minecraft hat man nicht in Java geschrieben, weil Java so toll wäre. Der Typ konnte halt nichts anderes und hat es damit in paar Monaten hingerotzt. Das ist jetzt wirklich kein Referenzprojekt.

    Ethon schrieb:

    Nur weil nicht jedes Mainstream-Desktop Programm in Java geschrieben ist sagt das mMn. nichts über die die Signifikanz der Sprache aus.
    Unsere Projekte sind groß genug und viele in Java. Allerdings kommt mit denen niemals ein Otto-Normal-User in Berührung.

    Nicht "nicht jedes", sondern kein einziges. Und die Diskussionen wurden wie gesagt schon vor 15 Jahren genauso geführt. Damals gabs einen viel größeren Java Hype und ganz neu war das auch nicht.
    Über die Relevanz der Sprache hab ich nicht direkt was gesagt. Du brauchst Java nicht zu verteidigen, ich habe wie gesagt auch lang genug mit Java und C# gearbeitet und habe damit kein Problem. Ich kenne diese "Individual Software" Branche ganz gut, und auch die Software, die da geschrieben wird. Ja, manchmal sind diese Projekte sehr groß und ab und zu auch teilweise interessant. Aber irgendwo auch sehr ähnlich, zu viele Standardteile, bei denen man nicht viel überlegen muss usw. Mir haben vier Jahre völlig gereicht, will damit erstmal nichts mehr zu tun haben.
    Darauf wollte ich jetzt aber auch nicht unbedingt hinaus. NiceJava kennt anscheinend einfach nichts anderes, und den will ich entschieden widersprechen. Es gibt sehr wohl sehr viele sehr große C++ Projekte und das ist keine "Ausnahme".



  • Mechanics schrieb:

    Auskenner schrieb:

    Großprojekte wie z.B. Libre Office sind über 20 Jahre alt, die ersetzt man nicht einfach mal mit einem vergleichbaren Java Projekt und wenn der Bedarf durch alte Großprojekte gedeckt ist, dann gibt es auch keinen motivierenden Grund dafür, Alternativen in Java neu aufzusetzen.

    Ich weiß. Aber es gibt anscheinend auch keinen motivierenden Grund, neue Großprojekte in Java aufzusetzen. An solche Diskussionen kann ich mich persönlich seit mindestens 15 Jahren erinnern.

    Großprojekte gibt es schon noch, es ist aber so wie Ethon gesagt hat.
    Der Normaluser wird die nicht zu Gesicht bekommen, es sei denn er arbeitet irgendwo, wo sie eingestezt werden.

    Ich bezog mich auf den einfachen Desktopuser Zuhause und da ist das dann halt so, dass es hier bereits gewachsene Projekte in anderen Sprachen meist gibt und deswegen keine neuen in Java entstehen, weil es schlichtweg nicht notwendig ist.

    Und in den letzten 15 Jahren hat sich nichts grundlegend zu Gunsten von Java verändert. Im Gegenteil, der Java Hype ist sehr stark abgeflacht.

    Der Hype ist abgeflacht, aber Java ist zur Normalität geworden.

    Und Minecraft hat man nicht in Java geschrieben, weil Java so toll wäre. Der Typ konnte halt nichts anderes und hat es damit in paar Monaten hingerotzt. Das ist jetzt wirklich kein Referenzprojekt.

    AFAIK entwickelte Notch schon länger Spiele, aber das war sein erstes dass er selbst entwickelte und nicht als Arbeitnehmer in irgendeiner Firma die ihm nicht gehört, wie es zuvor eben war.
    Ich gehe also davon aus, dass er mehr Sprachen als Java kennt. Aber es ist nunmal so, wie es hier im Thread herauszulesen ist.
    Wenn man ein sehr kleines Team hat und möglichst ohne großen Aufwand ans Ziel kommen will, dann nimmt einem Java so viel Arbeit ab, dass man mit seinem Projekt fertig werden kann.
    Deswegen hat er Java für Minecraft genommen.
    Er hätte auch C++ nehmen können, aber dann hätte er dafür wesentlich länger gebraucht. Insbesondere als 1 Mann Projekt, wie das am Anfang eben auch war.



  • Auskenner schrieb:

    Er hätte auch C++ nehmen können, aber dann hätte er dafür wesentlich länger gebraucht. Insbesondere als 1 Mann Projekt, wie das am Anfang eben auch war.

    Nö. Minecraft hat so viele Performaceprobleme, daß es schon nicht mehr ulkig, sondern bloß noch traurig ist. Die wenigstens so weit zu umschiffen, daß es halbwegs spielbar ist, hat den armen Mann sicher mehr gekostet. Auf meinem Rechner gehts immernochnicht. Der verfummelt die Mauspointerposition (vermute, er setzt immer wieder in die Mitte und bei jeder Mausmessage nimmt er die Differenz und setzt den wieder in die Mitte) und das klappt bei mir einfach nicht. Irgendwie ist er an der Java-Wand angekommen: Maschine zu weit weg, er kann die einfachsten Bugfixes nicht machen, weil er nur auf der VM dreht.
    Ja, man hat in Java sehr schnell einen grafischen Pythagorasrechner zusammen. Aber am Ende kanns Stocken. Hab mal 7 oder so Monate gearbeitet für 1 Monat Lohn, weils in Java nicht möglich war.

    Minecraft selber ist ein Kackspiel. Aber es ist durch Java unbeabsichtigt quasi Quelloffen und die Mods und Freeshards haben es grbracht. Klar mag man mal ein Atomkraftwerk bauen. 😃



  • Performance von Java für Dinge wie Spiele sollte sich gut verbessern wenn endlich Value-Typen kommen. Keine Ahnung warum man die jetzt erst bei C# klaut.
    Eine Katastrophe für einen Vektor den Heap bemühen zu müssen.



  • Zu der Minecraft Diskussion wollte ich mal diesen Link anbringen: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1272953-optifine-hd-a4-fps-boost-hd-textures-aa-af-and?page=2125#c43757

    In C++ haette man die Positionsdaten schoen uebersichtlich in Objekte und auch noch auf dem Stack speichern koennen und die Geschwindigkeit gehabt. Es wundert mich, dass das nicht optimiert werden kann, denn vor ein paar Jahren habe ich schon gelesen, dass Java Objekte mit beschraenkter Lebensdauer auf den Stack verschieben kann.



  • Marthog schrieb:

    denn vor ein paar Jahren habe ich schon gelesen, dass Java Objekte mit beschraenkter Lebensdauer auf den Stack verschieben kann.

    Ich hab glaub ich 1997 gelesen, daß Java prinzipiell so schnell wie C IST und es nur noch ein paar Monate dauert. Kann auch 1998 gewesen sein.
    Dabei ist mir das fast Schnuppe, so schnell wie die Rechner heute sind. Als Endanwender muss ich halt den Windows-Rechner anmachen, um was zu benutzen, was Java braucht. Das mache ich ungern.



  • volkard schrieb:

    Dabei ist mir das fast Schnuppe, so schnell wie die Rechner heute sind.

    Aus irgendeinem Grund sind die paar wenigen Desktop Javaprogramme, die ich kenne, immer noch lahm. Eclipse geht mittlerweile tatsächlich halbwegs, mit den modernsten Rechnern, aber trotzdem machts keinen Spass, das alles zu bedienen. Kann sein, dass es mit JavaFx besser geworden ist, da hab ich noch keine Real Life Anwendungen damit gesehen.



  • Großprojekte sind doch eher Nischen. Das ist wie beim Handwerk, die ganzen kleinen bis mittleren Klitschen machen den Löwenanteil aus. Android hat z.B einen Marktanteil von 85% in Deutschland und was meiste in was die meisten Apps programmiert sind? Das ist eine große Industrie mittlerweile geworden. Das Entwickler-Tagesgeschäft besteht doch zum großen Teil aus Programmen die wirklich niemand so im Internet runterladen kann, sondern die individuell bei ein paar Kunden läuft. Ich persönlich kenne ein BusinessBasic und eine Hostel-Verwaltungssoftware in Delphi. Das sind alles kleine Firmen mit 1-5 Mann, aber ich denke schon, dass dies eher der Alltag ist, als große Sachen wie ein Firefox, Photoshop usw. und Firmen in denen gleich 50 Leute an einem Projekt arbeiten.

    Dass Java nur auf Windows läuft ist Unsinn, hier unter OSX läuft es auch wunderbar(wenn man nicht gerade auf Mavericks oder Yosemite geupdatet hat^^) Zumal man jede Javaapp mit zwei Klicks mit einem ausführbaren Starter versehen kann und die JRE einfach mit ins Projekt einkopiert wird, das frisst ja alles heute kein Brot mehr.

    Zu den geilsten Javaprogrammen, der letzten Zeit gehört für mich Bitwig. Da stinkt Cubase richtig gegen ab in meinen Augen.

    Welche Individual-Software muss denn schon so nah an der Maschine dran sein, dass Java nicht reichen würde, außer irgendein Grafikgedöns? Was nun wirklich kein Tagesgeschäft ist.

    Wenn ich eine neue IT-Firma aufmache und Projekt-X an den Kunden bringen will, werde ich dann C++ als erstes in Betracht ziehen, oder werde ich nicht eher erst einmal schauen, ob das nicht mit einer weniger anspruchsvollen Programmiersprache umgesetzt werden kann?



  • Was ist denn an der Arbeit mit C++ besser, als an Java und C#? Mal abgesehen von der Performance und Systemnähe.


Anmelden zum Antworten