D Programmierung
-
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
...
-
gc schrieb:
Neuigkeiten in der Aktuellen Version:
...
speicherleck behoben
...
Ja, auch unter Java können bestimmte Arten von Speicherlecks auftreten.
Der GC räumt zwar alles weg, auf das es keine Referenz mehr gibt, aber es kann ja auch mal passieren, dass man irgendwo aus Versehen Referenzen "anhäuft", also behält, obwohl man sie nicht mehr braucht. Solche Lecks kann man mit dem passenden Profiler allerdings ganz gut finden.
-
Aber Gott sei Dank muss man sich in GC-Sprachen um die Speicherverwaltung ja keine Sorgen machen...</sarkasmus>
-
GodBeBlessed schrieb:
Aber Gott sei Dank muss man sich in GC-Sprachen um die Speicherverwaltung ja keine Sorgen machen...</sarkasmus>
Wer sich beim programmieren keine Gedanken macht, sollte es lieber sein lassen... ganz egal welche Sprache er benutzt

-
JBeni schrieb:
GodBeBlessed schrieb:
Aber Gott sei Dank muss man sich in GC-Sprachen um die Speicherverwaltung ja keine Sorgen machen...</sarkasmus>
Wer sich beim programmieren keine Gedanken macht, sollte es lieber sein lassen... ganz egal welche Sprache er benutzt

Soll das heißen, dass die macher von Jamp mit dem Programmieren aufhören sollen?

-
Hier entsteht ein harmonia wiki:
http://dannerbeck.net/index.php?option=com_mambowiki&Itemid=16Ausserdem wird sprungmarke immer voller.
http://sprungmarke.netFreut mich dass D doch soviel Diskussion auslösen kann

-
Optimizer schrieb:
daHa schrieb:
lesbarkeit ist von for schleifen mindestens genauso gut, wenn nicht besser
typedef std::map<MyKey, MyValue*>::const_iterator Iterator; for( Iterator i = myMap.begin(); i != myMap.end(); ++i ) { cout << (*i)->getMember(); }foreach( MyValue v in myMap ) { Console.Out.WriteLine(v.getMember()); }q.e.d.
{...}#include <map> #include <iostream> #include <algorithm> #include <boost/lambda/lambda.hpp> #include <boost/lambda/bind.hpp> using namespace boost::lambda; using namespace std; for_each( myMap.begin(), myMap.end(), cout << bind( &MyValue::getMember, _1 ) );
-
Bei ner map gehts leider nicht ganz so einfach, aber ist nicht viel schwerer:
typedef std::map<MyKey, MyValue*> M; for_each( myMap.begin(), myMap.end(), cout << bind( &MyValue::getMember, bind( &M::value_type::second, _1 ) ) );
-
Boost::Lambda schrieb:
for_each( myMap.begin(), myMap.end(), cout << bind( &MyValue::getMember, _1 ) );Ich finde, dass es immer noch nicht vergleichbar mit dem foreach-Beispiel von mir ist. Klar, es passt in eine Zeile, aber es sieht halt trotzdem nicht geil aus. Vor allem wenn der Rumpf dann doch mal aus mehr besteht als einer Ausgabe.
Gibt's wenigstens einen Overload, wo man nicht begin() und end() sagen muss? Ich bin jedenfalls nach wie vor nicht davon überzeugt, dass man ein schönes foreach selber basteln kann.Bei einer Map würde es in C# übrigens so aussehen (man kriegt Pairs, mein Beispiel war nicht ganz korrekt):
Dictionary<int, string> dictionary; ... foreach( KeyValuePair<int, string> pair in dictionary ) { Console.Out.WriteLine(pair.Value.GetMember()); }