Ex Visual Basic Programmierer will Erwachsen werden

Status
Nicht offen für weitere Antworten.
R

RubenZ

Gast
Halllo!


Ich möchte gerne zu Java wechseln, da ich kein Geld habe mir Visual Studio.NET zu kaufen und weil ich keine Lust habe alle Nase lang etwas neues zu lernen weil Microsoft wieder neue Ideen hatte.

Auf C++ habe ich keine Lust, da GUI Programmierung darunter ein Krampf ist.

Also nun ein paar Fragen:

Kann ich direkt auf die Win32 API zugreifen? Wenn ja, ist das schwierig?

Kann ich meine Programme zu *.exe kompilieren und sie auch ohne Virtual Machine laufen lassen?

Laufen Java Progamme wirklich auf beiden Welten (Linux / Windows) ohne etwas am Source zu ändern?

Dank und Gruß

Ruben
 

schoppenhauer_entfernt_

Bekanntes Mitglied
Also eines kann ich mit Sicherheit sagen. Java ist auch auf Linux verfügbar, solange nur die Virtual Machine installiert ist. Es liegt ja gerade in der Intention von Java, möglichst Plattformunabhängig zu sein.
Weiterhin denke ich nicht, dass man jar-Archive in Exe-Dateien umwandeln kann, die dann ausgeführt werden können. Das wäre ja auch völliger Schwachsinn, weil damit ja die Plattformunabhängigkeit flöten ginge. Außerdem hat die Virtual Machine sowieso jeder installiert. Immer mehrere größere Programme werden in Java geschrieben. Irgendwoanders in diesem Forum hat schon mal jemand gefragt, ob man Jar in Exe umwandeln kann. Müsstest du mal nachschaun. Der hat da ne präzise antwort gegeben.
Direkt auf die Win32API kann man, soweit ich weiß, nicht zugreifen. Wozu auch? Was würde das bringen? Man kann aber soweit ich weiß DLL's ansteuern, aber dabei geht die Plattformunabhängigkeit wiederum verloren. Wem das nichts ausmacht. Da das meißte sowieso in Windows-DLLs verankert ist. Wie genau das geht, weiß ich nicht. Irgendwo in diesem Forum hab ich schon mal was davon gelesen, da war meines Wissens sogar ein Link dabei. Trotzdem. Ich habe auch schon Zeiten hinter mir, in denen ich mit VB programmiert habe, sogar schon noch tiefer, mit QB. Ich bin praktisch direkt von Basic über ein paar Erfahrungen in Borland C++ und einigem über JavaScript bei Java gelandet, und ich fand es bis jetzt am Besten. Darum kann ich sagen, dass Java eigentlich generell dasselbe (und noch viel mehr) kann, als das, was man normalerweise so mit Visual Basic macht. Nur, dass es Plattformunabhängig ist, und ein wenig Gewöhnungsbedürftig.

Ach ja, das wollte ich noch loswerden. C++, finde ich, ist die dümmste Programmiersprache überhaupt. Es ist unnötig kompliziert, und häufig sind die Compiler auch nicht schnell. C war zwar die erste Compiler-Sprache, aber C++ ist wirklich zum @##!!.
Aber das gehört hier eigentlich nicht hin.
 

AlArenal

Top Contributor
Schoppenhauer hat gesagt.:
Weiterhin denke ich nicht, dass man jar-Archive in Exe-Dateien umwandeln kann, die dann ausgeführt werden können.

Doch, das geht.

Das wäre ja auch völliger Schwachsinn, weil damit ja die Plattformunabhängigkeit flöten ginge.

Plattformunabhängigkeit ist nicht unbedint ein vom Programmierer verlangtes Feature.

Außerdem hat die Virtual Machine sowieso jeder installiert.

Vielleicht.
Vielleicht auch nicht.
Vielleicht eine ausreichend neue JVM.
Vielleicht auch nicht.

Direkt auf die Win32API kann man, soweit ich weiß, nicht zugreifen.

Falsch. JNI.

Wozu auch? Was würde das bringen?

Der Benutzer muss ja nicht merken, dass es kein natives Programm ist. UNd vielleicht möchte man Verbindungen zu anderen Windows-Programmen aufbauen?

Ach ja, das wollte ich noch loswerden. C++, finde ich, ist die dümmste Programmiersprache überhaupt. Es ist unnötig kompliziert, und häufig sind die Compiler auch nicht schnell. C war zwar die erste Compiler-Sprache, aber C++ ist wirklich zum @##!!.
Aber das gehört hier eigentlich nicht hin.

Nein, abgesehen davon, dass deine Behauptungen grundlegend falsch sind.
 
R

RubenZ

Gast
Hallo!

Danke an AlArenal für deine Antwort. Bist du nebenberuflich Hellseher? :D

Danke an Schoppenhauer für deinen Erfahrungsbericht.

Das mit der *.exe und der Lauffähigkeit OHNE VM ist mir sehr wichtig. Ich möchte kleine Progrämmchen erstellen können, die ohne viel Aufwand irgendwo anders auch laufen. Ohne vorher eine VM oder ein .NET Framework zu installieren.

Bislang reichen mir eigentlich Skriptsprachen. Nur im Moment habe ich ein größeres Problemchen welches ich gerne mit einer *.exe lösen möchte, da sich Skripte auch nicht immer eignen.

WindowsAPI ist mir auch sehr wichtig. :wink:
Interprogrammkommunikation, aber vorallem Kommunikation mit dem Betriebssystem könnte mal wichtig sein.
Ist das sehr schwierig?


C / C++

Würde ich hauptsächlich Linuxkisten um mich haben, würde ich es lernen. Koste es was es wolle.
Linux und C/C++ gehört quasi zusammen. Man kann verdammt viel lernen, wenn man diese Sprachen beherrscht, da ja (fast) alles im Source vorliegt.
Habe damals den Zug verpasst bzw. wollte mich nie mit Kommandozeilenprogrammierung auseinandersetzen.
Leider.


Naja egal. Die Zeit zu trauern ist vorbei.


Habt Ihr vielleicht einen guten Link zu Verfügung / oder ein Ebook über Java?
Neben Grundlagen interessieren mich vorallem (Dateisystem, WindowsAPI, Winsock, Datenbankanbindung).
Einfach mal zum drüberfliegen. Wenn ich mich entschieden habe, werden richtige Bücher fällig. Keine Frage ;)

Gruß

Ruben
 

AlArenal

Top Contributor
RubenZ hat gesagt.:
Danke an AlArenal für deine Antwort. Bist du nebenberuflich Hellseher? :D

Nur Hellseherazubi.. ;)

Das mit der *.exe und der Lauffähigkeit OHNE VM ist mir sehr wichtig. Ich möchte kleine Progrämmchen erstellen können, die ohne viel Aufwand irgendwo anders auch laufen. Ohne vorher eine VM oder ein .NET Framework zu installieren.

Mit JSmooth kann man aus .jar- oder .class-Dateien auch .exe machen. Alternativ kann man in ein Unterverzeichnis eine JVm legen und angebem, dass diese benutzt werden soll. So kann man seine Programme mit der zugehörigen JVM bzw. den daraus benötigten Teilen ausliefern.
Es gibt auch eine Reihe von kommerziellen Lösungen alles zusammen zu verpacken, teilweise wird der Kram dann auch noch optimiert. Schmeiß mal Google an, da wirst du eine ganze Menge sehr interessante Produlte finden, teils auch mit dowloadbaren Demoversionen oder Versionen für den Privatgebrauch.

WindowsAPI ist mir auch sehr wichtig. :wink:
Interprogrammkommunikation, aber vorallem Kommunikation mit dem Betriebssystem könnte mal wichtig sein.
Ist das sehr schwierig?

Habs selbst noch nciht machen müssen, ich weiß nur dass es geht und stolpere hier und da mal über entsprechende Artikel.

www.java.net
www.onjava.com


Würde ich hauptsächlich Linuxkisten um mich haben, würde ich es lernen. Koste es was es wolle.
Linux und C/C++ gehört quasi zusammen. Man kann verdammt viel lernen, wenn man diese Sprachen beherrscht, da ja (fast) alles im Source vorliegt.
Habe damals den Zug verpasst bzw. wollte mich nie mit Kommandozeilenprogrammierung auseinandersetzen.
Leider.

Kommadozeilenprogrammierung? Es gibt auch für Unix eine ganze Reihe sehr brauchbarer IDEs ;)


Habt Ihr vielleicht einen guten Link zu Verfügung / oder ein Ebook über Java?
Neben Grundlagen interessieren mich vorallem (Dateisystem, WindowsAPI, Winsock, Datenbankanbindung).
Einfach mal zum drüberfliegen. Wenn ich mich entschieden habe, werden richtige Bücher fällig. Keine Frage ;)

Unter oben genannten Links finden sich auch als Artikel getarnt immerwieder Kapitel aus Büchern. Ansonsten kann man grundsätzlich Bücher aus dem Hause O'Reilly und Wrox bedenkenlos kaufen. Letztere sind zwar ziemlich teuer, aber jeden Cent wert!
 

Stefan1200

Top Contributor
Also Java Programme laufen bei guter Programmierung ohne Source Änderungen auf Windows, Linux, Solaris und MacOS X. Bei MacOS X und Linux ist im Normalfall immer eine Java Runtime Umgebung in mindestens Version 1.3 vorinstalliert. Bei Windows ist eigentlich bei den meisten auch eine Java Runtime installiert, aber nicht bei allen.
In Zukunft wird sich das aber auch Ändern, da häufig bei den komplett PCs Java demnächst vorinstalliert sein wird.
Mal davon abgesehen wird heute schon sehr häufig Java gebraucht, besonders im Internet.

Durch selbst erstellte Exe Dateien oder Tools wie JSmooth muss zwar noch ein Java Runtime installiert sein, allerdings können dadurch die Java Programme wie eine normale Windows Exe gestartet werden.

Windows API habe ich zwar noch nicht gebraucht, aber ansatzweise soll das gehen. Allerdings bietet auch die Sprache Java die wichtigsten Befehle wesentlich einfacher und angenehmer an, als die M$ API (igitt) ;-).
 
R

RubenZ

Gast
Stefan1200 hat gesagt.:
...
Durch selbst erstellte Exe Dateien oder Tools wie JSmooth muss zwar noch ein Java Runtime installiert sein, allerdings können dadurch die Java Programme wie eine normale Windows Exe gestartet werden.

Also was denn nu? Braucht man die VM wenn man *.exe haben möchte - oder nicht? :(

Wünsche mir als Ergebnis einfach nur eine ausführbare Datei. Kein Installationspaket oder ähnliches.
Kann man nicht einfach alles in in eine Datei packen? Okay, sie wird ein bisschen größer. Aber egal :wink:

Stefan1200 hat gesagt.:
Windows API habe ich zwar noch nicht gebraucht, aber ansatzweise soll das gehen. Allerdings bietet auch die Sprache Java die wichtigsten Befehle wesentlich einfacher und angenehmer an, als die M$ API (igitt) ;-).

Ja, die wichtigsten Befehle. Aber habe ja eben schon geschrieben, dass eine Interaktion mit anderen Programmen oder der Windows interna manchmal durchaus erwünscht ist... :)


Danke

Ruben
 

Nobody

Top Contributor
zu der flötengehenden platformunabhängigkeit bei der erstellung von exe files:

das programm muss nur 1mal programmiert werden und aus einem jar file lassen sich executable files für nahezu alle betriebssystem erstellen und somit kann man das ganze noch voll ausschöpfen. zb bei der netzwerk programmierung kann dies sehr sinnvoll werden. auch spart man dadurch das man das programm nur 1mal schreiben muss ein haufen zeit.
 
R

RubenZ

Gast
Nobody hat gesagt.:
zu der flötengehenden platformunabhängigkeit bei der erstellung von exe files:

das programm muss nur 1mal programmiert werden und aus einem jar file lassen sich executable files für nahezu alle betriebssystem erstellen und somit kann man das ganze noch voll ausschöpfen. zb bei der netzwerk programmierung kann dies sehr sinnvoll werden. auch spart man dadurch das man das programm nur 1mal schreiben muss ein haufen zeit.

Okay. Und womit mache ich das?

Gruß

RubenZ
 

mariopetr

Bekanntes Mitglied
RubenZ hat gesagt.:
Okay. Und womit mache ich das?

sehr gute frage. ich habe mich vor einem jahr damit beschaeftigt
fuer linux
http://www.redhat.com/support/wpapers/redhat/gcj/gcj.pdf
fuer windows zb excelsior jet

allerdings haben beide (waren noch ein paar mehr) probleme mit reflection (fast nicht nutzbar), corba (weis ich nicht ob es an der reflection liegt), swing (darstellungsprobleme), imageoperations (seltsames verhalten beim scaling/transformieren)
 

Reality

Top Contributor
Bezüglich Exe-Dateien.
Mit JBuilder geht das, aber dazu braucht man die Runtime.

Liebe Grüße
Reality
 
R

RubenZ

Gast
Reality hat gesagt.:
Bezüglich Exe-Dateien.
Mit JBuilder geht das, aber dazu braucht man die Runtime.

Liebe Grüße
Reality

Nur auf dem Rechner wo Jbuilder installiert ist, oder auch auf denen wo man die *.exe dann laufen lassen möchte?

Gruß

Ruben
 
R

RubenZ

Gast
mariopetr hat gesagt.:
RubenZ hat gesagt.:
Okay. Und womit mache ich das?

sehr gute frage. ich habe mich vor einem jahr damit beschaeftigt
fuer linux
http://www.redhat.com/support/wpapers/redhat/gcj/gcj.pdf
fuer windows zb excelsior jet

allerdings haben beide (waren noch ein paar mehr) probleme mit reflection (fast nicht nutzbar), corba (weis ich nicht ob es an der reflection liegt), swing (darstellungsprobleme), imageoperations (seltsames verhalten beim scaling/transformieren)

Habe mir excelsior jet mal angeschaut. Sieht gut aus. Danke für den Tip :wink:

Reflection, Swing, corba

Corba war irgendsowas wie verteilte Anwendungen - oder?

Und der Rest, wofür brauche ich den?
 

mariopetr

Bekanntes Mitglied
wieso? ich nehme mal an der rest wird dich nicht interessieren wenn du damit nichts anfangen kannst. eine erklaerung was was ist und wozu es im einzelnen benutzt wird wuerde zeit und raum sprengen.
 
R

RubenZ

Gast
mariopetr hat gesagt.:
wieso? ich nehme mal an der rest wird dich nicht interessieren wenn du damit nichts anfangen kannst. eine erklaerung was was ist und wozu es im einzelnen benutzt wird wuerde zeit und raum sprengen.

Naja, keine schlechte Vermutung. :wink:

Aber, nur so ein Satz zu jedem Thema is doch drin - oder?

danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H gibts in Java sowas wie in Visual Basic den Timer? Allgemeine Java-Themen 5
Queenman Interface Mein Microsoft Visual Studio Code zeigt komische Dinge & Menüs an Allgemeine Java-Themen 9
S BMI Rechner mit eclipse Visual Editor (Seperates Fenster) Allgemeine Java-Themen 7
M Visual Editor für Web und RCP Allgemeine Java-Themen 6
D Java mit Visual Studio 2005 Allgemeine Java-Themen 6
G Plugin (Visual Editor) in Eclipse einfügen Allgemeine Java-Themen 2
F Eclipse Visual Editor Probleme Allgemeine Java-Themen 8
M Problem mit Eclipse und dem Visual Editor Allgemeine Java-Themen 2
O Basic Installationen Allgemeine Java-Themen 4
T Basic Request von php zu Java Allgemeine Java-Themen 3
G CHR$ (aus quick basic) in Java? Allgemeine Java-Themen 2
B Java -> BASIC Allgemeine Java-Themen 4
T Exception at javax.swing.plaf.basic.BasicTableUI.paintCell Allgemeine Java-Themen 3
A NetBeans Suche Programmierer für eine Belegarbeit Allgemeine Java-Themen 11
G Job als Programmierer (Software oder Spiele Entwickler) Allgemeine Java-Themen 2
E Java Programmierer Allgemeine Java-Themen 5
K Allgemeinwissen für Programmierer Allgemeine Java-Themen 3
A Suche Android Programmierer Allgemeine Java-Themen 0
M Was produzieren die ganzen Java-Programmierer eigentlich so? Allgemeine Java-Themen 23

Ähnliche Java Themen

Neue Themen


Oben