Black Dove
nuhuuu?
Jetzt hab' ich mich hier angemeldet, und gerade meine persönliche Passion - Java - scheint keinen Anklang zu finden.
Oder doch jemand da?
Wollte nur mal sehen..
grtz
Black Dove
MMB
Ich programmiere nicht in Java, aber ich kenne genug Leute, die es tun.
Du kannst ja mal versuchen, die Anderen zu Java zu bringen, indem du die Vorteile von Java aufzählst.
ThiefMaster
Eigentlich will ich ja JSP lernen, aber irgendwie schaffe ich es nicht, Tomcat in Apache zu integrieren (Standalone funktioniert er)
Black Dove
Das sollte kein Problem sein..
Weiß kaum, wo ich anfangen soll.
Naja, was hinreichend bekannt ist, ist die Portierbarkeit. Und ja: Es funktioniert wirklich. Nicht so ein halbseidenes Zeugs wie MS' Intermediate Code oder so.
Wenn ich ein Prog' schreibe, dann läuft das unter Windows, Linux, Solaris.. Naja, auf allen Kisten halt, die mir so im Laufe der Zeit unter die Finger gekommen sind.
Aber davon mal abgesehen. Ich hab (damals) viel in Assembler / C / Pascal (an die Frischlinge: ist heute Delphi - naja nicht wirklich, aber egal) geschrieben. Das war so die gute alte Zeit, als man grafische Demos noch mit ASM tunen musste <schwelg>.
Ja. Wenn man ein paar dieser Sprachen kennt ist Java der Himmel auf Erden. Man muss nicht immer das Rad neu Erfinden wie in C z.B. - Stichworte:
Lineare Listen, Bäume, Hashtables.
Alles da. Einfach so.
Und dann kommen noch die ganzen Sachen, die das Internet und dessen Protokolle betreffen. Nicht erst nen Socket aufsetzen usw. Nö. Einfach das passende Objekt instanziieren und loslegen.
Weitere Vorteile: Nicht so komplex wie C(++), da keine (expliziten) Pointer..., einfache Oberflächen (das geht' mal an die MFC und Windows-API programmierer), ehhh...
usw.
Wenn man Java kennt ist es auch zu JServerPages und Servlets nicht mehr weit.
Will man etwas "ernsthafter" Programmieren (=*viel* Geld damit verdienen) - also bei Firmen, dann bieten sich Java-Beans an. Damit lassen sich relativ simpel verteilte Systeme aufziehen...
Wenn sich hier ein paar Leutchen mit Fragen ansammeln bin ich gerne bereit, ein wenig Hilfestellung zu leisten.
Ein Teil dieser Mission ist sicherlich, Java auf noch breiterer Front zu etablieren, da mein IMHO der MS-Ansatz nicht das Gelbe vom Ei ist...
Erst mal Ok?
grtz
Black Dove
ThiefMaster
Am liebsten code ich PHP...
Black Dove
Da kann man nicht mal sagen: "Ist Geschmackssache!".
Ist es nämlich nicht. PHP und Java sind zwei Welten.
Schöne Metapher:
"Fahrn' wir heute mal mit dem Auto in die UNI?"
Antwort: "Neee, ich mag Achterbahnen viel lieber!"
Was ich damit sagen will:
Java: Auto
PHP: Achterbahn.
Meine Auffassung etwas näher erläutert: Java kann (naja, fast, aber mit dem Native Interface wirklich) alles. --> Mit ein wenig Arbeit könnte man ein Auto auch auf die Schienen der Achterbahn montieren. Anders herum wird kein Schuh draus...
(mit Servlets und JSP stehen dir im Vergleich zu PHP noch dutzende Parallelwelten offen..)
@ThiefMaster: Hab' auch noch nicht probiert. Tomcat läuft bei mir privat auch nur stand-alone. Reicht mir auch zum ab & an mal basteln. Ansonsten hat man für solche Aufgaben Labor-Ingeneure, die den ganzen Tag nix anderes machen, als irgendwelchen (mehr oder weniger komplexe) Software zu installieren, warten, customizen usw..
schönes Leben noch,
Black Dove
Saemon
ich versteh nich so recht, wozu Java gut sein soll.
Die Applets in Webseiten bringen nur Ärger. Viele User haben kein Java drauf oder keines was 100%ig funzt (wie ich). Spiele macht man besser in Flash und Buttons mit Javascript. Offlineanwendungen in Java sind auch nicht so toll, da nimmt man besser Delphi oder VB oder C++.
PHP ist ganz nett, aber auf Freewebspace nicht so toll und das meiste gibt's schon fertig -> man muss nicht selber coden.
Black Dove
Ok. Wollen wir das mal Stück für Stück abarbeiten
Zunächst mal: Applets, die sich zu 100% an die Spezifikationen halten (z.B. nur AWT..) funktionieren immer! Sie werden direkt vom Browser übersetzt bzw. der code direkt vom Browser ausgeführt. Dh. man muss kein extra Java Run-Time-Environment installieren.
Wenn man neue JRE's vorraussetzt, oder Swing (e.g.) verwenden will muss man auf Plug-Ins setzen. Aber auch das funktioniert meiner Erfahrung nach mit IE und NS ohne Probs.
(Einfach von SUN die JRE 1.4 saugen und installieren!)
Web-Spiele in Flash macht absolut Sinn. Dafür ist Java auch nicht gedacht; es würde aber durchaus in der gleichen Form funktionieren. Da Flash allerdings auf genau das ausgelegt ist (korrigiert mich, wenn ich mich irre, Flash ist nicht so mein Metier!) ist es damit natürlich einfacher, effizienter und schneller zu realisieren.
Was sog. (nennt man die so?) Offline-Anwendung angeht: Klar, wenn ich nur mal ein Fenster brauche, in dem ich drei Buttons klicke und irgendwas passiert, dann nehm' ich Delphi. Allerdings werden große und größere Projekte (ab ~25-30 Klassen) damit auch schwierig. Obwohl das noch gewöhnungssache ist.
Ich spreche aber u.a. auch von ernsthaften Programmier-Projekten, die z.B. auch eine reele Planung Verlangen. So was schreit nach UML (--> man nehme Rational Rose)...OOP-Modelle, Round-Trip-Engeneering.
Von VB will ich gar nicht sprechen (da kommt's mir gleich hoch)...aber auch Delphi ist da nicht mehr Mittel der Wahl.
Ein Vergleich mit C++ sei allerdings erlaubt. Aber dann zieht das Argument (ach nee, war ja kein Argument...) nicht, "da nimmt man besser C++". Kannst Du das denn begründen?
naja, wie auch immer
MMB
| Zitat: |
Original von ThiefMaster
Am liebsten code ich PHP... |
Mir gehts ähnlich und Delphi mach ich gern.
Saemon
| Zitat: |
Original von Black Dove
Ok. Wollen wir das mal Stück für Stück abarbeiten
Zunächst mal: Applets, die sich zu 100% an die Spezifikationen halten (z.B. nur AWT..) funktionieren immer! Sie werden direkt vom Browser übersetzt bzw. der code direkt vom Browser ausgeführt. Dh. man muss kein extra Java Run-Time-Environment installieren.
|
im Prinzip vielleicht. Nur in der Praxis gehen bei mir im IE manche Appelts nicht und in Opera gehen viele nicht -> ich meide Seiten, die Java einsetzen.
| Zitat: |
Ein Vergleich mit C++ sei allerdings erlaubt. Aber dann zieht das Argument (ach nee, war ja kein Argument...) nicht, "da nimmt man besser C++". Kannst Du das denn begründen?
|
damit ein Javaprogramm läuft muss man über 10 MB Runtimes drauf haben, ein C++ Proggie läuft so.
Und wieviele "richtige" Programme kennst du die in Java geschrieben sind? Und wie viele in C++?
| Zitat: |
Von VB will ich gar nicht sprechen (da kommt's mir gleich hoch).
|
gut, für Profis ist es vielleicht nicht so toll, aber wenn man mal eben was programmieren will...
wenn ich irgendein kleines Programm in VB schreibe und 10 min brauch, dann brauch ich in C++ mindestens eine Stunde, liegt aber vielleicht auch daran, dass ich VB gewohnt bin.
KingOfParachutez
Java suXx
- ich kanns nicht kontrollieren was im Browser abläuft! Bei JS kann ich mir wenigstens den Source ansehen...
- Java kann man nicht auf die Schnelle mit Notepad bearbeiten
- diese JavaNewsTicker und Java-Uhren rauben mir wertvolle CPU. Das schlimme: Bei 500Mhz kann man nicht mehr als 2 Java-Ticker-Seiten z.B. Sternshortnews laufen lassen, da wird es unmöglich ein Program zu öffnen: CPU Aulastung 100%
Da soll mir einer erz#hlen bla es gib moderne PC 2GHz und mehr... es gibt auch noch PCs die nicht so toll sind, die als Workstation und nicht als Gamestation gedacht sind und voll ausreichen.
Des weiteren hat Java viel zu viele "Tags", arbeitet scheiss langsam und es braucht Ewigkeiten bis man darin eingespielt ist...
Es gibt JS/CGI/PHP/PL für Browser. Offline reichen *.EXE
Meine Meinung dazu...
ThiefMaster
Von JavaApplets halte ich auch nicht viel...
Die brauchen selbst auf meinem 2 GHz PC noch ein paar Sekunden zum inizialisieren
Es gibt übrigens gute Java-Decompiler:
http://decafe.hypermart.net/decafe39.zip
ThiefMaster
| Zitat: |
| ...und gerade meine persönliche Passion - Java - scheint keinen Anklang zu finden |
DAs JAva-Forum existierte ja erst 2 Tage vor deinem Post...
Black Dove
| Zitat: |
Original von KingOfParachutez
Java suXx
- ich kanns nicht kontrollieren was im Browser abläuft! Bei JS kann ich mir wenigstens den Source ansehen...
|
JS und Java sind im übrigen zwei Welten. Sehen kannst Du den Code nicht, das stimmt.
Kleines Beispiel: Man nehme den Sintflut-Algorithmus und will damit (e.g.) eine Gleichung (mind. 5 Dimensionen)
lösen. Das ganze soll als Beispiel im Netz sein, am besten noch im graphischer Darstellung des Lösungsweges.
JS ist da ziemlich schnell am Ende, Java nicht. OK: braucht nicht jeder. Stimme ich zu.
Davon abgesehen: Die Kontrolle über das, "was in Deinem Browser läuft" hast Du bis zu einem gewissen Grade.
Java-Applets laufen auch in einer Sandbox, also keine Sorge, dass jemand Dein System platt macht..
| Zitat: |
- Java kann man nicht auf die Schnelle mit Notepad bearbeiten
|
Doch! und genau das ist das schöne! Schon mal probiert. Nicht meckern, wenn man keine Ahnung hat
| Zitat: |
- diese JavaNewsTicker und Java-Uhren rauben mir wertvolle CPU. Das schlimme: Bei 500Mhz kann man nicht mehr als 2 Java-Ticker-Seiten z.B. Sternshortnews laufen lassen, da wird es unmöglich ein Program zu öffnen: CPU Aulastung 100%
|
Das ist in der Tat noch ein kleines Prob. Allerdings würde mich dann interessieren, welches JRE Du am Laufen hast..
100% sollten die beiden nur brauchen, wenn a) was völlig misskonfiguriert ist oder b) total schlampig programmiert.
Ihr solltet nicht vergessen, dass auch Java JIT-Compiler verwendet.
| Zitat: |
Des weiteren hat Java viel zu viele "Tags", arbeitet scheiss langsam und es braucht Ewigkeiten bis man darin eingespielt ist...
|
Eh.. Was genau meinst Du mit "zu viele Tags"?
Gerade das Erlernen von Java ist IMHO 30% einfacher als C(++), alleine schon wegen der Pointer-Geschichten..
| Zitat: |
Es gibt JS/CGI/PHP/PL für Browser. Offline reichen *.EXE
|
Es gibt JSP, Servlets und Applets für Browser
Alleine schon die Verbreitung diverser Techniken mit einer Sprache sollte zum nachdenken anregen....
Offline läuft auch Java schön. Aber das ist eigentlich garnicht die Frage.
Primär kommt es darauf an, wie schnell und wie komplex ich mit einer Sprache etwas erreichen kann.
jaa.. nur mal so...
Black Dove
| Zitat: |
Original von ThiefMaster
Von JavaApplets halte ich auch nicht viel...
Die brauchen selbst auf meinem 2 GHz PC noch ein paar Sekunden zum inizialisieren
|
Hm. Was genau heisst in dem Zusammenhang Initialisieren?
Das ist in großem Masse davon abhängig, ob Du nen externen Interpreter verwendest... Oder den im Browser.
Aber davon mal abgesehen: Ich denke eher, dass was Du meinst sind die Ladezeiten der Klassen, iss das möglich?
KingOfParachutez
| Zitat: |
| Doch! und genau das ist das schöne! Schon mal probiert. Nicht meckern, wenn man keine Ahnung hat. |
...also wenn ich so ne .class datei öffne seh ich erstmal schwarz:
| Zitat: |
Ausschnitt:
û ù ¨ ü | ý ¥ ÿ ()I ()J ()Ljava/applet/AppletContext; ()Ljava/awt/Color; ()Ljava/awt/Container; ()Ljava/awt/Frame; ()Ljava/awt/Graphics; ()Ljava/awt/Rectangle; ()Ljava/lang/String; ()Ljava/lang/Thread; ()Ljava/net/URL; ()V ()[C ()[[Ljava/lang/String; (C)I (C)Ljava/lang/StringBuffer; (C)Z (CC)Ljava/lang/String; (CI)I (I)C (I)I (I)Ljava/lang/Object; (I)Ljava/lang/String; (I)Ljava/lang/StringBuffer; (I)V (II)I (II)Ljava/awt/Image; |
...mal eben mit Notepad bearbeiten... sicher
Dass zwischen Java und Javascript Welten liegen ist schon klar.... nur wenn ich mal eben auf Quelltext anzeigen geh sagen mir die Sources von Java erstmal garnichts. Klar kann man da was mit Image und color lesen aber mal eben Werte austauschen ist nicht drin, jedenfalls für mich nicht.
Vielleicht versteh ich das ganze auch falsch. Wie wärs wenn du ein kleines Beispiel (möglichst erklärt) anhängen würdest damit man sich mal ein Bild davon machen kann wie Java aufgebaut ist.
Ich bin auch nur "normaler Benutzer" des Internets, habe die Microsoft Java-Engine installiert. Zu konfigurieren hatte ich da nichts. Läuft und fertig... nur halt langsam. Kann ja nicht sein das M$ miserabel vorkonfigurierte Programme rausgibt (oder etwa doch?

)
Wäre nett wenn du mich mal aufklären würdest.
THX im voraus.
Black Dove
| Zitat: |
Original von KingOfParachutez
...also wenn ich so ne .class datei öffne seh ich erstmal schwarz:
| Zitat: |
Ausschnitt:
û ù ¨ ü | ý ¥ ÿ ()I ()J ()Ljava/applet/AppletContext; ()Ljava/awt/Color; ()Ljava/awt/Container; ()Ljava/awt/Frame; ()Ljava/awt/Graphics; ()Ljava/awt/Rectangle; ()Ljava/lang/String; ()Ljava/lang/Thread; ()Ljava/net/URL; ()V ()[C ()[[Ljava/lang/String; (C)I (C)Ljava/lang/StringBuffer; (C)Z (CC)Ljava/lang/String; (CI)I (I)C (I)I (I)Ljava/lang/Object; (I)Ljava/lang/String; (I)Ljava/lang/StringBuffer; (I)V (II)I (II)Ljava/awt/Image; |
...mal eben mit Notepad bearbeiten... sicher
|
Ehh. Ja. Das ist in der Tat kein Quellcode. Ok. Wenn Du so differenzierst hast Du recht. Allerdings sieht eine .Exe z.B. so aus:
| Zitat: |
[size=11]
MZ " ÿÿ e@ @
|
usw.
Ok. Was Du gesehen hast was der sog. Java ByteCode. Sowas wie "vorkompiliert". Das macht einfach die Ausführung durch den (e.g.) Interpreter schneller. Man macht aus einer .java Datei eine .class Datei (mittels javac-java compiler).
| Zitat: |
Vielleicht versteh ich das ganze auch falsch. Wie wärs wenn du ein kleines Beispiel (möglichst erklärt) anhängen würdest damit man sich mal ein Bild davon machen kann wie Java aufgebaut ist.
|
So sei es:
//Datei: HelloWorld.java
class HelloWorld {
public HelloWorld() //für die C++Menschen: Konstruktor (Überraschung

)
{
System.out.println("Hello World");
}
public static void main(String args[])
{
new HelloWorld();
}
}
Das geht noch einfacher (ohne Konstruktor). Man kann das ganz jetzt (wenn keine Tippfehler drin' sind) mit
javac HelloWorld.java
übersetzen. Dann hast Du wieder Deinen (schwer lesbaren) Bytecode. Danach einfach noch starten:
java HelloWorld
Nicht besonders anspruchsvoll, zeigt aber das Prinzip, oder?
| Zitat: |
Ich bin auch nur "normaler Benutzer" des Internets, habe die Microsoft Java-Engine installiert. Zu konfigurieren hatte ich da nichts. Läuft und fertig... nur halt langsam. Kann ja nicht sein das M$ miserabel vorkonfigurierte Programme rausgibt (oder etwa doch?
)
|
Jep. Die M$ JVM saugt ganz ordentlich. Nicht nur langsam, sondern auch noch schlecht implementiert (bzgl. diverser Themen-ein aufzählen spar' ich mir..)
| Zitat: |
Wäre nett wenn du mich mal aufklären würdest.
THX im voraus. |
Hat's geholfen?
Ach ja: eine gescheite (nicht eine, DIE) JVM (Sun) findest Du unter:
http://java.sun.com
Black Dove
Kann ich auch nicht so stehen lassen
Bin halt ein kleiner Java-Anhänger, 'tschuldigung
| Zitat: |
Original von Saemon
damit ein Javaprogramm läuft muss man über 10 MB Runtimes drauf haben, ein C++ Proggie läuft so.
|
Die Runtimes für eine .exe-Datei ist wesentlich größer:
Dein Betriebssystem - im Falle aktueller Windows-Versionen übersteigt das IMHO 10 MB
| Zitat: |
Und wieviele "richtige" Programme kennst du die in Java geschrieben sind? Und wie viele in C++?
|
Hm. Kommt darauf an, wo man sich bewegt. Viele große Firmen setzen inzwischen auf Java. Man nehme z.B. SAP (mit R/3), die jetzt von ABAP abweichen und auch Java implementieren.
Aktuelle Entwicklungen gerade im B2B Sektor setzen auf Java. Gerade weil sich damit so lässig Geschäftsprozesse abbilden lassen....
Auf der Endkunden-Seite: Java2MicroEdition. Java-Handys. z.B. wenn man Java kann ist das kein Prob' mehr..
soo. jetzt fühl' ich mich besser
KingOfParachutez
@ Black Dove:

Man dankt für die Info!
PS:
http://absurd.org <->

"Ich kann das ned so kontrollieren" ...aber du verstehst schon

Deswegen ist das für mich die krasseste Site im web...
Xenon
| Zitat: |
Original von ThiefMaster
Eigentlich will ich ja JSP lernen, aber irgendwie schaffe ich es nicht, Tomcat in Apache zu integrieren (Standalone funktioniert er) |
hmm also was ich bisher von JSP gehört hab, soll das ding noch furchtbar lahm sein und verdammt buggy - also bis das ding performancemässig auf der höhe von php ist, bleibe ich bei letzterem...
allerdings wenn JSP mal benutzbar ist...
java ist sehr viel "ernsthafter" als php - siehe variablendeklarationen etc.
auch die schon genannten dyn.listen, hash-tables, bäume, (und graphen) sind sehr viel besser zu realisieren als bei php... habt ihr schonmal versucht, ne lineare liste in php zu coden? ich habs versucht - bin gnadenlos gescheitert...
vor allem schätze ich aber in java die OOP - was ja in php nur ein unterentwickeltes zusatzfeature ist, was unter "ferner liefen" behandelt wird...
sicher - ich code auch mehr/lieber php: man schreibt ein paar zeilen und hat shcon was auf dem bildschirm - ohne kompilieren etc etc
aber sobald es daran geht, ernsthafte proggis zu coden, ist mir php zu schwammig *G*