Autor Beitrag
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: So 07.03.04 22:28 
Hi,

Ich gehe nächstes Schuljahr auf ein Technisches Gymnasium mit Fachrichtung Informationstechnik. Die programmieren da in Java. Kennt sich jemand mit dieser Sprache aus? Wo kann man einen Compiler herkriegen...und was haltet ihr von der Sprache? Also ich kenn die Sprache nur von erzählungen aber ich versteh nicht im geringsten wie eine Schule so rückständig sein kann. C++ und Delphi sind für mich die wichtigen Sprachen mit denen man alles machen kann. Denen ihr Java hat noch nicht mal eine GUI... :roll: Vielleicht irre ich mich auch...
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: So 07.03.04 22:39 
Hi,

du irrst dich.

Java ist eine sehr mächtige Sprache. Man kann nahe zu alles damit Programmiern. Von Waschmaschienen bis zur Sodftware für die Marssonde. Alles ist möglich.

Du bekommst alles was du benötigst von www.sun.de .
Eine GUI gibt es nicht so wie in Delphi, du kannst aber GUI schreiben.
Karlson Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: So 07.03.04 22:43 
Hm, das hört sich ja mal ganz intressant an. Da werde ich mich auf jeden Fall mal reinarbeiten das ich passend zum Schuljahresbegin den Syntax behersche ;) Noch was: Ist Java deutlich schwerer als Delphi? Weil ich hör manchmal von nem Freund was die so machen, und der erzählt das wirklich keiner aus der Klasse das hinkriegt. Während ich in Delphi nichtmal 5 Minuten brauch um sowas zu schreiben.


Mal ne blöde frage die nichts mim Thema zu tun hat:

Weißt du zufällig wie diese Zahlenfolge nochmal heißt? 0+1=1 1+1=2 1+2 = 3 2+3=5 3+5=8 5+8=13....
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 07.03.04 23:07 
Java ist auch nicht schwerer als Delphi. Ich habe Java auch in der Uni gelernt und hatte keine großen Probleme damit.

Zahlenfolge: Fibonaci

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: So 07.03.04 23:10 
Hallo,

Zitat:
Java deutlich schwerer als Delphi


Nein, nicht wirklich. Wenn Du Delphi und C++ kannst, dann wirst du dich da leicht einarbeiten können. Viele bezeichnen ja Java auch als vereinfachtes C++ ohne Zeiger.

Zitat:

Weißt du zufällig wie diese Zahlenfolge nochmal heißt? 0+1=1 1+1=2 1+2 = 3 2+3=5 3+5=8 5+8=13....


Fibonacci.

MFG

- Ernesto -

// Edit: Zu langsam. Tja man wird nicht jünger :wink:
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 07.03.04 23:16 
Karlson hat folgendes geschrieben:
Ist Java deutlich schwerer als Delphi?

Das kommt darauf an. Wenn man eine Funktion schreiben will, die mehr als einen Rückgabewert hat (also ihre Parameter verändert), muss man den Umweg über ein Objekt oder ein Array gehen, denn Java kennt kein Call By Reference für elementare Typen wie char, int, float, double.
Bsp:

Delphi/Pascal:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
function MachWas(var Value: Integer): string;
begin
  Result := IntToStr(Value);
  Inc(I);
end;

var
  A: Integer;
begin
  A := 10;
  WriteLn(MachWas(A));
end;


C/C++:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
char* MachWas(int & Value)
{
  char *str = new char[256];
  itoa(Value, str, 10);
  Value++;
  return c;
}


int A = 10;
char *str = MachWas(A);
cout << str << endl;
delete str;


Java:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
String MachWas(int [] Value) {
  int x = Value[0];
  Value[0]++;
  return x; // impliziete Typumwandlung
}


int A = 10;
int[] tmp = new int[1]; // Array erzeugen
tmp[0] = A; // und den Wert von A ablegen
system.console.println(MachWas(tmp));
A = tmp[0]; // den veränderten Wert von A aus dem Array lesen



Ein weiterer Minuspunkt aus meiner Sicht ist die implizierte Typumwandlung, die an BASICs Variants erinnert. Und das besonders bei ist der Datentyp Char.
Was kommt bei folgendem heraus:
ausblenden Quelltext
1:
2:
3:
char c1 = 'A';
char c2 = 'B';
System.console.println(c1 + c2);

Man glaubt es nicht: Es kommt heraus: "131". Ein Char wird, wenn er mit einem anderen Char verknüpft wird, zu einer Zahl umgewandelt. Und somit macht der "Compiler" 'A'+'B' zu 65+66, was wiederum 131 ergibt.
Wenn man nun "AB" erhalten will muss man mit Strings tricksen:
ausblenden Quelltext
1:
System.console.println(c1 + "" + c2);					





Zudem muss ich sagen, dass Objekt Orientiertes Programmieren etwas wunderbares ist. Man kann es aber auch übertreiben, wie Java zeigt. Wenn man eine Hilfs-Funktion hat, die man gerne mehrmals von verschiedenen Klassen aus aufrufen will, muss man eine Klasse anlegen. Das endet dann in einem Klassenwirrwar, da man wohl eine String-Funktion nicht in der selben Klasse wie eine mathematische Funktion stecken will. Macht man dass dann doch, so ist das OOP Konzept dahin, da die beiden Funktionen (sofern sie nichts miteinandern zu tun haben), wohl nicht zusammen gehören.
Mich stört auch das ewige schreiben von "private", "protected", "public", "package" vor jeder Variablen/Feld-Deklaration. Warum konnte man das nicht so wie in C++ und Delphi lösen. Einmal das Schlüsselwort schreiben und alles was danach folgt hat diese Sichtbarkeit. Bei C# hat man dieses Java-Konzept auch übernommen.


Zitat:
0+1=1 1+1=2 1+2 = 3 2+3=5 3+5=8 5+8=13....

Fibonacci-Zahlen

_________________
Ist Zeit wirklich Geld?