D Programmierung
-
volkard schrieb:
und auf keinen fall erfindet jeder popel eine neue technologie mit jedem neuen programm, das er auf den markt wirft (oder mit jeder neuen betriebssystemversion oder compilerversion).
Das natürlich nicht, trotzdem kann es Software-Technologien geben. Betriebssystem-Technologien, Compiler-Technologien, VM-Technologien. Jedes einzelne davon ist genauso komplex wie ein Kernkraftwerk, was du ohne zu zögern als Technologie bezeichnen würdest.
Beispielsweise Raumfahrt ist vergleichsweise armselig, es ist nur das hohe Risiko. Wie ich die Rakete einschießen muss, damit ich in eine Umlaufbahn um den Mond komme, konnte ich in der zwölften Klasse ausrechnen. Und ich hätte auch nicht Zoll und Zentimeter gemischt. Natürlich traue ich mir nicht zu, eine Rakete zu bauen, die zum Mond fliegt. Aber wenn ich so viel an sowas geplant hätte, wie ich programmiert habe und wenn ich die Mittel hätte, könnte ich das auch.übrigens finde ich es bezeichnend, daß mich Optimizer meistens ernst nimmt, aber meine weigerung, die sprache ebenfalls zu vergewaltigen, läßt mich zum hinterwäldler werden.
Du kannst von der Sprache Java jede Meinung haben und es überrascht dich vielleicht, ich mag sie auch gar nicht so gern. Die Generics sind wegen mangelndem VM-Support zuwenig leistungsfähig, Operatorüberladung fehlt mir weil ein get(int index) einfach affig ist. Die mangelnde Fähigkeit zur Stack-Allokation stört mich auch. Pluspunkte sind, dass sie sich schnell compilieren lässt und an vielen Stellen weniger affig ist.
Aber es ist nicht angebracht, nur zwei Sprachen zu vergleichen. Die Sprache ist ein Werkzeug, neben der Standardbibliothek und sonstigen Bibliotheken, die du zur Verfügung hast. Im übrigen ist es bedeutend schwieriger, die ganzen Frameworks zu lernen und auch nur das Design der stdlib zu verstehen, als die Sprache Java zu lernen.Wenn du irgendwas entwickeln willst, musst du keinen Komma-Operator überladen können. Mit reinem C++ zerreisst du heute gar nichts und außer Spiele-Engines kenne ich persönlich keine großen Frameworks, ich kenne nicht mal einen O/R-Datenbank-Mapper für C++. Wofür kann man diese Sprache überhaupt brauchen, ich kann doch nicht alles selber entwickeln. Wahrscheinlich ist die beste Sprache Haskell, aber die kann im Moment genausowenig einer brauchen.
Für C++/CLI schaut es da schon besser aus, obwohl die Sprache mehr oder weniger die gleiche ist wie C++. Du siehst, der reine Sprachen-Vergleich bringt nichts und wenn du echt eine Vorliebe für C++ hast frage ich mich, warum schaust du dir nicht mal .Net an, anstatt es als Java-Clone zu bezeichnen? Da kannst du auch ganz unverbindlich dich mit GC anfreunden (oder auch nicht) und hast ne Menge stdlib.
-
daHa schrieb:
warum gibt es keinen java editor (oder andere app) der (die) ein aehnlich brauchbares laufzeitverhalten hat wie entsprechende editoren (apps) die in anderen sprachen erstellt wurden?
nur unfaehige entsickler, sammeln sich die irgendwo, oder doch ein sprach/tech feature?Nein, massenhaft unfähige Benutzer. Ich bin hier ständig am verlinken und erklären, warum bei den Boons Eclipse langsam läuft. Eclipse ist das größte Beispiel für Benutzer-Unfähigkeit. Um es gleich zu sagen, Eclipse hat bei mir eine Warmstart-Zeit von 4 Sekunden, danach ist es 100% einsatzbereit und die CPU-Auslastung ist < 5%. Ich öffne das Java-API. Ich compiliere es. Hunderte tausend Zeilen Code werden in 2 min compiliert. 40.000 Warnings (Klassen, die nicht compilieren, vorher entfernt). Eclipse läuft. Ich refactore was (java.util.ArrayList<T> wird zur java.util.TestList<T>), das dauert im Kontext des gesamten Java APIs (!!) nur 2:49 Minuten. Nachdem er alle Sourcen im Cache hat und Plattenzugriffe nicht mehr dominieren, dauert das Zurück-Umbenennen 11 Sekunden.
Kommen wir zum Thema zurück. Warum läuft Eclipse langsam? Die Entwickler haben sich nicht deinen Computer gekauft und die Mühe gemacht, für dich ideale GC- und VM-Parameter zu finden. Du bist selber Entwickler, von dir erwarten sie, dass du dir ungefähr vorstellen kannst, dass für Eclipse eine andere GC- und Compiler-Strategie ideal ist als wie für ein Hello World.werden java apps auch auf den rechnern laufen die jetzt endlich unter bereucksichtigung der realitaet entwickelt werden (stromspar, afrika indien usw)
Jo.
Übrigens weiß ich nicht, was ein Desktopenvironment ist.
-
volkard schrieb:
Roar schrieb:
hä, meine geringe menschenkenntnis von pizzaliferanten verrät mir leider nicht ob das pure ironie war, oder ob das tatsächlich ernst gemeint war
. klär mnich auf 
vielleicht hilft das ein wenig
http://de.wikipedia.org/wiki/Star_Sevendas ist mir bekannt meister, ich wunderte mich nur ob der quatsch da von dir ernst gemeint war

-
optimizer,
und es tut mir schon wieder leid das du dich von einer provokanten formulierung von mir wieder mal persoenlich betroffen fuehlst.
anscheinend duerfte es da aber einen grund geben.das bei dir eclipse schneller laeuft als bei anderen is ja nun wirklich nebensaechlich, bzw hat mit meiner frage nix zu tun.
bring 2 vergleichbare apps, wo die java app schneller ist als eine andere C/C++ app.
ein editor wuerde sich anbieten, aber auch andere bsp sind wilkomen.
von akademischen laborbsp halt ich nix, weil zumeist realitaetfern.wenn ich das dann ausprobier, dann frag ich dich auch gern mit welche parametern ich die java app starten kann.
im uebrigen, ein super bsp fuer lustigkeit, wenn die startparameter so ein problem sind, warum gibts dann nix das das den dummen benutzern abnimmt, manche programmierer verlangen ja auch das ihnen das speichermanagement abgenommen wird.
aber die benutzer sind dumm. jajaansonst, es is bezeichnend fuer dich und deinen stil das du dir nur 2 punkte zum antworten aussuchst, wobei du eigentlich gar nix antwortest sondern ablenkst, und den rest ignorierst.
hat zwar meistens dann nix mit dem thema zu tun, aber steigert anscheinend dein wohlbefinden.
-
daHa schrieb:
und es tut mir schon wieder leid das du dich von einer provokanten formulierung von mir wieder mal persoenlich betroffen fuehlst.
anscheinend duerfte es da aber einen grund geben.Was, wie wo? Nein, ich fühle mich überhaupt nicht persönlich betroffen, durch was auch?
das bei dir eclipse schneller laeuft als bei anderen is ja nun wirklich nebensaechlich, bzw hat mit meiner frage nix zu tun.
Du wolltest nen schnellen Editor für Java. -> Nimm Eclipse und stell die VM richtig ein.
bring 2 vergleichbare apps, wo die java app schneller ist als eine andere C/C++ app.
ein editor wuerde sich anbieten, aber auch andere bsp sind wilkomen.Völlig sinnlos. Die Compiler schenken sich heute nicht mehr viel, also sind die Fähigkeiten der Programmierer viel entscheidender. Volkard's Primzahlen-Programme sind immer schnelle als meine und die von Gregor, selbst wenn volkard sie in Visual Basic implementieren würde. Und dieses Performance-Gelaber langweilt langsam sowieso. Macht nicht viel her, Sprachen anstatt Implementierungen bzgl. Performance zu vergleichen, es ist auch für die meisten Anwendungen (wie Code-Editor) überhaupt sinnlos, Performance zu betrachten.
im uebrigen, ein super bsp fuer lustigkeit, wenn die startparameter so ein problem sind, warum gibts dann nix das das den dummen benutzern abnimmt, manche programmierer verlangen ja auch das ihnen das speichermanagement abgenommen wird.
aber die benutzer sind dumm. jajaEclipse-Benutzer sind meistens Programmier. Wenn du ne Java-Anwendung an einen Endbenutzer verkaufst, muss du ihm natürlich die Parameter richtig für ihn einstellen. Amsonsten verstehe ich generell nicht, worauf die hinauswillst. Hast du irgendein Problem, bei dem ich dir weiterhelfen kann? Du scheinst ein Schlüsselerlebnis gehabt zu haben, welches dich tief geprägt hat. Leg dich doch mal gemütlich auf ein Bett und erzähl uns deine Lebensgeschichte.
ansonst, es is bezeichnend fuer dich und deinen stil das du dir nur 2 punkte zum antworten aussuchst, wobei du eigentlich gar nix antwortest sondern ablenkst, und den rest ignorierst.
hat zwar meistens dann nix mit dem thema zu tun, aber steigert anscheinend dein wohlbefinden.Ich bin an deinen Vorhersagen bzgl. der Zukunft von Sprachen nicht interessiert. Was willst du mir überhaupt vorwerfen, dass ich dein Posting uninteressant finde, vielleicht?
Code doch einfach in irgendeiner Sprache deiner Wahl und verschone die Welt damit. Du kommst her und kotzt irgendwas mit Java ist langsam aus und erwartest darauf auch noch eine gescheite Antwort.
Wenn du Java nicht magst, benutze es nicht. Wenn du die VM nicht einstellen willst, tue es nicht.
-
http://www.jdistro.com/
https://lg3d.dev.java.net/
wenn du den wikipedia beitrag zuende gelesen hast: looking glass ist dort auch verlinkt.zum anderen thema: ich sehe keine geschwindigkeitsunterschiede zwischen z.b. eclipse oder intellij und visual studio 2005 zu gunsten von vs. Vom Resourcen-Funktionen-Faktor ganz mal abgesehen

-
wie sind den die optionen der vm zu waehlen, damit das nicht mehr ganz so zaeh laeuft?
(athlon xp 1600+, 512mb ram, linux 2.6.x)
-
eclipser schrieb:
wie sind den die optionen der vm zu waehlen, damit das nicht mehr ganz so zaeh laeuft?
(athlon xp 1600+, 512mb ram, linux 2.6.x)Ich würde mal java -Xbatch -Xoptimize -Xms(alles RAM was du entbehren kannst) -Xmx(das selbe wie Xms, weil du eh recht wenig RAM hast) -jar (verzeichnis)/startup.jar ausprobieren. Und natürlich auf jeden Fall die aktuellste VM. Ich persönlich benutze sogar schon nen Mustang-Build, der eigentlich ziemlich gut läuft und auch für mich nochmal deutlich schneller war. Aber das muss jeder selbst wissen...
RAM-hungrig ist Eclipse ja schon, das kann man glaub ich zugeben. Zumindest wenn man den ganzen Source vom Java-API öffnet.

-
daHa schrieb:
wie zukunftsicher sind die sprachen bzw wo ist die absicherung wenn die hersteller zb hergehen und sagen: unsere vm fuehrt nur mehr apps aus die ein zertifikat haben welches es kaeuflich zu erwerben gibt bei ...(trusted computering usw..)
Die Annahme, dass Java mit Sun gleichzusetzen ist, also an einer einzigen Firma hängt, ist falsch. Sicherlich ist die JVM von Sun die verbreitetste, aber es gibt durchaus auch JVMs von anderen Herstellern. Zum Beispiel von IBM oder BEA. Es gibt auch Java Native Compiler. Zum Beispiel Excelsior JET. Und wenn es dir nichts ausmacht, einiges hinter der Entwicklung herzuhinken, dann kannst du sogar den GCJ mit GNU-Classpath als OSS-Variante von Java ausprobieren.
Weiterhin kann man solche VM-Änderungen oder auch Änderungen bezüglich der Lizenzierung oder so wohl kaum rückwirkend für schon bestehende Javaversionen machen. In jedem Fall bleibt einem also die aktuelle Version erhalten, wenn sich Sun dazu entschließen würde, soetwas zu machen.
Abgesehen davon kannst du mal gucken, inwiefern Sun überhaupt eine Firma ist, die soetwas macht. Ich habe eher den Eindruck, dass sich Sun immer mehr öffnet. Da werden eine ganze Menge OSS-Projekte von Sun unterstützt oder auch ins Leben gerufen: Netbeans, OpenOffice, OpenSolaris, Looking Glass usw. Zudem werden auch viele Java-APIs unter OSS-Lizenzen gestellt: Zum Beispiel Java3D. Ich halte es ehrlich gesagt für unangemessen, Sun diesbezüglich auf eine Ebene mit gewissen anderen Herstellern zu setzen.
Im Übrigen ist es IMHO durchaus im Interesse der Java-Community, wenn Java nicht komplett geöffnet wird. Das Maß an Offenheit, dass momentan bei Java herrscht ist aus meiner Sicht völlig in Ordnung.
Und wenn du die Zukunftssicherheit auf Investitionen in diese Sprachen ausdehnst, also zum Beispiel fragst, ob es dir im Beruf weiterhilft, eine dieser Sprachen zu beherrschen, dann kannst du dir ja auch einfach mal angucken, wo diese Sprachen momentan stehen bzw. was gebraucht wird. Und da sieht es aus meiner Sicht momentan so aus:
D -> nutzt keiner
C# -> wird momentan noch nicht so stark genutzt, da gibt es aber möglicherweise eine steigende Tendenz
C++ -> wird viel genutzt
Java -> wird noch mehr genutzt
-
Gregor schrieb:
C++ -> wird viel genutzt
Java -> wird noch mehr genutztFalsch, -100 Punkte!
-
Kenner der Programmierer schrieb:
Gregor schrieb:
C++ -> wird viel genutzt
Java -> wird noch mehr genutztFalsch, -100 Punkte!
Wenn man keine Ahnung, hat einfach mal...
http://www.gulp.de/kb/mk/chanpos/verwandteps.html
-
interpreter schrieb:
Kenner der Programmierer schrieb:
Gregor schrieb:
C++ -> wird viel genutzt
Java -> wird noch mehr genutztFalsch, -100 Punkte!
Wenn man keine Ahnung, hat einfach mal...
http://www.gulp.de/kb/mk/chanpos/verwandteps.htmlDiese zusammengefrickelte "Studie" hat keinerlei Aussagekraft.

-
Kenner der Programmierer schrieb:
interpreter schrieb:
Kenner der Programmierer schrieb:
Gregor schrieb:
C++ -> wird viel genutzt
Java -> wird noch mehr genutztFalsch, -100 Punkte!
Wenn man keine Ahnung, hat einfach mal...
http://www.gulp.de/kb/mk/chanpos/verwandteps.htmlDiese zusammengefrickelte "Studie" hat keinerlei Aussagekraft.

vielleicht hat diese statistik für dich mehr aussagekraft: http://sourceforge.net/softwaremap/trove_list.php?form_cat=160
-
Kenner der Programmierer schrieb:
Diese zusammengefrickelte "Studie" hat keinerlei Aussagekraft.

Naja, man muss wohl zugeben, dass Java auf Gulp schon immer sehr gut abgeschnitten hat. Das ist halt eine Seite für Freiberufler und es mag sein, dass das daran liegt. Aber die grundsätzliche Reihenfolge bezüglich Java, C++ und C# auf solchen Job-Statistik-Seiten ist AFAIK immer gleich. Eine andere Seite, auf der Java etwas schlechter abschneidet und dafür C# etwas besser, ist zum Beispiel die da:
Wenn du dir OSS-Projekte anschaust, dann ist Sourceforge vielleicht ein gewisser Indikator. Da ist C++ fast auf dem gleichen Level wie Java und C# ist da weit abgeschlagen:
http://sourceforge.net/softwaremap/trove_list.php?form_cat=160
-
Und jetzt haben sich alle wieder lieb und programmieren weiter in ihrer Lieblingssprache.
-

-
ich seh ein, das man themen die einen etwas philosophischen hintergrund haben nicht unbedingt folgen mag.
ich bin halt der ansicht, das das staendige akzeptieren von ein bissl mehr unnoetigen overhead nicht unbedingt zu einer positiven entwicklung gefuehrt hat.
das argument, welches irgenwo kam, das entwicklung mehr in richtung zeichung mit tools als tatsaechlich zu programmieren fuehrt ebnefalls philospohisch ist, haengt auch damit zusammen, aber lass ma das.die option -Xoptimize hab ich nicht in meiner man page, oder ueberles ich sie?
mit -Xbatch werd ich experimentieren
was bringt -Xnoclassgc ?ob und wie java apps mittlerweile auf nicht so leistungshungrigen plattformen laufen werd ich im laufe der woche noch mal testen, auf via epia/c3 boards.(ich find die irgendwie sinnvoll, wegen stromverbrauch und preis/leistung, vergleichbare centrino boards sind leider preislich noch nicht interessant), ich gestehe das meine erfahrungswerte in dem bereich nicht aktuell sondern schon mindestens zwei jahre alt sind.
allerdings, mit welchen apps, ausser event jedit, soll ich da testen? was wuerde sich anbieten, eclipse usw wird auf so einer plattform nicht zum einsatz kommen, welches waeren alltagstaugliche java apps die man einsetzen koennte. (editor, mail, web, textverarbeitung, tabellenkalk. , musikspieler, filemanager, bildbetrachter usw....)seit jahren evaluier ich von zeit zu zeit (ca 1 bis 2 x jaehrlich) UML tools.
die, welche in fuer ich leistbaren kategorien liegen (also nicht together und rational rose, aber zb magicdraw) sind fuer c++ eher, nunja, problematisch.
und dann denk ich immer wieder mal nach, das diese oder jene app ruhig in java implementierbar waer.und ab hier werden die ueberlegungen etwas komplizierter, bzw vielfaeltiger, erspar mir aber alle ueberlegungen hier aufzufuehren, will mir nicht unterstellen lassen das ich mich auf die couch leg.
wozu ich aber fragn haett:
einerseits gibt es tolle IDEs und Tools, sogar frei wie argo, andererseits sind java apps noch nicht wirklich in den bereich every day use apps vorgedrungen. (die java entwicklungstools lass ich jetzt mal weg, fuer nicht entwickler eher nicht so interessant)oder doch, bin ich etwas blind bzw zusehr auf den fuer mich aktuell relevanten bereich spezialisiert?
wenn ja, welche apps waeren es?
wenn nein, warum nicht?warum finden java apps nicht im solchen komerziellen bereichen verwendung
wie zb palm sync oder realplayer oder pdf viewer, wo os unabhaenigkeit sinn macht, damit man dann wirklich ein stueck software hat welches unabhaenig vom os ueberall laeuft.oder gibt es das eh nur kenn ichs nicht?
(looking class war/ist ein nettes demo projekt, oder ist es mittlerweile mehr?, mittlerweile gibts 3 aehnliche loesungen, mac novell windows , mit java ham die alle nix zu tun.
sun java desktop war/ist gnome (und gnome apps) mit ein paar java entwicklungsapp, oder ist es mittlerweile anders)oder sind java apps nur fuer spezialisiert bereiche ala ebay relevant bzw primaer in verwendung, wo ich ganze rechnerkonfigurationen auf die laufenden java apps optimiere?
bez vm bzw herstellerabhaenigkeit, vor jahren haett sich niemand traeumen lassen das mp3 mal auf hardware gedongelt wird, mittlerweile realitaet (ok, der vergleich hinkt vielleicht ein bissl, soll nur die gedankenrichtung demonstrieren).
selbstverstaendlich spielen fuer mich ueberlegungen bez herstellerabhaenigkeit eine rolle.
bin leider kein konzern fuer den eventuelle linzenzkosten kleingeld waeren, bzw will ich mir in die richtung nix verbauen.
wer schon einmal wegen herstellerabhaenigkeit probleme hatte kann das event nachvollziehen.wirklich viele fragen, die ich in einem forum stell, und wo ich eher verwundert bin wenn als antwort kommt das im umfeld alle bloed sind und das die ultimative erklaehrung sein soll.
-
Hallo,
1. wenn du java apps testen willst gibt es genug dafür als dass man hier irgend eine auswahl treffen könnte. jedit ist gut. in den bereichen die du erwähtn hast vielleicht: "Think Free Office" kostet zwar aber man kannst kostenlos testen, "Columba" mail client, jamp als mp3 player. nich zu vergessen azureus und limewire
2. eclipse: also eclipse läuft bei mir mit den standard vm optionen schnell und flüssig. hatte deshalb nie das bedürfnis was an den optionen zu ändern und kann dir dazu auch nicht helfen.
3. du hast recht: der standard aldi-pc-käufer-und-ab-und-zu-mal-einen-brief-auf-word-schreiber hat vergleichsweise eher weniger java programme auf seinem rechner. aber wirf einen blick in den kommerziellen bereich (ich geh davon aus dass du dich nur auf desktop-applikationen beziehst?): als beispiel: SAP applikationen, oder lotus notes (nur teilweise in java).
4. looking glass ist kein demo projekt. es wird noch immer weiterentwickelt und soll in den nächsten releases vom sun jds mit dabei sein.wie oben shcon erwähnt, als beispiel für beim end-end-end-user fallen mir auf anhieb nur azureus und limewire ein, muss zufall sein dass beides filesharing programme sind

gruß
-
Roar schrieb:
1. wenn du java apps testen willst gibt es genug dafür als dass man hier irgend eine auswahl treffen könnte. jedit ist gut. in den bereichen die du erwähtn hast vielleicht: "Think Free Office" kostet zwar aber man kannst kostenlos testen, "Columba" mail client, jamp als mp3 player. nich zu vergessen azureus und limewire

Hier mal die entsprechenden Links:
JAmp: http://www.mac-systems.de/jampaktuell.htm
...wenn du dazu Fragen hast, kannst du mal im Forum von www.javacore.de fragen oder in dessen Chat. mac-systems, der Entwickler von JAmp ist da Mod/Op. Da soll übrigens auch in absehbarer Zkunft etwas neues kommen.
Thinkfree Office: http://www.thinkfree.com/products/index.jsp
Limewire: http://www.limewire.com/english/content/home.shtml
Azureus: http://azureus.sourceforge.net/
JPhotobrush Pro: http://www.jphotobrushpro.com/ (Gibt es auch als Testversion kostenlos).
Columba: http://www.columbamail.org/drupal/...und Tribal Trouble kannst du auch mal testen: http://tribaltrouble.com/

-
Neuigkeiten in der Aktuellen Version:
...
speicherleck behoben
...