Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   auf java umsteigen ? (https://www.delphipraxis.net/80862-auf-java-umsteigen.html)

mimi 16. Nov 2006 15:26


auf java umsteigen ?
 
Hallo,
seit einiger zeit möchte ich gerne auf linux umsteigen und hatte dabei gedacht das ich einfach java lerne.

Heute im internet habe ich mich über die sprache infromiert die möglichkeiten gefallen mir wohl, nur ich finde kein passendes einsteiger tutorial.

Ich möchte hauptsächlich GUI bassierte anwendungen schreiben.

kann mir jemmand von euch evlt. deutsche tutorials nennen die sich mit java befassen..
im internet finde ich leider alles mögliche nur nicht das was ich suche hier im forum habe ich auch schon gesucht, leider nichts passendes gefunden womit ich was anfangen könnte !

ich weiß es gibt delphi für linux nur habe ich gehört das es a: nicht openSoruce ist und B: nicht stabil läuft auf linux, stimmt das ?

Balu der Bär 16. Nov 2006 15:27

Re: auf java umsteigen ?
 
http://www.galileocomputing.de/openbook/javainsel5/

Phoenix 16. Nov 2006 15:32

Re: auf java umsteigen ?
 
Guter Tipp: Lass es bleiben.

Beispiel:
Code:
String strTest = "test";

if strTest == "test" {
}
Funktioniert in Java nicht. Dort geht das so:
Code:
String strTest = "test";

if "test".equals(strTest) {
}
Und wenn Du Dir sowas und alles andere Developerunfriendly-by-Design - Zeug in Java wirklich antun willst... mein herzliches Beileid.

arbu man 16. Nov 2006 15:44

Re: auf java umsteigen ?
 
Zitat:

ich weiß es gibt delphi für linux nur habe ich gehört das es a: nicht openSoruce ist und B: nicht stabil läuft auf linux, stimmt das ?
Nur Windows, Linux etc. gibt es auch noch Lazarus. Das ist eine recht gute alternative.
Zitat:

Lazarus: Write once, compile everywhere

leddl 16. Nov 2006 15:48

Re: auf java umsteigen ?
 
Zitat:

Zitat von Phoenix
Guter Tipp: Lass es bleiben.

Beispiel:
Code:
String strTest = "test";

if strTest == "test" {
}
Funktioniert in Java nicht. Dort geht das so:
Code:
String strTest = "test";

if "test".equals(strTest) {
}

:gruebel: Und was ist daran schlecht? Ich finde die Unterscheidung in Java zwischen "==" und "equals" sehr gut. Man muß sich eben nur erstmal dran gewöhnen.
Zitat:

Zitat von Phoenix
Und wenn Du Dir sowas und alles andere Developerunfriendly-by-Design - Zeug in Java wirklich antun willst... mein herzliches Beileid.

Ich glaube, du hast nicht besonders lange mit Java gearbeitet, oder? Früher hatte ich auch eine Abneigung gegen die Sprache, aber wenn man erstmal halbwegs drinsteckt, lässt sich damit wunderbar arbeiten. Ich kann Java auf jeden Fall jedem nur wärmstens empfehlen. ;)

Insofern @mimi:
Guter Tipp: Mach es ;) Laß dich nicht von solchen Kostverächtern wie Phoenix davon abhalten :mrgreen:
Das beste Buch hat dir B schon empfohlen. Ansonsten kenn ich eigentlich auch nur englische Tutorials und Bücher. Neulich gabs schonmal nen Thread über Java, da hab ich noch nen Link zum Tutorial von Sun gepostet. Eben jenes ist zwar auf Englisch, meiner Meinung aber dafür auch sehr gut. ;)

//Edit: Formulierung geändert, Phoenix is anscheinend heute mit dem falschen Fuß aufgestanden :roll:

Der_Unwissende 16. Nov 2006 15:56

Re: auf java umsteigen ?
 
[OT]
Zitat:

Zitat von Phoenix
Guter Tipp: Lass es bleiben.

Beispiel:
Code:
String strTest = "test";

if strTest == "test" {
}
Funktioniert in Java nicht. Dort geht das so:
Code:
String strTest = "test";

if "test".equals(strTest) {
}
Und wenn Du Dir sowas und alles andere Developerunfriendly-by-Design - Zeug in Java wirklich antun willst... mein herzliches Beileid.


Hi, ich möchte gar nicht erst die Diskussion hier beginnen, aber trauriges Beispiel! Lass Linux bleiben, hast du dir mal die Konsolenbefehle angeschaut?! man 2 read um Hilfe zum Lesen von Dateien zu bekommen, lass es bleiben...
[/OT]

Was Java angeht, so solltest du dir wenn du es verwenden willst unbedingt Englisch aneignen, da du hier immer wieder das Java-API bemühen solltest, das ist eine sehr gute Referenz, die einem häufig am einfachsten und schnellsten hilft. Allerdings ist die natürlich komplett englisch, da müsstest du dann mal schauen.
Für Linux gibt es sonst natürlich noch die Alternative, dass du auf .net setzt und die Mono Implementierung verwendest. Die ist zwar nicht auf dem aller neusten Stand (nicht .net 3.0), aber die sind ähnlich wie Delphi am aufholen. Da brauchst du dann (wie bei java) aber eine Laufzeitumgebung um ein Programm zu starten, dieses läuft dann aber auf jeder Plattform. Zudem hast du mit dem neuen Abkommen zwischen Novell und MS auch nicht zu fürchten, dass Mono demnächst die Grundlagen entzogen werden, weil MS seine .net Patente durchsetzt.

Ansonsten bleiben natürlich auch noch alle anderen Plattformunabhängigen Sprachen, wie Python oder andere interpretierte, aber halt auch C oder C++, wobei du dann für die Grafischen Oberflächen (und an einigen anderen Stellen) auf ein Framework wie GTK+ oder QT zurückgreifen müsstest um Plattformunabhängig zu bleiben.

Gruß Der Unwissende

_Sebastian_ 16. Nov 2006 15:59

Re: auf java umsteigen ?
 
Zitat:

Zitat von Phoenix
Guter Tipp: Lass es bleiben.

Dem kann ich so nicht zustimmen bzw. find es etwas sehr Subjektiv beurteilt.

Dein Beispiel zeigt im Grunde auch nur das Java eben Konsequent Objektorientiert ist. Da wird dann eben auch der "String" als Objekt behandelt.
Ich bin selber gerade dabei auf Java umzusteigen und mir gefallen viele Bereiche von Java sehr gut. Vieles finde ich aufwendiger aber im Ganzen gesehen schöner umgesetzt.

Als IDE empfehle ich neben Eclipse auch mal NetBeans anzugucken. (www.netbeans.org)
Damit hat man wie von Delphi gewohnt auch alles in einem Programm inklusive einem wirklich guten GUI-Designer.

Als kompakte übersicht finde ich http://www.torsten-horn.de/techdocs/java-basics.htm ganz nett und mangel an Einsteigertutorials habe ich nicht empfunden.
Schwieriger fand ich eher sowas wie eine Umstellungsanleitung zu finden. Also eine Gegenüberstellung von wie in Delphi und wie jetzt in Java.

Phoenix 16. Nov 2006 16:00

Re: auf java umsteigen ?
 
Zitat:

Zitat von leddl
Ich glaube, du hast nicht besonders lange mit Java gearbeitet, oder? Früher hatte ich auch eine Abneigung gegen die Sprache, aber wenn man erstmal halbwegs drinsteckt, lässt sich damit wunderbar arbeiten. Ich kann Java auf jeden Fall jedem nur wärmstens empfehlen. ;)

3 (viel zu lange) Jahre. Und zum Schluss wurde alles umgeschrieben weil sich ein Kunde (aus mir nachvollziehbaren Gründen ;-) ) geweigert hat, eine Java-Ergänzung zum eigentlichen eingekauften Produkt zu akzeptieren.

Ich spreche also aus Erfahrung wenn ich jedem davon abrate.

Andidreas 16. Nov 2006 16:09

Re: auf java umsteigen ?
 
[quote="leddl"] Neulich gabs schonmal nen Thread über Java, da hab ich noch nen Link zum Tutorial von Sun gepostet. Eben jenes ist zwar auf Englisch, meiner Meinung aber dafür auch sehr gut. ;)
quote]

glaub du meinste denn thread oder??? KLICK MICH :)

Ghostwalker 16. Nov 2006 17:06

Re: auf java umsteigen ?
 
Zitat:

Zitat von _Sebastian_
Dein Beispiel zeigt im Grunde auch nur das Java eben Konsequent Objektorientiert ist. Da wird dann eben auch der "String" als Objekt behandelt.

Das ist in meinen Augen kein Argument für Java..eher eins dagegen. Ich muste mich selbst (beruflich) mit einer Programmiersprache namens OEL auseinandersetzten (Diese wurde für ein DMS-System entwickelt). Dort war ebenfalls alles und jeder ein Objekt (selbst eine simple boolsche Variable). Das führte dazu, das das ganze dann extrem langsam und resourcenhungrig wurde. Ob das allerdings auch bei Java so ist, weiß ich nicht.


Bisher sind die meisten Programme, dich ich getestet habe und die mit Java geschrieben wurden, schnell wieder von der Platte geflogen, weil sie sehr langsam und resourcenhungrig waren.

Oxmyx 16. Nov 2006 17:17

Re: auf java umsteigen ?
 
Keine Operatorüberladung, für primitive Variablen lediglich Call-by-Value-Übergabe, keine Trennung von Deklaration und Implementation, keine vorzeichenlosen primitiven Typen, keine Mehrfachvererbung, keine variablen Argumentlisten, keine Templates.
Dafür Sachen wie Auto(un)boxing...

Der_Unwissende 16. Nov 2006 17:20

Re: auf java umsteigen ?
 
Zitat:

Zitat von Ghostwalker
Das ist in meinen Augen kein Argument für Java..eher eins dagegen. Ich muste mich selbst (beruflich) mit einer Programmiersprache namens OEL auseinandersetzten (Diese wurde für ein DMS-System entwickelt). Dort war ebenfalls alles und jeder ein Objekt (selbst eine simple boolsche Variable). Das führte dazu, das das ganze dann extrem langsam und resourcenhungrig wurde. Ob das allerdings auch bei Java so ist, weiß ich nicht.


Bisher sind die meisten Programme, dich ich getestet habe und die mit Java geschrieben wurden, schnell wieder von der Platte geflogen, weil sie sehr langsam und resourcenhungrig waren.

Man sollte sich da dann aber wirklich etwas differenzierter anschauen was hier langsam und ressourcenhungrig bedeutet und woran das liegt. An sich hat Java den Nachteil, dass der Code just-in-time übersetzt wird. Man erstellt zwar einen Objekt-Code, der wäre aber nur auf der einer JVM lauffähig. Die wenigsten PCs haben dabei einen Chip, der diesen Code direkt ausführen kann. Anders sieht es da (nebenbei bemerkt) bei embedded Systemen aus.
Jedenfalls kostet die Interpretation (die plattformunabhägigkeit mitbringt) Zeit, aber es hält sich stark in Grenzen (bei aktueller HW und aktuellem JRE). Java ist nicht komplett Objekt-Orientiert, die primitiven Datentypen (bool, int, long, short, byte, char, float, double) sind keine Objekte, es existieren aber auch Wrapperklassen.

Das was aber eigentlich wichtig ist, ist die Idee hinter der OOP. Natürlich bringt der Code eines Objekts einen Overhead mit sich, weswegen kaum ein Code mit C konkurrieren kann, was die Ausführungsgeschwindigkeit angeht. Jede mögliche Indirektion kostet da immens viel Zeit. Wenn man dann noch mit Makros arbeitet und auch noch der Aufruf einer Methode entfällt...
Allerdings kann C natürlich auch nicht die Vorteile bieten, die Indirektionen und Objekte so mit sich bringen. Die Hauptvorteile von Java liegen eigentlich in der Typsicherheit und nicht zuletzt auch in der aut. Speicherverwaltung. Das es hier große Vorteile zu geben scheint kann man (imho) daran erkennen, dass sich J2EE (mittlerweile JavaEE) sehr gut etabliert hat. Neben CORBA (dass ebenfalls OO ist) findet man es wohl mit am häufigsten im EInsatz wenn es um verteilte Applikationen geht. Das Java EE nicht wirklich an jeder Stelle leicht und verständlich ist, das steht außer Frage, aber dem steht halt doch die Zufriedenheit und Verbreitung gegenüber. Es sind Geschäftprozesse, bei denen es vorallem um Sicherheit geht. Dabei ist die Sicherheit, dass keiner an Daten kommt genauso wichtig, wie die Sicherheit eines konsistenten Systems.

Kurz um, Java hat Einsatzgebiete, auf denen es einem einiges erleichtern kann. Es gibt viele schnelle Java-Programme, aber auch langsame. Das hat nichts mit der Sprache allein zu tun, sondern vorallem auch mit den Leuten, die das programm schreiben. Solche Vergleiche kann man mit beliebigen Sprachen (auch Delphi) machen und so ganz beliebige Dinge zeigen (ohne das man viel aussagt).

leddl 16. Nov 2006 17:23

Re: auf java umsteigen ?
 
Ich würde mal sagen, wir lassen das Programmiersprachen-Bashing jetzt dann langsam mal sein ;) Die Frage war schließlich nicht, welche Programmiersprache die beste ist (ist schließlich auch subjektiv, wie man hier mal wieder eindeutig erkennen kann), sondern ob ihm jemand Tutorials oder Bücher für Java empfehlen kann. ;)

Mir ist gerade auch noch ein Buch eingefallen, daß ich mal ab und zu am Anfang meiner Java-Ausfküge in der Uni benutzt habe: http://www.javabuch.de/
Komischerweise komme ich auf die Seite gerade nicht drauf, ich meine aber, daß es eine recht aktuelle Version (auch zum Download) gibt.

mimi 16. Nov 2006 20:20

Re: auf java umsteigen ?
 
@_Sebastian_
Zitat:

Ich bin selber gerade dabei auf Java umzusteigen und mir gefallen viele Bereiche von Java sehr gut. Vieles finde ich aufwendiger aber im Ganzen gesehen schöner umgesetzt.
also das was ich bis jetzt gelesen habe bei wikipedia gefill mir auch ganz gut.

Zitat:

Als IDE empfehle ich neben Eclipse auch mal NetBeans anzugucken. (www.netbeans.org)
Damit hat man wie von Delphi gewohnt auch alles in einem Programm inklusive einem wirklich guten GUI-Designer.
Eclipse den habe ich auch gleich installiert wobei netBeans kenne ich bis jetzt noch nicht...
bei Eclipse kann ich leider kein Java programm complieren weil es immer wieder irgenwelche fehler meldungen kommmen mit dem ich nicht anfangen kann:
ich sehe gerade es kommt keine fehlermeldung aber dafür start das gleiche progamm nochmal wenn ich bei
eclipse auf Run klicke und dann weiß ich nicht mehr weiter!

ich finde mich leider in dem programm nicht zu recht und weiß einfach nicht mehr weiter !

@Phoenix
naja... ich mache es eigentlich nur aus einem grund: weil ich gerne auf linux umsteigen möchte und von MS weg kommmen möchten.
und da dachte ich halt an java wenn ich schon mich überwende eine andre progammiersprache zu lernen...

allerdings ist bis jetzt der einstig zimlich schwer gefallen... bei delphi war es leichter.



@Ghostwalker
Zitat:

weil sie sehr langsam und resourcenhungrig waren.
ich habe gehört das hängt damit zusammen wie das progamm geschrieben wurden ist, es soll prorgamme geben in java die genauso schnell sind wie die in delphi !

mkinzler 16. Nov 2006 20:23

Re: auf java umsteigen ?
 
Wenn es nur darum geht Programme auf/für Linux zu entwickeln, wäre vielleicht auch Lazarus/FreePascal ein Blick wert.

_Sebastian_ 16. Nov 2006 20:41

Re: auf java umsteigen ?
 
Zu Ecipse kann nicht viel sagen. Hab mich damit immer irgendwie zurechtgewurschtelt. Ich benutze jetzt wie gesagt NetBeans. Damit hast du gleich eine fertige IDE mit allem was dazu gehört. Kann ich dir nur mal empfehlen das auszuprobieren.

malo 16. Nov 2006 21:14

Re: auf java umsteigen ?
 
Zitat:

Zitat von mimi
naja... ich mache es eigentlich nur aus einem grund: weil ich gerne auf linux umsteigen möchte und von MS weg kommmen möchten.
und da dachte ich halt an java wenn ich schon mich überwende eine andre progammiersprache zu lernen...

Einmal gibt es hier Lazarus (basiert auf FreePascal, was Delphi sehr ähnlich ist). Wenn du eine andere Sprache lernen willst würde ich persönlich eher zu C# tendieren, auch wenn das auf .NET aufbaut... Mit Mono bist du da gut bedient, wie ich höre... Ich weiß jedoch nicht, wie das so mit vernünftigen Linux-fähigen C#-IDEs aussieht ;)

mkinzler 16. Nov 2006 21:15

Re: auf java umsteigen ?
 
Zitat:

Mit Mono bist du da gut bedient, wie ich höre... Ich weiß jedoch nicht, wie das so mit vernünftigen Linux-fähigen C#-IDEs aussieht Wink
Z.B. MonoDevelop.

Phoenix 16. Nov 2006 21:23

Re: auf java umsteigen ?
 
Dann kann er auch gleich beim BDS bleiben und seine .NET Programme halt unter Windows Coden. Die laufen ja schliesslich auch unter Mono - mal von der VCL.NET abgesehen.

mimi 17. Nov 2006 10:33

Re: auf java umsteigen ?
 
ich werde mal nach "Lazarus/FreePascal" suchen evlt. finde ich ja was tolles.... mir währe so eine IDE wie Delphi recht nur sie muss halt schneller arbeiten das ist evlt. auch noch der grund für ein umstig.

Ich nutze z.b. inzwischen gerne "Delphi 2005 PE" und das ist sowas von langsamm das es damit einfach kein spaß mehr macht ! und von "Delphi 2006" gibt es leider noch keine PE version.

PS:
mir kommt es sowas als sieht die dp im Internet Explorer viel schöner aus als in meinem Firefox.
(bin gerade bei der BNW).

mimi 17. Nov 2006 10:37

Re: auf java umsteigen ?
 
habe mich gerade über "Lazarus" das werde ich heute mal testen bei meinem Vater der hat Linux auf dem rechner genauer gesagt debian ich glaube auch die neuste version !

vielen dank für die information !

ich habe gelesen das die syntax delphi sehr änlich sein soll und ich meine jemmand hätte hier mal eine tutorial gepostet mit den vor und nachteieln kann sein das ich mich auch teusche !

mkinzler 17. Nov 2006 10:38

Re: auf java umsteigen ?
 
Zitat:

und von "Delphi 2006" gibt es leider noch keine PE version.
Doch diese heißt Turbo Delphi Explorer ;-)
Zitat:

habe mich gerade über "Lazarus" das werde ich heute mal testen bei meinem Vater der hat Linux auf dem rechner genauer gesagt debian ich glaube auch die neuste version !
Von Lazarus gibt es auch eine identische Windowsversion. mit der kannst du die Kompatibilität zu Delphi Testen.

mimi 17. Nov 2006 10:55

Re: auf java umsteigen ?
 
Zitat:

Doch diese heißt Turbo Delphi Explorer
naja die hatt den nachteil das keine fremd komponeten eingesetzt werden können... bzw. nicht so einach wie gewohnt !
es können nur die std. komponenten eingsetzt werden. oder wurde dies geändert !

danke für den hinweis mit der windows version !

werde sie mir gleich installalieren um zu sehen ob ich mich in der IDE zu rechte finde !

das brauche ich ja evlt. doch kein java lernen das währe nicht schlecht !

Andidreas 17. Nov 2006 11:17

Re: auf java umsteigen ?
 
fällt mir gerade ein weils um ide geht...

für java/eclipse gibts handbücher die java erklären die tutorials beinhalten und die auf eclipse ausgerichtet sind ;)

mimi 17. Nov 2006 11:21

Re: auf java umsteigen ?
 
ich habe auch tolle seiten gefunden die das genau beschrieben doch leider laufen diese beispiel codes nicht !

warum weiß ich nicht es kommt wie gesagt auch zu keiner fehlermeldung !

es kommt die oberfläche wird einfach nochmal gestartet !

trozdem danke für den hinweis !

mimi 17. Nov 2006 15:27

Re: auf java umsteigen ?
 
lazarus gefällt mir !
nur ein leers projekt mit einer klasse die nichts macht nur defniiert ist und auch nur eine Create anweisung hat erzeugt lazarus eine 8,5 MB große datei weiß einer warum ?

Kidix 18. Nov 2006 20:45

Re: auf java umsteigen ?
 
Zitat:

Warum sind die generierten binaries so groß?

Die binaries sind groß weil sie eine Menge von debug Informationen enthalten, die für die Verwendung von gdb (GNU Debugger) notwendig sind.

Der Compiler bietet eine Option, die debug Informationen aus dem executable zu entfernen (-Xs), aber wegen eines Bugs im Compiler (Version 2.0.2 und früher), funktioniert es nicht korrekt. Dies wurde in der Entwicklerversion des Compilers bereinigt.

Sie können ein Programm genannt "strip" verwenden, um die debug symbols aus der executable Datei zu entfernen. Es befindet sich im Lazarus Verzeichnis lazarus\pp\bin\i386-win32\.

Tippen sie einfach "strip --strip-all <ihre executable Datei mit Pfad>" auf der Kommandozeile.

Wenn sie ihr Programm noch kleiner machen wollen, sollten sie auch UPX ([1]) versuchen. UPX ist ein sehr guter exe compressor. It includes no memory overhead due to in-place decompression. Er hat auch eine sehr schnelle Dekomprimierung (~10 MB/sec auf einem Pentium 133).

Um UPX zu verwenden tippen sie einfach "upx <ihre executable Datei mit Pfad>" auf der Kommandozeile.

Nach der Verwendung von strip und UPX erreicht ein einfaches GUI Lazarus Programm:
~ 700kb unter Linux
~ 420kb unter Windows

mimi 18. Nov 2006 22:19

Re: auf java umsteigen ?
 
vielen dank... das habe ich mir auch gedacht !


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz