# Warum werden nicht mehr Programme in Java geschrieben?



## finesim (29. Okt 2011)

Ich bin von Windows nach Ubuntu umgestiegen und habe festgestellt, dass viele Programme nicht unter Ubuntu laufen, und dass es keine angepasste Version gibt. Warum nutzen nicht mehr Firmen Java oder etwas anderes plattformunabhängiges? Ist es velleicht, dass man nicht System nah programmieren kann? Oder ist es die Abhängigkeit von Oracle?(Bei Flash ist es ja meiner Meinung nach die Abhängigkeit von Adobe) Das würde mich mal interessieren.


----------



## Marcinek (29. Okt 2011)

Weil wirklich teure Programme davon leben, dass man den quellcode nicht sehen kann.

Und bei Java und anderen PUS (=Platform Unabhängigen Sprachen) ist das nur unter Aufwand zu beweltigen.


----------



## finesim (29. Okt 2011)

Gleicht sich dieser Aufwand nicht damit aus, dass man nicht für jedes Betriebssystem eine neue Version programmieren muss, weil dafür braucht man ja auch wieder Personal mit passenden Fähigkeiten. Bei PUS hat man ja gleich das komplette Feld abgedeckt(Sofern es eine JVM für diese Betriebssystem gibt).


----------



## Marcinek (29. Okt 2011)

Das Betriebssystem in kaufmännischen Anwendungen ist meist Windows (Server). Oder man gibt ein BS vor und die Kunden müssen es besorgen.

Der Marktanteil von Unix Systemen auf PCs ist eher gering. Wenn ich also ein Produkt für einen breiten Benutzerkreis bauen will, dannn suche ich mir das BS mit dem höchsten MA aus.

http://blob.freent.de/contentblob/1...ktuelle-marktanteile-dezember-20092045559.jpg

Wieso da Linux nehmen? - Und genau bei dieser Art der Produkten ist es wichtig, dass die User, meist dann private Leute, nicht um die Lizensierung herumkommen.


----------



## ARadauer (29. Okt 2011)

> Warum nutzen nicht mehr Firmen Java oder etwas anderes plattformunabhängiges?


Das ist eine sehr gute Frage. Hab ich mir vor einiger zeit schon mal gestellt...

http://www.java-forum.org/plauderecke/94953-bekannte-java-geschriebene-software-2.html#post603819



> Java hat einfach einen sehr große Verbreitung im Firmen internen Bereich. Business Software usw da ist Java ganz stark.
> ...
> Die richtig große Verbreitung im Consumer Bereich hat Java immer nocht nicht gefunden..
> ...
> Warm ist Java für den 0815 Endbenutzer so "unsexy"?


----------



## finesim (29. Okt 2011)

Marcinek hat gesagt.:


> Das Betriebssystem in kaufmännischen Anwendungen ist meist Windows (Server). Oder man gibt ein BS vor und die Kunden müssen es besorgen.
> 
> Der Marktanteil von Unix Systemen auf PCs ist eher gering. Wenn ich also ein Produkt für einen breiten Benutzerkreis bauen will, dannn suche ich mir das BS mit dem höchsten MA aus.
> 
> ...


Aber mit Unix Systemen spart man sich ja auch Kosten, und wenn man dann auch noch eine PUS nutzt(Kostet Java für Firmen was?) und somit den gesamten Markt abdeckt, ist  man doch fein raus und ist nicht von MS abhängig.
Es gibt doch ein paar Projekte, welche in Java geschrieben sind(Minecraft), und sehr erfolgreich sind.


----------



## Tobse (29. Okt 2011)

Aber gerade Mineraft hat sich mit Java nicht gut getan. Es geht glaub sogar schneller, eine "gecrackte" version davon zum laufen zu bringen, als es legal zu erwerben. Ganz einfach deshalb, weil es decompiler gibt, mit welchen sich kopeirshutz-mechanismen einfach entfernen lassen können.


----------



## Gassst (29. Okt 2011)

Zum einen kann ich deine Beobachtung nicht bestätigen. Sogut wie alle Programme die ich hier (unter Windows) benutze sind auch für andere Plattformen verfügbar (kein Java). Wenn Linux nicht unterstützt wird, dann sicher deswegen, weil der Aufwand in keinem Verhältnis zum Mehrwert (in Nutzerzahlen) steht.
Zum andern bin ich auch nicht der Meinung dass besonders (oder zu) wenig Java Software existiert...



Marcinek hat gesagt.:


> Weil wirklich teure Programme davon leben, dass man den quellcode nicht sehen kann.
> 
> Und bei Java und anderen PUS (=Platform Unabhängigen Sprachen) ist das nur unter Aufwand zu beweltigen.


Also das nun Quatsch und ganz sicher nicht der Grund...


----------



## finesim (29. Okt 2011)

Tobse hat gesagt.:


> Aber gerade Mineraft hat sich mit Java nicht gut getan. Es geht glaub sogar schneller, eine "gecrackte" version davon zum laufen zu bringen, als es legal zu erwerben. Ganz einfach deshalb, weil es decompiler gibt, mit welchen sich kopeirshutz-mechanismen einfach entfernen lassen können.



Stimmt, daran hatte ich bisher gar nicht gedacht.


----------



## faetzminator (29. Okt 2011)

Tobse hat gesagt.:


> Aber gerade Mineraft hat sich mit Java nicht gut getan. Es geht glaub sogar schneller, eine "gecrackte" version davon zum laufen zu bringen, als es legal zu erwerben. Ganz einfach deshalb, weil es decompiler gibt, mit welchen sich kopeirshutz-mechanismen einfach entfernen lassen können.



An Anzahl der Nutzer, welche gezahlt haben, würd ich sagen, dass es eben nicht nur Arschlöcher gibt. Ich hab auch Messer in der Schublade und gewisse Personen nicht gern. Darf ich die nun herausholen  ?

Zum Topic: Ich kann es nur bestätigen, es wird immer nach Business App Entwickler gesucht. Meist im Webgebiet.


----------



## finesim (29. Okt 2011)

Gassst hat gesagt.:


> Zum einen kann ich deine Beobachtung nicht bestätigen. Sogut wie alle Programme die ich hier (unter Windows) benutze sind auch für andere Plattformen verfügbar (kein Java). Wenn Linux nicht unterstützt wird, dann sicher deswegen, weil der Aufwand in keinem Verhältnis zum Mehrwert (in Nutzerzahlen) steht.
> Zum andern bin ich auch nicht der Meinung dass besonders (oder zu) wenig Java Software existiert...


Dann bin ich wohl falsch informiert. Gibt es hier im Forum irgendwo eine Liste von empfehlenswerten Programmen?

Könnte man sowas wie ANNO 1404 auch in JAVA schreiben?
Oder kann man jedes Programm(System nahe ausgeschlossen) in jeder Programmiersprache schreiben, weil ja 95% aller Programme in C geschrieben sein sollen?


----------



## finesim (29. Okt 2011)

faetzminator hat gesagt.:


> An Anzahl der Nutzer, welche gezahlt haben, würd ich sagen, dass es eben nicht nur Arschlöcher gibt. Ich hab auch Messer in der Schublade und gewisse Personen nicht gern. Darf ich die nun herausholen  ?
> 
> Zum Topic: Ich kann es nur bestätigen, es wird immer nach Business App Entwickler gesucht. Meist im Webgebiet.


Vollkommen richtig:applaus:. Keiner von denen denkt auch nur daran, dass wenn die Firma kein Geld mehr für das Programm bekommt zugrunde geht und das Programm dann auch futsch ist. Das erinnert mich an Parasiten.


----------



## Marcinek (29. Okt 2011)

Gassst hat gesagt.:


> Also das nun Quatsch und ganz sicher nicht der Grund...



Axo  Deswegen gibt es Steam und Origin, die mit viel Aufwand dafür sorgen, dass Lizenzen eingehalten werden und das Programme mit viel Aufwand nach CDs im Laufwerk suchen um überhaupt gestartet zu werden.

+ Siehe Minecraft. Dekompilieren eine Klasse Ändern und wieder kompilieren. Und schwupp hat man sein eigenes Spiel.

Funktioniert ja, aber kann davon ein Publisher, der mehrere Jahre 100 MA einstellt um ein Programm zu entwickeln leben? - Eher nicht.

----

Im Business gibt es sowas nicht. Wenn eine Firma (ab einer gewissen größe) ein Produkt nutzten will, dann zahlt es auch. 

Kenne keine Beispiel, wo eine Firma illegal Software nutzt.

---

Im Business umfeld zählt SSO. Leichte Wartung. Und so teuer Microsoft odr Oracle /IBM ist, wenn ich erfolgreich sein möchte, dann muss ich auch was springen lassen. Und im Vergleich mit anderen Kosten, die so eine Firma hat, springen die Lizenzkosten für MS Produkte nicht wirklich ins Gewicht.


----------



## Cola_Colin (29. Okt 2011)

Marcinek hat gesagt.:


> Axo  Deswegen gibt es Steam und Origin, die mit viel Aufwand dafür sorgen, dass Lizenzen eingehalten werden und das Programme mit viel Aufwand nach CDs im Laufwerk suchen um überhaupt gestartet zu werden.
> 
> + Siehe Minecraft. Dekompilieren eine Klasse Ändern und wieder kompilieren. Und schwupp hat man sein eigenes Spiel.



Ich glaube nicht, dass das der Grund ist, wieso die meisten Spiele nicht in Java sind. Für Spiele wird einfach traditionell mehr C++ verwendet, weil man sowieso auf APIs wie DirectX zugreifen muss, was Java alleine nicht kann.

Klar Minecraft kann leichter illegal kopiert werden, als z.B. Battlefield 3. Aber auch Battlefield 3 ist wohl schon gecrackt, und es gibt keinen Kopierschutz, der nicht nach einigen Wochen über Workarounds hinüber war, spätestens nach einigen Monaten gab es immer einen simplen Crack, der einfach die exe austauschte. Es gibt genug richtige "Freaks" da draußen, die mit ihrem Disassembler nur so auf die nächste Herausforderung warten.

Auch scheint es dem Macher von Minecraft nicht wirklich etwas auszumachen, dass das Spiel so leicht kopierbar ist. Wie viele Millionen hat der Mann noch gleich mit seinem Projekt verdient ? Ich denke genug, um über illegale Kopien lachen zu können.
EA, Ubisoft und co verstehen genau das nicht, dass ein Spiel, dass gut ist, sich auch ohne dicken Kopierschutz verkauft, da der Kopierschutz a) sowieso geknackt wird und b) auch zu viel negativer Presse führt. Siehe aktuell Origin, oder die dreisten Onlinekopierschutzsysteme von Ubisoft. Da konnte dann der legale Käufer nicht spielen, weil Ubi's Server ausgefallen war und der Raubkopierer spiele gemütlich weiter. Oder man erinnere sich an GTA 4, da gab es nach dem Release so viele Probleme mit dem Kopierschutz, dass die einzige Lösung für einige legale Käufer, um das Spiel überhaupt spielen zu können, die Verwendung eines Cracks war. 
Nein, Java wird einfach für Spiele nur nicht verwendet, weil es zu "langsam" ist und nicht ohne Umwege auf APIs wie DirectX zugreifen kann.


----------



## finesim (29. Okt 2011)

Deswegen finde ich Diskussionen  so witzig:
Einer stellt eine Frage, es wird darüber geredet und am Ende ist man ganz woanders und keiner weiß, wie das passiert ist .
Zum Thema Kopierschutz:
Ein sehr gutes Beispiel ist zum Beispiel das Ubisoft Spiel Siedler 7, soll ganz toll sein, nur ist der Server für den Kopierschutz überfordert und man braucht eine ständige Internetverbindung. Bei Amazon hatte es mal 1 Stern.

Kennt nun jemand eine Internetseite, auf welcher bekannte und gute Javaprogramme gelistet werden?


----------



## finesim (29. Okt 2011)

Ist DirectX leistungsfähiger als OpenGL???:L


----------



## finesim (29. Okt 2011)

Was macht Java langsam?


----------



## hdi (29. Okt 2011)

> Zum Thema Kopierschutz:
> Ein sehr gutes Beispiel ist zum Beispiel das Ubisoft Spiel Siedler 7, soll ganz toll sein, nur ist der Server für den Kopierschutz überfordert und man braucht eine ständige Internetverbindung. Bei Amazon hatte es mal 1 Stern.


Neuestes Bsp ist Battlefield 3. Ein absoluter AAA-Titel, aber 1 Stern Durchschnittsbewertung aus fast 1000 Bewertung, wegen Origin. Ich find das auch richtig so, heutzutage kauft man ein Spiel und hat quasi doch nix gekauft. Ob und wann man spielen kann liegt teils gar nicht mehr in der eigenen Hand. Und bringen tut das eh nix, der DRM von Ubisoft wurde wenige Wochen nach Release gecrackt soweit ich weiß.



> Was macht Java langsam?


Java ist nicht für low-level Zugriffe auf die Hardware geeignet, d.h. du kannst keine allzu direkten Befehle an zB die Grafikkarte schicken, und gewisse Features nicht ausnutzen. Die Befehle werden über die JVM emuliert, und das ist halt langsamer. Das ist der Drawback für die Plattformunabhägigkeit von Java. Wenn du technisch anspruchsvolle Spiele machen willst ist Java nun mal nicht geeignet. Dafür ist es für andere Dinge sehr gut geeignet, zB im Bereich der Webservices oder generell Desktop Applikationen die diesen low-level Zugriff nicht benötigen.


----------



## Empire Phoenix (29. Okt 2011)

Naja tatsächlich sind die Draw callbacsk nur ne minimaler anteil an der gesamtlast. Der Overhead ist relativ gering  (0-15%)
Gute algorithmic ist wesentlich wichtiger, ich wette  jeder von uns kennte gewisse c programme die alles andere als schnell sind.

Das Problem ist eher, das all großen engines aus historischen gründen in c/c++ sind, und die meisten entwickler lieber ne fertige engine einkaufen, anstatt selber zu entwickln(kann man gut verstehen).

Inzwischen ändert sich das langsam, da es auch für Java recht vielversprechende Engines gibt. (jbullet, jme, jpct)


----------



## kantaki (29. Okt 2011)

wie schützt man eigentlich seine .jar files ? 
man kann sie ja einfach entpacken und sieht schon den kompletten code. gibt es ne möglichkeit das man die jar files nicht mehr so einfach mit winrar und co entpacken kann ?


----------



## Marcinek (29. Okt 2011)

kantaki hat gesagt.:


> wie schützt man eigentlich seine .jar files ?
> man kann sie ja einfach entpacken und sieht schon den kompletten code. gibt es ne möglichkeit das man die jar files nicht mehr so einfach mit winrar und co entpacken kann ?



Zu diesem Thema gibt es hier mehrere Threads einfach mal SUFU nutzen.


----------



## Cola_Colin (29. Okt 2011)

Du kannst den Code deutlich schwerer lesbar machen, z.B. mit ProGuard
Das wars dann aber auch schon...


----------



## Marcinek (29. Okt 2011)

Cola_Colin hat gesagt.:


> Du kannst den Code deutlich schwerer lesbar machen, z.B. mit ProGuard
> Das wars dann aber auch schon...



Ich behaupte es gibt JREs, die verschlüsselte JARS abspielen können. Da geht also noch mehr. Aber das steht alles in den Threads drin.


----------



## bygones (30. Okt 2011)

kantaki hat gesagt.:


> wie schützt man eigentlich seine .jar files ?
> man kann sie ja einfach entpacken und sieht schon den kompletten code. gibt es ne möglichkeit das man die jar files nicht mehr so einfach mit winrar und co entpacken kann ?


die jars selber nicht nein, sie sind einfach ein archive.

du kannst den code durch einen obfuscator schicken, der den code so was wie "verschluesselt", so dass ein dekompilieren zwar noch moeglich ist, aber das lesen des codes erschwert


----------



## Eldorado (30. Okt 2011)

Du musst den SourceCode (also .java Dateien) ja nicht mit in die jar packen, die .class files reichen völlig aus. (NB macht das zum Beispiel standardmäßig so)

Edit: Bin jetzt mal nicht, wie die anderen, davon ausgegangen, dass du dekompilieren verhindern willst


----------



## Tobse (30. Okt 2011)

Marcinek hat gesagt.:


> Ich behaupte es gibt JREs, die verschlüsselte JARS abspielen können. Da geht also noch mehr. Aber das steht alles in den Threads drin.


Das kann nicht sicher sein. Denn dann müsste es ja einen einheitlichen schlüssel geben, und der muss demnach auchnoch in der binary der JRE liegen - da kommt man schnell dahinter.


----------



## Marcinek (31. Okt 2011)

Siehe hier:

componio GmbH - ByteCode-Verschlüsselung für Java-basierte Software mit der JarCryp™-Technologie

Für jedes Deployment wird ein neuer Key ausgehandelt.


----------



## Gast2 (3. Nov 2011)

Was ich noch nachschieben möchte: 

Man sollte nicht immer vom schlilmmsten ausgehen. Ist der Preis für ein Produk gerechtfertigt und nicht überzogen gibt es imho mehr Menschen die bezahlen, als es illegal zu kopieren. 

Die 15€ für Minecraft habe ich keine Sekkunde bereut. Mehr als fair der Preis und das Spiel ist der Hammer (die Grafik zwar nicht aber die ist auch ehrlich gesagt nicht immer so wichtig ^^) 

Und wie man sieht, dachten in dem Fall fast 4 Millionen Menschen genauso. 

Microsoft hätte auch weniger Probleme würde ich wetten wenn sie MS Windows in einer NUTZBAREN Version für 50€ anbieten würden.


----------

