PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : An die Java-Programmierer



Seiten : [1] 2

Reality
27.06.04, 12:14
Hi,
ich will mal ein paar Java-Programmierer hier fragen, ob sie sich nicht auch total hilflos vorkommen, da man mit Java nicht auf das System oder Hardware zugreifen kann.
Gut, mit JNI geht das, aber dazu muss man wiederum eine andere Sprache können wie C oder C++.
Ich verfluche den Tag, wo uns unser Lehrer gesagt hat, dass er Java und nicht mehr wie die anderen Klassen zuvor C++ unterrichtet.

Liebe Grüße
Reality

saibotrebeil
27.06.04, 12:47
und was will der autor uns damit sagen?

dipesh
27.06.04, 13:14
Ob du es glaubst oder nicht, die von dir bemängelte Fähigkeit direkt auf das darunterliegende OS oder die Hardware zuzugreifen sorgt dafür, dass eine Java-App (im Regelfall) ohne auch nur eine Änderung im Code durchführen zu müssen auf verschiedenen Plattformen und verschiedener Hardware läuft. Ich würde dies mehr als Pluspunkt sehen. Wenn du das Bedürfnis hast einen Hardwarenahen Treiber zu programmieren, wirst du das sowieso nicht mit Java machen wollen (aber auch nicht umbedingt mit C++).

comrad
27.06.04, 13:17
Hi,
ich will mal ein paar Java-Programmierer hier fragen, ob sie sich nicht auch total hilflos vorkommen, da man mit Java nicht auf das System oder Hardware zugreifen kann.


Weil Java für soetwas einfach nicht vorgesehen ist. Du kannst ein paar Systeminformationen auslesen, aber das wars.
Falls du auf solche Probleme stösst, sollte man sich fragen, ob man die richtige Programmiersprache für sein Problem gewählt hat. Ein Spiel schreibt man ja auch nicht in Fortran.

Reality
27.06.04, 13:19
Ob du es glaubst oder nicht, die von dir bemängelte Fähigkeit direkt auf das darunterliegende OS oder die Hardware zuzugreifen sorgt dafür, dass eine Java-App (im Regelfall) ohne auch nur eine Änderung im Code durchführen zu müssen auf verschiedenen Plattformen und verschiedener Hardware läuft. Ich würde dies mehr als Pluspunkt sehen. Wenn du das Bedürfnis hast einen Hardwarenahen Treiber zu programmieren, wirst du das sowieso nicht mit Java machen wollen (aber auch nicht umbedingt mit C++).

Wenn man das will, kann man mit ANSI C/C++ und beispielsweise GTK+, fast das gleiche erreichen. Man muss es nur für das jeweilige System neu kompilieren.
Und mit CGI kann ich auch meine Anwendungen für das Internet schreiben.

Liebe Grüße
Reality

McHurt
27.06.04, 17:35
Und mit CGI kann ich auch meine Anwendungen für das Internet schreiben.


Klar, aber wie? Ich wage einmal zu bezweifeln, dass CGI der ganzen JSP/Servlets-Geschichte das Wasser reichen mag. Vorallem wenn dann noch Struts ins Spiel kommt.

Zum Topic, wie schon manche hier gesagt haben, jeder Sprache seinen Zweck. Java eignet sich in meinen Augen ausgezeichnet für Webapplikationen oder Business-Anwendungen, die zur Verfügung stehenden Frameworks bieten grossartiges. Schon für "normale" Stand-Alone Programme finde ich Java nur begrenzt nutzbar, Swing ist halt schon ziemlich langsam (hoffe mit der 1.5 auf Besserung).

Auch dieses "Write-once-run-anywhere"-blabla zieht nicht wirklich, da dies einfach nicht stimmt. Ok, vielfach klappt das ganze ohne Probleme, aber wenn es dazu kommt, viel Spass (man denke sich, das drucken funktioniert unter Windows und Linux, jedoch nicht unter Mac).

Kurz, von J2SE bin ich nicht mehr so Fan wie auch schon, J2EE jedoch überzeugt mich mehr denn je.

Wenn du Hardware-Nah programmieren willst, dann würde ich in C++/QT eine Alternative für dich sehen. IMHO ist das genauso elegant zu programmieren und auch etwa in dem Masse plattformunabhängig wie Java (jedoch musst du hier neukompilieren).

Greetz
McHurt

Sym
27.06.04, 17:39
Wenn man das will, kann man mit ANSI C/C++ und beispielsweise GTK+, fast das gleiche erreichen. Man muss es nur für das jeweilige System neu kompilieren.
Und mit CGI kann ich auch meine Anwendungen für das Internet schreiben.

Liebe Grüße
Reality

Ja, Du musst immer neu kompilieren. Das brauche ich hier nicht. Allerdings geht das auch wirklich nur mit AnsiC/C++. Ausserdem hängt das Ergebnis auch immer vom Kompiler ab.
Die Portierung ist hier wesentlich komplizierter - obwohl es bei Java manchmal auch Probleme gibt.
Aber Java hat nicht nur den Vorteil der Plattformunabhängigkeit...

deluxeboy
27.06.04, 17:39
Java ist keine Programmiersprache sondern eine Kranktheit!!!

artspin
27.06.04, 17:54
Java ist keine Krankheit, sondern wurde nur entwickelt um Schüler und Studenten objektorientiert zu ärgern...
Hab vor einer Woche Java-Klausur schreiben müssen.

Ciao
-=<artSpin>=-

Reality
27.06.04, 17:59
Java ist keine Programmiersprache sondern eine Kranktheit!!!
:D

@all: Das neukompilieren mit ANSI C/C++ und QT ist nun wirklich kein Problem und würde mich auch gar nicht stören.
Die Schule zwingt mich eben zu Java...
In den Sommerferien werde ich mich jedoch etwas mit C beschäftigen.
Noch eine Frage: Sind QT und GTK+ langsamer und brauchen mehr Resourcen wie wenn man jetzt eine Windowsapplikation schreibt oder eine für Gnome oder eine andere WM?

Liebe Grüße
Reality

gaansch
27.06.04, 18:38
Java ist keine Krankheit, sondern wurde nur entwickelt um Schüler und Studenten objektorientiert zu ärgern...
Hab vor einer Woche Java-Klausur schreiben müssen.

Ciao
-=<artSpin>=-

Ja und, ich schreib nächste Woche ne Klausur über Java. Wo ist das Problem? Ich find Java ist ne echt einfache Programmiersprache, wenn man verstanden hat, was OOP ist und wie das funktioniert.

Gut, man kann sich darüber streiten, ob Java nicht manchmal ein wenig langsam ist, insbesondere wenn man mit mehreren Threads arbeitet, aber da gibt es mit Sicherheit auch noch Wege und Möglichkeiten das zu optimieren.

mamue
27.06.04, 18:47
Meine Güte, das kann doch nicht wahr sein!
Schon vor über zehn Jahren gab es diese Diskussion mit dem Tenor: "Mein Pascal ist besser als Dein C!" So ein Schwachsinn. Als ob die Wahl der Sprache so wichtig wäre. Softwareentwicklung besteht zu kaum mehr als 30% aus dem eigentlich coden, der Rest ist Analyse, Design und Testen und da spielt die Programmiersprache eigentlich keine Rolle. Java ist eine Objectorientierte Sprache, mehr nicht. Du kannst ebenso gut C++, Smalltalk oder Object COBOL nehmen. Aber wundere Dich nicht über die komplexe Syntax von C++ oder die komplexen Bibliotheken von Smalltalk. Java ist hervorragend dokumentiert, bietet frei verfügbare compiler und meist leicht verständliche Bibliotheken, die sich alle gut an den Standard halten.
Das heisst aber nicht, dass Java der Stein der Weisen ist und man jetzt alles in Java machen sollte. Andererseits: Wenn ich etwas in kürzerer Zeit, also mit weniger Aufwand in Java erstellen kann, warum soll ich dann C++ nehmen? Weil's en Vogue ist?
[gehässig]
Lernt Software entwickeln und überlasst das coden dressierten Elektrotechnikern!
[/gehässig]

mamue

peschmae
27.06.04, 20:23
Noch eine Frage: Sind QT und GTK+ langsamer und brauchen mehr Resourcen wie wenn man jetzt eine Windowsapplikation schreibt oder eine für Gnome oder eine andere WM?


Hrm. Der Satz ist so recht sinnlos und inkorrekt und führt mich deshalb zur Vermutung dass du keine Ahnung hast.

Viel Spass noch beim Flamen.

MfG Peschmä

Reality
27.06.04, 21:31
Hi,

Hrm. Der Satz ist so recht sinnlos und inkorrekt und führt mich deshalb zur Vermutung dass du keine Ahnung hast.

Viel Spass noch beim Flamen.

es war eine Frage und keine Aussage! Ich las zumindest mal, dass QT3 ziemlich resourcen-fressend sein soll.
Ich vergleiche das mit Swing und AWT. Während AWT auf das System zugreift, hat Swing eine eigene GUI und ist deshalb langsamer und resourcenfressender.

Liebe Grüße
Reality

cybercrow
27.06.04, 21:39
Wenn du Programm mit reinem Qt oder GTK+ programmierst laufen die auf allen Systemen und DEs/WMs sehr gut.
Kritischer wird es erst wenn man noch die ganzen KDE-libs (bei Qt) oder die ganzen gnome-libs (bei GTK+) verwendet. Aber ich empfehle sowieso bei Anwendungen auf DE libs zu verzichten, dass bring in 99% keine Vorteile, damit schränkt man nur den Anwenderkreis und die Platformunabhängigkeit ein!

mamue
27.06.04, 22:32
Hi,
Ich vergleiche das mit Swing und AWT. Während AWT auf das System zugreift, hat Swing eine eigene GUI und ist deshalb langsamer und resourcenfressender.
Reality

Swing hat keine eigene GUI.
Bei AWT hat jedes Widget (Button, diverse Eingabefelder, Tabelle) ein eigenes natives peer an das die OPerationen wie Neuzeichnen delegiert werden. Swing hat ein eigenes Modell und erst die primitiven Operationen werden an das darunter liegende OS weitergegeben.
In der Tat ist Swing langsamer und "fetter" als AWT. Die Eclipse (richtiger Name?) API empfinden viele als eine gute Alternative.
Die Vergleiche mit QT, Gnome oder andere hinken, denn bei JAVA ist hier die VM zwischen der JAVA-GUI und dem OS-Window Manager. Bei QT und anderen ist es nur eine Frage der Bibliotheken. Bei JAVA ist daher eine Abstraktionsebene mehr dazwischen - das ist zunächst einmal weder gut noch schlecht, es ist halt prinzipbedingt so.

mamue

Who-T
27.06.04, 23:03
die von eclipse verwendete API heißt SWT, nur zur vervollständigung

HEMIcuda
28.06.04, 09:19
Hrm. Der Satz ist so recht sinnlos und inkorrekt und führt mich deshalb zur Vermutung dass du keine Ahnung hast.
Hat aber ganz schoen lange gedauert, bis Du diese Erkenntnis erlangt hast :D

'cuda

peschmae
28.06.04, 10:33
Den Verdacht hatte ich schon vorher. Aber so richtig greifbar wurde es erst dort.
Ausserdem hatte ich den Thread erst entdeckt als die Aussage schon dort stand - und wieso sich mit minderwertigen Beweismitteln herumschlagen wen es da sowas gibt? :p

MfG Peschmä

Reality
28.06.04, 14:52
Hi peschmae,
wenn du mir etwas produktives zu sagen hast, dann kannst du das gerne tun. Alles andere kannst du unterlassen, denn das ist nur Wichtigtuerei, um dir und allen anderen zu beweisen wie toll du doch bist.
Du hättest genauso schreiben können "Um 5 Uhr fährt ein Bus". Das soll dir jetzt verdeutlichen wie sinnlos und flameverdächtig dein Beitrag war.

Liebe Grüße
Reality

Sym
28.06.04, 15:08
Hi,

Du flamst (was für ein komisches Denglish) hier (bzgl. Java) schon ein wenig rum. Was mich da noch wundert, ist der Link in Deiner Sig. ;)

fs111
28.06.04, 15:30
Hi peschmae,
wenn du mir etwas produktives zu sagen hast, dann kannst du das gerne tun. Alles andere kannst du unterlassen, denn das ist nur Wichtigtuerei, um dir und allen anderen zu beweisen wie toll du doch bist.
Du hättest genauso schreiben können "Um 5 Uhr fährt ein Bus". Das soll dir jetzt verdeutlichen wie sinnlos und flameverdächtig dein Beitrag war.

Liebe Grüße
Reality


Nur weil Du den Sinn von Java nicht verstehst musst Du nicht andere Leute anmachen, wenn sie anderer Ansicht sind als Du.

fs111

Reality
28.06.04, 15:55
Nur weil Du den Sinn von Java nicht verstehst musst Du nicht andere Leute anmachen, wenn sie anderer Ansicht sind als Du.

Vielleicht liest du mal seine Postings in dem Thread nochmal durch, denn er hat nichts zu Java beigetragen, sondern wurde nur persönlich.

Liebe Grüße
Reality

Sym
28.06.04, 15:59
Vielleicht liest du mal seine Postings in dem Thread nochmal durch, denn er hat nichts zu Java beigetragen, sondern wurde nur persönlich.

Liebe Grüße
Reality

Sowas machst Du nie? Ausserdem solltest Du mal hinter den Zeilen lesen. Vielleicht hat er nicht geantwortet, weil er meinte, dass Du nur flamen möchtest und deshalb keine wirkliche Antwort verdienst?

Aber nur vielleicht...

Wenn Du das aber anders siehst - was durchaus sein kann - hast Du die Möglichkeit ihn zu überlesen, oder seine Posting sogar zu blocken. ;)

Aber eine Art von "Rumgeheule" braucht man doch wirklich nicht, oder? :rolleyes:

Reality
28.06.04, 16:31
Hi,

Vielleicht hat er nicht geantwortet, weil er meinte, dass Du nur flamen möchtest und deshalb keine wirkliche Antwort verdienst?
:confused: Er hat geantwortet, aber eben nur Müll!


Wenn Du das aber anders siehst - was durchaus sein kann - hast Du die Möglichkeit ihn zu überlesen, oder seine Posting sogar zu blocken. ;)

Was ist daran falsch, wenn ich ihn auf sein "Tick" (Wichtigtuerei, Aufmerksamkeit erregen und Selbstbestätigung) aufmerksam mache und ihm sagen, dass sein Posting unnütze Informationen übermittelt?


Aber eine Art von "Rumgeheule" braucht man doch wirklich nicht, oder? :rolleyes:
Ja..., ich hab rumgeheult...

Liebe Grüße
Reality

EDIT: Lies nochmal sein erstes Posting. Dabei zitierte er mich, wo ich eine Frage in den Raum warf und kam dumm angelaufen.

Sym
28.06.04, 16:38
Ist schon Ok,

Du willst es nicht verstehen. Wie schon gesagt, muss man auch zwischen den Zeilen lesen können. Was ich mich antworten meinte, war die Beantwortung Deiner Frage.

Ich hielt es nicht für einen Tick, sondern für (wenn auch leichtes) Flaming. Peschmae hat es dann ausgesprochen - und das ist alles, was er wollte.

Es muss nicht jeder, der in deinem Thread antwortet, sich auch darauf beziehen!

Und das Du hier immer wieder darauf herumreitest, beweist wohl das Rumheulen. ;)

Reality
28.06.04, 16:47
Na,.... jetzt wird mir einiges klarer. peschmae und du seid beide Moderatoren in http://www.javaforen.de/. Kam mir schon seltsam vor, als du mit "Zwischen den Zeilen lesen" argumentiert hast!

Viel Spaß weiterhin.
Auf eure Beiträge werde ich in diesen Thread nicht mehr antworten.

Liebe Grüße
Reality

Sym
28.06.04, 16:50
Na,.... jetzt wird mir einiges klarer. peschmae und du seid beide Moderatoren in http://www.javaforen.de/. Kam mir schon seltsam vor, als du mit "Zwischen den Zeilen lesen" argumentiert hast!

Viel Spaß weiterhin.
Auf eure Beiträge werde ich in diesen Thread nicht mehr antworten.

Liebe Grüße
Reality

Lol, wie Du einen Zusammenhang zu "zwischen den Zeilen lesen" bekommst, weiß ich wirklich nicht. :rolleyes:

Aber wie Du willst.

peschmae
28.06.04, 17:53
Du willst es definitiv nicht verstehen. Ich versuchs trotzdem mal ganz langsam.
Hat allerdings überhaupt nichts mit dem Thema zu tun wie du richtig bemerkt hast.


Noch eine Frage: Sind QT und GTK+ langsamer und brauchen mehr Resourcen wie wenn man jetzt eine Windowsapplikation schreibt oder eine für Gnome oder eine andere WM?


1. "Gnome oder eine andere WM" - Gnome ist kein WM (nur ein Detail zum Anfangen)
2. Die Gnome-Bibliotheken basieren auf Gtk. D.h. eine Gnome-App linkt gegen Gtk _und_ die Gnome-Libs und ist deshalb wenn schon langsamer als eine Gtk-App und braucht auch sicher mehr Speicher.
3. Qt und Gtk sind verschieden - die kannst du nicht so einfach in einen Topf werfen à la "beide sind langsamer" oder anders
4. Gtk und Qt Apps (*in einen Topf werf*) sind Windowsapplikationen wenn sie auf Windows laufen. Mit was willst du denn nun was vergleichen? Mit der MFC? Mit direkt auf der Win32-Api aufbauenden Programmen?
5. Apps schreibt man nicht "für einen WM" - ein WM hat so gut wie nie ein eigenes spezielles Toolkit (ok, mit Ausnahme von Enlightenment)

So. Ich hab mich aufgeregt und rege mich immer noch auf. Deshalb lass ich ab jetzt das posten hier bleiben.
Vor allem wenn du recht haltlose Anschuldigungen durch den Raum wirfst bzw. Verschwörungstheorien entwickelst. Das kannst du offenbar bestens ohne mich.

Und um mich zu wiederholen: Viel Spass noch beim Flamen.
Du hast mich nämlich noch überhaupt nicht davon überzeugt dass der Thread jemals für was anderes war. Eher im Gegenteil.

MfG Peschmä

Blackice
28.06.04, 21:08
Ein Spiel schreibt man ja auch nicht in Fortran.
wär aber mal ne Leistung
:ugly: :eek: