(Neuigkeiten...) Java ist tot!
-
Original erstellt von <KnownAsBitch>:
**gut die volle portabilität ist sicherlich eine tolle sache......aber ist es so schlimm wenn man ein c proggie eben nochmal unter unix
kompilieren muß ?
**Wenn es nur das kompilieren wäre. Es ist unglaublich kompliziert ein Programm in C/C++ zu schreiben, das mit demselben source unter Unix UND Windows auch nur kompiliert, insbesondere wenn es an grafische Oberflächen geht.
auf jeder 2. seite kommen hinweise, die sich auf
kompatibilitätsprobleme von methoden oder klassen mit explorern usw
beziehen...Das hängt vermutlich nur mit der schlechten JavaVM zusammen, die im IE drinsteckt. Wenn man sich das JRE1.4 raufhaut, soltle das kein Ding sein.
das swing als weiterentwicklung des awt scheint mir eine tolle
sache....aber für mich als newbie stellt sich die frage was java apps
mit denen dieses ja (bis jetzt ) nur unterstützt wird für vorteile
gegenüber z.b. visualbasic apps haben......
(außer der 5 fachen menge an code.....)Java ist meineer persönlichen Meinung nach mächtiger. Den Vergleich den du da anstellst, kannst du genauso zwischen C/C++ und VB stellen, da wirst du auch mehr Code haben, hast aber definitiv mehr Möglichkeiten.
ich wäre euch dankbar wenn ihr mir eure meinung zur entwicklung der
programmiersprache java im besonderen und auch der anderen sprachen
äußern würdet.....in was für eine kategorie kann java eingeordnet werden ?
[/QB]Also ich denke dass Java sich inzwischen gut genug etabliert hab und eine Zukunft hat. Inzwischen läuft Java-Code dank Just-In-Time-Compilern, Hotspot etc. langsam halbwegs vernünftig. Außerdem zahlt sich die Plattformunabhängigkeit oft aus, mein größeres Projekt z.B. schreibe ich in Java, damit die GUI problemlos unter Windows, Linux, Solaris, ... läuft ohne dass ich viel aufwand treiben muss und mich mit einer der beiden APIs rumschlagen muss.
Java hat noch nichts in form von Linux, Banksystemen geleistet, dazu ist es zu spät entstanden. Betriebssysteme Programmiert man z.B. in C seitdem jemand eines der ersten Unix damit geschrieben hat. Java hat dennoch schon für Applets gesorgt und ich habe auhc schon einige größere Systeme damit gesehen, auch zeitkritische. Das Fahrplan/Routenfindungssystem vom HVV (Hamburger Bus&Bahn) z.B. wird auf Java ausgeliefert, obwohl eine Routenplanung in einer Großstadt durchaus eine zeitkritische Anwendung ist. Es spart der Produktionsfirma eindeutig Mehrkosten für die Entwicklung von verschiedenen Versionen.
Sobald (falls) Java sich an die Geschwindigkeit von C annährt, wird man wesentlich mehr Java auf dem Markt sehen, es bleibt doch imemrnoch ein Geschwindigkeitsverlust. Und wie Gregor sagte bleibt Java die Systemnahe Programmierung natürlich vorenthalten. Aber Java ist halt eine Anwendungssprache und keine Systemsprache.
Was andere Sprachen angeht, nun ich denke C wird seine Position als Systemsprache nie verlieren und auf dem Anwendungsmarkt mit Java, C#, VB sich ewig streiten. Bei den anderen Sprachen wie COBOL und FORTRAN kann man nur das Aussterben hoffen aber ich denke auch die werden noch lange in ihren Metiers bleiben.Genug geredet, gute nacht auch
-
Bei den anderen Sprachen wie COBOL und FORTRAN kann man nur das Aussterben hoffen
...also wenn ich mir die Charts bei Gulp angucke, dann sieht es tatsächlich so aus, als ob Cobol langsam an Bedeutung verliert. ...ganz langsam und vielleicht ist das auch nur temporär.
[ Dieser Beitrag wurde am 09.02.2003 um 03:29 Uhr von Gregor editiert. ]
-
Eigentlich sollte mann hier nichts mehr hinzufügen,
weil mann das so einwandfrei stehen lassen kann.Jedoch will ich einen besonderen Vorteil von Java
noch in den Raum stellen.Netzwerkprogrammierung, EJB, RMI, RPC, RPC-XML, SOAP,
CORBA, JDBC, Transaktionen, JNDI und und und
es ist schier unglaublich wie "relativ" Einfach einem
diese Dinge mit Java gemacht werden.
Das lässt viel Spielraum für die eigentliche Logic,
da ein guter Applikations Server soviel abnimmt.Die Kombination:
Datenbank, EJB, Servlets, JSP, XML -> XSLT , HTML
sucht seinesgleichen.
Sowas ist z.b mit C++ nicht möglich (ohne vergleichweisen
aufwand).
Dieses Thema ist so gross, das ich bis heute mich noch
nicht mit Swing beschäftigt habe, weil mich J2EE doch
schon zuweit ausreizt.
-
jaja so ist das wenn man über die suchfunktion in einen beitrag stolpert und meint seinen senf dazu abgeben zu müssen....
[ Dieser Beitrag wurde am 09.07.2003 um 18:55 Uhr von Floh editiert. ]
-
Willst du den Thread reanimieren?
-
also Java hat meiner Meinung nach vorerst nur Zukunft im INet-Bereich. Wenn es auf "richtige" und halbwegs performante Programmierung angeht, kommt man an C/C++ bzw. den "alten" Sprachen nicht vorbei.
Ich arbeite bei einer großen Gesellschaft. Dort haben wir zwischenzeitlich relativ wenig Assembler und sehr viel PL1-Programme. Was meint Ihr, was es für einen Geld- und Zeitaufwand kostet, das alles (tausende von Programmen!) in Java umzuprogrammieren. Insbesondere wird das nicht klappen, weil IBM sowas auf dem Mainfraim noch nicht anbietet.
Außerdem haben nicht OOP-Programmiersprachen in Bezug Performance klar die Nase vorn! Und das sag ich nich aus reiner Besserwisserei. Wenn man - unter Verwendung von OOP-artigen Konzepten seine Programme 3 Tage auf dem Mainframe laufen lassen muß, um den Bestand durchzuackern oder nur einen halben Tag ohne diesen "Schnickschnack", dann sieht man, daß Performance nicht unerheblich ist! Und da hat C++ und Java deutliche Schwächen, wenn sie natürlich auch schnellere Programmentwicklung zuläßt. Aber dieser Schuß kann bei schlechter Planung auch extrem nach hinten losgehen! Wenn IBM dank schneller Prozessoren nich nachhilft, sieht man da halt alt aus...
Also jedes Ding hat seine Daseinsberechtigung und Java is garantiert KEINE Wunderwaffe und sicher nich die letzte Sprache bis zu unserer gemeinsamen Rente.
-
Original erstellt von JFK:
**Insbesondere wird das nicht klappen, weil IBM sowas auf dem Mainfraim noch nicht anbietet.
**Was bietet IBM nicht an? Ich habe nur eben mal nach "IBM Mainframe Java" gegoogelt und muss feststellen, dass da doch ne ganze Menge Seiten gefunden werden. Das läßt IMHO darauf schließen, dass Java ziemlich massiv auf IBM Mainframes eingesetzt wird.
[ Dieser Beitrag wurde am 09.07.2003 um 22:22 Uhr von Gregor editiert. ]
-
nope, wollte den threat nicht reanimieren
war allerdings zu blöd mein posting wieder zu löschen
-
Wenn es auf "richtige" und halbwegs performante Programmierung angeht, kommt man an C/C++ bzw. den "alten" Sprachen nicht vorbei.
also ich finde es gibt schon einige Beispiele für "richtige" (und gute) Programme die mit Java programmiert sind - auch außerhalb des INet-Bereichs: zB Eclipse.
Das objektorientiert gecodete Programme grundsätzlich langsamer laufen müssen als "normale" glaub ich eingentlich auch nicht... letzen Endes kommt es doch nur drauf an wie der OO-Code in Maschinencode (oder Bytecode oder JIT-Maschinencode) übersetzt wird. Is einfach ne Frage eines guten und "intelligenten" Compilers.
-
@Gregor: kennst Du ein größeres Unternehmen, welches seinen Mainframe per Java programmiert? Ich meine wirkliche Java-Module auf dem Mainframe. Im Zusammenspiel mit PL1, Cobol, C oder Assembler?
Wie auch immer: bei uns gibt es teilweise auch C-Module wegen der Portabilität auf den PC. Bis das aber mal richtig in er Breite kommt, wird noch viel Wasser die deutschen Flüsse runterrauschen. Wenn man nich nur 4 IT-Mitarbeiter hat bzw. nur externe Firmen seine EDV programmieren läßt, sondern > 500 Mitarbeiter hat, dann macht man nicht jeden Trend blind mit, weil Firmen im Gegensatz zu Uni's ihr Geld verdienen müssen und die EDV in dem Fall kein Selbstzweck ist.
Insofern gehört für mich Java immer noch unter die Rubrik PC & Internet.
-
jedenfalls schadet es sicher nicht, java zu können..weil bis in 10 Jahren sind Java-Programme meiner Ausschau nach genausoschnell wie C++-Programme. Und ich glaub bei einem Punkt kann man kaum widersprechen: java ist produktiver (schneller zu coden) als c, c++ oder assembler und wenn schon mit Sachen wie "kein Selbstweck" argumentiert wird..schnelle Entwicklungszeit ist extrem wichtig für "echte" Unternehmen
-
Original erstellt von crass:
Und ich glaub bei einem Punkt kann man kaum widersprechen: java ist produktiver (schneller zu coden) als c, c++ oder assembler und wenn schon mit Sachen wie "kein Selbstweck" argumentiert wird..schnelle Entwicklungszeit ist extrem wichtig für "echte" Unternehmenja, für kleine sachen.
für noch kleiner sachen ist vb noch produktiver.
bei großen sachen gehste aber tot, wenn die sprache dich dermaßen beschneidet und im gegenzug nichmal brauchbare destruktoren hat.
-
seh ich nicht so.. java hat alles was man für komplette objektorientierte Programmierung braucht.( abgesehen vielleicht von Mehrfachvererbung, was aber durch interface implementen ausreichend ersetzt wird, Destruktoren seh ich nicht als Vorteil). Der Unterschied zwischen VB und Java ist imo: Java ist einfach (aber für alles geeignet), während VB simpel (leicht anzuwenden aber begrenzt) ist.
[ Dieser Beitrag wurde am 10.07.2003 um 21:05 Uhr von crass editiert. ]
[ Dieser Beitrag wurde am 10.07.2003 um 21:05 Uhr von crass editiert. ]
-
Hat OOP alles was man braucht?
-
Original erstellt von crass:
seh ich nicht so.. java hat alles was man für komplette objektorientierte Programmierung braucht.(Abgesehen vielleicht von Mehrfachvererbung, was aber durch interface implementen ausreichend ersetzt wird). Der Unterschied zwischen VB und Java ist imo: Java ist einfach (aber für alles geeignet), während VB simpel (leicht anzuwenden aber begrenzt) ist.destruktoren kann man aber nicht gut benutzen, wenn sie irgendwann oder gar nicht fliegen. aureichend ersetzt wird da vielleicht was für kleine projekte. keine sprache hat alles, was man braucht. es gibt aber einbe, die besonders wenig hat.
-
Sollte man unterschiedliche Programmierparadigmen wild mischen?
-
Gregor: Ja sicher.
-
Original erstellt von volkard:
**
destruktoren kann man aber nicht gut benutzen, wenn sie irgendwann oder gar nicht fliegen. aureichend ersetzt wird da vielleicht was für kleine projekte. keine sprache hat alles, was man braucht. es gibt aber einbe, die besonders wenig hat.**Assembler?!
Java bietet keine Destruktoren, richtig. Aber genau, wie du in C++ beim Aufruf von delete explizit eine Stelle angibst, an der das Objekt zerstört werden soll und der Destruktor aufgerufen werden soll, kannst du in Java an dieser Stelle einfach einen Methodenaufruf setzen und die Referenz auf das Objekt anschließend auf null setzen. Die Methode wird garantiert immer ausgeführt, wo ist also das Problem?
[ Dieser Beitrag wurde am 10.07.2003 um 21:13 Uhr von Gregor editiert. ]
-
Hat OOP alles was man braucht?
ja
...kannst du in Java an dieser Stelle einfach einen Methodenaufruf setzen und die Referenz auf das Objekt anschließend auf null setzen. Die Methode wird garantiert immer ausgeführt, wo ist also das Problem?
stimmt völlig!
[ Dieser Beitrag wurde am 10.07.2003 um 21:14 Uhr von crass editiert. ]
-
Original erstellt von Gregor:
kannst du in Java an dieser Stelle einfach einen Methodenaufruf setzen und die Referenz auf das Objekt anschließend auf null setzen. Die Methode wird garantiert immer ausgeführt, wo ist also das Problem?[/QB]ich soll per hand auf null setzen? und im falle einer exception am besten für jedes lokale objekt per hand? genau da liegt ein hund begraben. das macht doch keine sau. und destruktoren, die ne woche später zuschlagen, sind untragbar.