Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 11, 2025 03:54

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 19:00 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
LarsMiddendorf hat geschrieben:
Naja, wenn es schon nicht Pascal sein soll, dann doch lieber C#, denn bei Java muss man für die Vorteile auf einige Dinge verzichten, die man in Delphi gewohnt ist.
  • Records
  • Properties
  • Indexer
  • Operatorüberladung
  • Ereignisse
C# kombiniert dagegen die guten Eigenschaften von Delphi und Java (und C++).

Kleine Anmerkung dazu:
Records sind in Java einfach Klassen ohne Methoden.
Operaten Überladung (zu den der Index Operator und zum Teil auch die Ereignisse gehören) sind nicht möglich, statt dessen sind aussagekräftige Methodennamen zu verwenden.

Microsoft versucht .NET Entwickler mit vielen CShap Sprach Features zu locken. Java bekommt seltener neue Sprach Features , dafür sind diese dann aber sorgsam durch den Java Community Process ausgewählt.

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 19:14 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Nein, es geht mir nicht um die Methoden. Records in Delphi haben auch Methoden. Das Hauptproblem ist, dass man in Java keine benutzerdefinierten Wert-Typen erstellen kann, die bei Zuweisungen kopiert und immer auf dem Stack gespeichert werden. Die einzigen Wert-Typen sind die primitiven int,float,.... . Daher kann man z.B. auch keine brauchbare Vektor-Klasse programmieren und das ist für 3D Grafik ja nicht ganz unwichtig.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 23:25 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
@Evil-Devil: Ich finde "Klicki-Bunti" auch überhaupt nicht schön, schaffe kaum noch damit, aber als anfänger ist das halt wirklich cool, weil man schnell mal viel machen kann und nicht bei einer konsolenanwendung alles kompliziert abfragen muss. Delphi ist wirklich super für anfänger. Konsolenanwendungen sind für anfänger einfach nicht so spannend. (Vor allem für uninteressierte)

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 24, 2007 02:08 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 03, 2002 15:08
Beiträge: 662
Wohnort: Hamburg
Programmiersprache: Java, C# (,PhP)
Klar ist das einfacher ;) Aber nen schmuckloses Fenster sind auch nur 17 Zeilen an Code ;)

Code:
  1. import javax.swing.JFrame;
  2.  
  3. public class MeinFenster extends JFrame {
  4.    
  5.     public MeinFenster() {}
  6.  
  7.     public MeinFenster(String title) {
  8.         super(title);
  9.         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  10.         this.setSize(200,200);
  11.         this.setVisible(true);
  12.     }
  13.  
  14.     public static void main(String[] args) {
  15.         new MeinFenster("Mein Fenster <!-- s:) --><img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Smile\" /><!-- s:) -->");
  16.     }
  17. }

_________________
(\__/)
(='.'=)
(")_(")


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 24, 2007 09:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Hallo Evil,
ist dieses Java-Swing-Fenster plattformunabhängig?

OK ich bin ungeduldig und habe mir die Antwort aus der Wikipedia geholt:
Zitat:
Java-Programme werden in Bytecode übersetzt und dann in einer speziellen Umgebung ausgeführt, die als Java-Laufzeitumgebung oder Java-Plattform bezeichnet wird. Deren wichtigster Bestandteil ist die Java Virtual Machine (Java-VM), die die Programme ausführt, indem sie den Bytecode interpretiert.

Java-Programme laufen in aller Regel ohne weitere Anpassungen auf verschiedenen Computern und Betriebssystemen, für die eine Java-VM existiert. Sun selbst bietet Java-VMs für die Betriebssysteme Linux, Solaris und Windows an. Andere Hersteller lassen ihre Java-VM für ihre Plattform zertifizieren, zum Beispiel die Firma Apple für Mac OS X.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 25, 2007 18:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Sidorion hat geschrieben:
Pellaeon hat geschrieben:
Was ist in C++ denn nicht klar geregelt ...(wenn man auch wirklich C++ macht und nicht C mit Klassen).

Na dann lass mal in ner If-Abfrage das zweite = weg oder schreib mal aus Versehen nach der For-Schleife (aber vor dem {) ein ; hin. Delphi meckert sowas an, aber in C wirds kommentarlos geschluckt.


Das wird deswegen kommentarlos geschluckt, weil es legaler Code ist^^
Zugegebener Maßen ist das = und == für Anfänger leicht verwechselbar, zu 99% wird man den Fehler ab recht schnell merken.


Sidorion hat geschrieben:
Ausserdem finde ich es sehr irritierend, wenn neue Variablen innerhalb eines Funktionskörpers neu definiert werden (wobei das im Prinzip ja der Regel vom kleinstmöglichen Sichtbarkeitsbereich entspricht).


Und das ist auch gut so! Du weist nicht wie mich das in Delphi nervt, jedesmal oben alles deklarieren zu müssen oO
In C++ lege ich Variablen da an, wo ich sie brauche. Dadurch habe ich auch gleich einen Kontext zu den Variablen.
Wohlgemerkt in C++, nicht in C. In C ist es wie in Delphi das alle Variablen am Anfang aufgeführt sein müssen.


Sidorion hat geschrieben:
Im Projekt meiner Firma werden ganze Klassendefinitionen aus Templates heraus erzeugt. Da gibt man z.B.: nur dan, dass man ne Listenklasse für Integer(oder einen beliebigen Klassentyp) brauch und schwupp! ist der gesamte Code für die Listenklasse incl. Getter- und Setter- Methoden erzeugt, und ne Instanz legt er gleich auch mit an.


Und was ist daran schlecht? In Delphi muss ich dauern casten(down cast!!), weils keine Templates gibt. In Java haben sie das casten durch die generics ja eleminiert.


Gaulker hat geschrieben:
Ich glaube, es geht darum, dass eben in C++ nicht alle Mechanismen so klar definiert sind. In Delphi muss man immer Typen konvertieren, man muss teilweise auch sachen konvertieren die ziemlich eklig sind.

In C++ musst du auch fast alles casten. Von alleine wird fast nix umgwandelt.
float in double -> ok
double in float -> gibts schon ne Warnung

Klasse in andere Klasse -> geht nur, wenn entweder ein cast für die KLasse geschrieben wurde oder wenn man hart einen reinterpret cast macht. In jedem Fall muss der Programmierer das aber auslösen, es geht nicht von alleine!!

Was an C++ für Anfänger schwer ist, sind die vielen Konzepte, die darin stecken. Das kann einen am Anfang schon ziemlich überollen.

Zweite große Hürde: viele programmieren halt C mit Klassen anstatt C++, und dann treten natürlich die Probleme auf, die hier schon beschrieben wurden.
Wobei das im kleineren Maßstab auch in Delphi gilt: auch hier kann ich ja fein OOP mit prozeduraler Programmierung vermischen.

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 26, 2007 08:18 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Zitat:
Das wird deswegen kommentarlos geschluckt, weil es legaler Code ist^^

Und genau da liegt das Problem. In Delphi sind Zuweisungen in If-Abfragen erst garincht erlaubt, da kann sowas nicht passieren. (das meinte ich mit klarer geregelt)
p.s.: Templates gibt es in Delphi.. siehe weiter oben, da habe ich geschrieben, dass jemand nen Präprozessor für Delphi geschrieben hat. Ich bin aber jetzt zu faul, danach zu suchen, sonst hätte ich nen Link gepostet :twisted:

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 26, 2007 08:32 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Sidorion hat geschrieben:
Zitat:
Das wird deswegen kommentarlos geschluckt, weil es legaler Code ist^^

Und genau da liegt das Problem. In Delphi sind Zuweisungen in If-Abfragen erst garincht erlaubt, da kann sowas nicht passieren. (das meinte ich mit klarer geregelt)
p.s.: Templates gibt es in Delphi.. siehe weiter oben, da habe ich geschrieben, dass jemand nen Präprozessor für Delphi geschrieben hat. Ich bin aber jetzt zu faul, danach zu suchen, sonst hätte ich nen Link gepostet :twisted:


Was irgendwelche Leute in ihrer Freizeit gebaut haben, zähle ich eigentlich nicht direkt zu dem Spracheigenschaften^^
Und so ein Präprozessor-Mischmasch hat sicher nichts mit wirklichen Templates zu tun.

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 26, 2007 21:18 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Templates in C++ werden auch vorverarbeitet. Das ist eine eigenschaft von Templates. Ob man das nun in einen Compiler einbaut, oder manuell vorschaltet ist prinzipiell egal.

Aber die Diskussion wird schon wieder zunehmend kindisch. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]