PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einstieg in die Welt des Programmieren ;(:)


Thanatos
2005-01-02, 23:03:14
Oy Oy!:wave:


Wollte mal anfangen zu Programmieren, würde mich nämmlich mal interessieren.

In Technik hantieren wir immer etwas mit Basic rum, aber das nutzt ja heute keine sau mehr.

Deshalb würde ich schon gerne eine Programmiersprache Lernen die man heutzutage auch benutzt, und mir auch noch in meinem Späteren Berufsleben hilft (Habe for IT systemelektroniker zu werden, und da ist ja sowas auch ned verkehrt ;)).

Da ich ein Totaler Programmierungsnoob bin bräuchte ich erstmal eine programmiersprache die ich nutzen kann, hab nämmlich keinen Plan was es gibt, C++ und...........ähm........Delphi??Hab auf jedenfall keinen Plan davon.

Zu diesem Zeug bräuchte ich dann natürlich auch ne gute Anleitung.Wo man von anfang an rangeführt wird.

Also sagt mir mal bitte was ich alles brauch :)

Und denkt imer dran, vor euch sitzt ein VOLLN00B in sachen Programmierung :D




Danke im Vorraus :)

M@tes
2005-01-02, 23:15:18
Vorher musst du wissen, was du überhaupt machen willst.
willst du Programme schreiben, oder lieber richtung Webdesign.
Ich persönlich finde Perl eines der besten Sprachen.
Man kann es für Webprogrammierung nutzen, aber auch für Systemhardwareansteuerung oder auch als Grafische Programme.
Und es ist nicht wirklich ein Programm dafür notwendig. WIe bei Visualbasic.
Da kann man noch selbst entscheiden, was man nehmen will.
Da reicht schon der einfache Notepad hrhr

Unfug
2005-01-02, 23:18:11
Hi,
also C++ , Delphi etc sind alles programmiersprachen wo man meiner Meinung nach nicht allein mit anfangen sollte.
Da gibt es schon am Anfang so hürden wie "Zeiger", die einen echt wirsch machen können (rede aus eigener Erfahrung).

Ich empfehle Java für den Anfang. Es ist "relativ" leicht. Man kann damit etwas anfangen (sprichi gute Programme schreiben), es existieren schon sehr viele Klassen. Und es gibt jede Menge guter Seiten.
Ich empfehle es Dir , wobei wenn du die Ausbildung machst, lernst du es ja auch dann direkt.
Geh da nicht ran mit : Ich muss das machen, sondern nur aus lust und laune.
Selbst HTML als nicht programmiersprache kann ein guter Einstieg sein.

Thanatos
2005-01-02, 23:18:40
ne , also ich wollte schon Programme schreiben.

Denn ne Internetseite würd mir nix bringen, wüsste ned was ich da reinstellen könnte :ugly:


Also ich mach das auch aus lust und laune.Aber für meinen späteren Beruf ist das bestimmt auch recht gut.Im moment geh ich noch in die Schule (10. klasse)

M@tes
2005-01-02, 23:43:10
ne , also ich wollte schon Programme schreiben.

Denn ne Internetseite würd mir nix bringen, wüsste ned was ich da reinstellen könnte :ugly:


Also ich mach das auch aus lust und laune.Aber für meinen späteren Beruf ist das bestimmt auch recht gut.Im moment geh ich noch in die Schule (10. klasse)

Imo arbeite ich an einem Orgenizer mit EMail, Notizen, Terminen,... den ich über den Browser überall abrufen kann.
Perl ist nicht nur für Internetseiten gedacht. eigendlich garnicht^^
Perl ähnelt auch sehr der c++ Sprache.

Aqualon
2005-01-02, 23:44:26
Wenn du dich für Java interessieren solltest, was zum Einstieg in die objektorientiere Programmierung sehr empfehlenswert ist, würde ich dir das Buch Java als erste Programmiersprache (http://www.it.fht-esslingen.de/~heinisch/javabuch/) vorschlagen.

Aqua

Thanatos
2005-01-03, 00:12:04
Brauch ich denn für java noch spezielle software oder sowas??

huha
2005-01-03, 00:14:58
Ja ;)

Natürlich erstmal die J2SE von http://java.sun.com -- damit du auch was hast, mit dem du programmieren kannst.
Ansonsten eigentlich nichts, da das aber recht unkomfortabel ist, empfehle ich dir, gleich ne vernünftige IDE dazuzunehmen, wie z.B. eclipse (http://www.eclipse.org)

Damit geht die Sache dann eigentlich recht gut von der Hand (y)

-huha

beta3
2005-01-03, 01:55:27
Hi,
also C++ , Delphi etc sind alles programmiersprachen wo man meiner Meinung nach nicht allein mit anfangen sollte.
Da gibt es schon am Anfang so hürden wie "Zeiger", die einen echt wirsch machen können (rede aus eigener Erfahrung).

in Delphi gibt es Pointer? :confused:


schau dir lieber nicht basic an, weil du dadurch schlechte Angewohnheiten leicht bekommst.
C# sollte fuer den Anfang gut sein, sowohl fuer Windows als auch fuer Web-Applikationen
#develop ist eine gratis IDE

Nach C# solltest du auf C++ bzw C umsteigen

Ganon@work
2005-01-03, 07:07:07
in Delphi gibt es Pointer? :confused:

Ja. Und man geht damit noch beschissener um, als in C, imo. ;)

Poniter werden in Delphi mit ^ gekennzeichnet. Irgendwie geht das. ;)

pajofego
2005-01-03, 10:45:23
i
Nach C# solltest du auf C++ bzw C umsteigen


Warum?

Gruss pajofego

Senior Sanchez
2005-01-03, 13:18:12
Erstmal eins Vorweg: Delphi ist ne IDE und die Sprache dahinter ist Object Pascal. Die Linux-Variante heißt Kylix und auch hier ist Object Pascal die Sprache.



Zitat:
Zitat von beta3
in Delphi gibt es Pointer?


Ja. Und man geht damit noch beschissener um, als in C, imo.

Poniter werden in Delphi mit ^ gekennzeichnet. Irgendwie geht das.


Japs, es gibt Pointer in Object Pascal oder genauer gesagt gibt es zwei Typen: Es gibt Zeiger und den Typ Pointer (das muss man sich mal vorstellen *gg*). Dazu gibt es dann noch spezifische Pointertypen mit denen man dann zwischen Zeigern und Pointern operieren kann. Sehr schwammig das ganze und manchmal auch etwas undurchsichtig.

Steht ^ vor einem Typ, so wird referenziert. Steht ^ dagegen nach einem Typ wird dereferenziert. @ dient zum ermitteln der Speicheradresse.


mfg ein durch den Informatik-Unterricht gepeinigter Object Pascal User *ggg*

Hucke
2005-01-03, 13:53:57
Je nach Anwendungsgebiet wird auch heute noch Basic eingesetzt. Mit Visual Basic kann man recht einfach Windows Anwendungen basteln. Und so schlecht sind die Programme nicht.
Und im professionellen Bereich wird Motion Basic eingesetzt. Ist halt für Steuerung von Drivesets ganz nett.

Ansonsten würd ich Dir Java ans Herz legen. Erstmal gewöhnt man sich durch die Struktur nen guten Stil an und der Krempel ist gratis.
Von C# halt ich nicht sonderlich viel, ist ja eh nur ne Mischung aus C++ und Java, wenn es auch Vorteile hat, so gefallen mir manche Sicherheitskonzepte nicht. Im Endeffekt hängts aber wohl vom gedachten Einsatzzweck ab.

beta3
2005-01-03, 14:12:23
Warum?

Gruss pajofego

Wenn du C# kannst, musst du dich nicht mehr an den C-like Syntax gewoehnen (ich weiss nicht wie es hier mit Delphi, etc. aussieht, da ich diese nicht kann)
Es ist einfach Windowsapplikationen zu erstellen und du kannst, wenn du wirklich willst, auch Pointer (wie bei c++) verwenden.

Lade dir einfach mal das .net sdk und #develop runter, dann kannst du einfach anfangen, alles gratis
Visual Studio brauchst du dir erst kaufen, wenn es dir ganz ernst ist (und wenn du auf c gewechselst hat, VS ist die beste IDE der Welt IMHO)

Gast
2005-01-03, 14:27:39
Erstmal eins Vorweg: Delphi ist ne IDE und die Sprache dahinter ist Object Pascal. Die Linux-Variante heißt Kylix und auch hier ist Object Pascal die Sprache.

Naja. Wie man es nimmt. Wenn man mit Delphi Programme schreibt, dann kompilieren die meist auch nur mit dem Kompiler von Delphi, ganz einfach weil die Sprache von Borland "erweitert" wurde, wie auch C++.

Und in den meisten Fällen hängt man ja eh mit der VCL, CLX, FCL oder sonst was ab, bei ObjectPascal. Es soll sogar "Delphi"-Programmierer geben die zwar tolle grafische Programme schreiben können, aber bei einer Konsolen-Anwedung verloren sind... Ganz einfach weil sie mit ObjectPascal nicht wirklich arbeiten können, sondern nur mit Delphi.

Gast
2005-01-03, 14:38:10
Achja, noch was. Das sehe ich auch immer wieder in der Berufsschule.

Wenn es z.B. heißt:

Sortieren sie diesen Array bla bla bla, bla bla bla....

Während die C,Java,C++-Jungs und Mädels schon längst an der Sortier-Routine rumschreiben, sind die Delphi-Kinners immernoch dabei sich Schalter und Memo-Felder anzulegen. *gg* Kein Scherz.

Auch bei der Aufgabe, entwickle einen dynamischen Array (verkettete Liste). Die Delphi-Leute legen erst mal Schalter und Memo-Felder an für Kommandos und Ausgaben. Da kam bisher keiner von denen auf die Idee mal ne Konsolen-Anwendung zu machen...

Senior Sanchez
2005-01-03, 14:57:55
Naja. Wie man es nimmt. Wenn man mit Delphi Programme schreibt, dann kompilieren die meist auch nur mit dem Kompiler von Delphi, ganz einfach weil die Sprache von Borland "erweitert" wurde, wie auch C++.

Und in den meisten Fällen hängt man ja eh mit der VCL, CLX, FCL oder sonst was ab, bei ObjectPascal. Es soll sogar "Delphi"-Programmierer geben die zwar tolle grafische Programme schreiben können, aber bei einer Konsolen-Anwedung verloren sind... Ganz einfach weil sie mit ObjectPascal nicht wirklich arbeiten können, sondern nur mit Delphi.


Wenn man es so sieht, ist das sicherlich richtig. Aber die Kernsprache an sich bleibt Object Pascal.


Achja, noch was. Das sehe ich auch immer wieder in der Berufsschule.

Wenn es z.B. heißt:

Sortieren sie diesen Array bla bla bla, bla bla bla....

Während die C,Java,C++-Jungs und Mädels schon längst an der Sortier-Routine rumschreiben, sind die Delphi-Kinners immernoch dabei sich Schalter und Memo-Felder anzulegen. *gg* Kein Scherz.

Auch bei der Aufgabe, entwickle einen dynamischen Array (verkettete Liste). Die Delphi-Leute legen erst mal Schalter und Memo-Felder an für Kommandos und Ausgaben. Da kam bisher keiner von denen auf die Idee mal ne Konsolen-Anwendung zu machen...


Das ist bei uns nicht anders. In der Zeit wo sich die meisten die GUI zusammen klicken, läuft mein Java Konsolen programm schon per ssh auf ner schnellen Workstation ;)

Schnell zusammengehackt und ohne große grafische GUIs sind die klassischen C/C++/Java Leute wesentlich (!) schneller fertig als die delphi jünger. Im gegenzug muss man aber sagen, dass man nirgends so schnell ne GUI zusammenklickt wie in Delphi ;)))


Aber im Allgemeinen ist Object Pascal/Delphi in meinen Augen zu statisch und kompliziert. Zum Beispiel die Methoden und Variablendefinition ist ein Grauß in meinen Augen.


mfg Senior Sanchez

Gast
2005-01-03, 15:25:36
Schnell zusammengehackt und ohne große grafische GUIs sind die klassischen C/C++/Java Leute wesentlich (!) schneller fertig als die delphi jünger. Im gegenzug muss man aber sagen, dass man nirgends so schnell ne GUI zusammenklickt wie in Delphi ;)))

Aber im Allgemeinen ist Object Pascal/Delphi in meinen Augen zu statisch und kompliziert. Zum Beispiel die Methoden und Variablendefinition ist ein Grauß in meinen Augen.

Ja. Aber Borland C++ Builder ist auch nicht schlecht bei schneller GUI-Entwicklung. Aber Delphi ist dafür wesendlich besser, da die Borland-Komponenten alle in Pascal geschrieben sind und die Zusammenarbeit sich irgendwie "besser" anfühlt. Auch kompiliert er nicht so lange... ;)

Aber wie du sagst. ObjectPascal ist teilweise grausig. Alleine schon die deklaration Arrays und die "Erweiterung" von dynamischen Arrays. *würg* Variablen anlegen..., au weia...

Ich weiß jetzt auch nicht ob das nur an den Mitschülern bei mir so ist, oder generell alle Delphi-Leute betrifft.
Kann es sein das diese alle anderen Programmiersprachen generell ablehnen? Ich meine mich interessieren alle Sprachen. Aber wenn ich mit denen aus meiner Klasse mal über was anderes wie C, Java oder ObjC spreche, dann ist bei denen aus. Die wollen weder was davon wissen, noch wollen sie Vorteile der anderen Sprachen akzeptieren. "Braucht man nicht", "Ist doch Mist", "Viel zu kompilziert", "Delphi kann das besser".

Als dann der Lehrer kam: "So. Heute geht es um Templates."
Alle erst mal ganz normal geguckt.
Dann zum Schluss vom Lehrer: "Holt euch die Notebooks und probiert es mal aus. Die Delphi-Leute haben aber jetzt ein Problem."
Die ganze Klasse guckt doof. Die Delphi-Leute noch mehr. Ein "Wieso?" kommt aus einer Ecke.
Der Lehrer: "Najaaaaa, Delphi kann so etwas nicht... ihr müsst ne andere Sprache benutzen."

Bleiche Gesichter bei den Delphi-Leuten... *ggg* Ein grinsen aus der C++-Ecke. Java-Leute wischen sich die Stirn >> Java5 ist verfügbar. ;)

Coda
2005-01-03, 15:54:34
Kann es sein das diese alle anderen Programmiersprachen generell ablehnen?
Ist mir auch schon aufgefallen. Aber es gibt genausoviele Java/C#-Fanatiker.

"The right tool for the right job" sollte man sich hinter die Ohren schreiben.

Man muss nicht mit biegen und brechen alles in seiner "Lieblingssprache" machen, vor allem ist weder Java/C# noch C++ für alles geeignet und manchmal ist sogar eine funktionale Programmiersprache wie Lisp viel besser.

Senior Sanchez
2005-01-03, 16:24:20
Ja. Aber Borland C++ Builder ist auch nicht schlecht bei schneller GUI-Entwicklung. Aber Delphi ist dafür wesendlich besser, da die Borland-Komponenten alle in Pascal geschrieben sind und die Zusammenarbeit sich irgendwie "besser" anfühlt. Auch kompiliert er nicht so lange... ;)

Aber wie du sagst. ObjectPascal ist teilweise grausig. Alleine schon die deklaration Arrays und die "Erweiterung" von dynamischen Arrays. *würg* Variablen anlegen..., au weia...

Ich weiß jetzt auch nicht ob das nur an den Mitschülern bei mir so ist, oder generell alle Delphi-Leute betrifft.
Kann es sein das diese alle anderen Programmiersprachen generell ablehnen? Ich meine mich interessieren alle Sprachen. Aber wenn ich mit denen aus meiner Klasse mal über was anderes wie C, Java oder ObjC spreche, dann ist bei denen aus. Die wollen weder was davon wissen, noch wollen sie Vorteile der anderen Sprachen akzeptieren. "Braucht man nicht", "Ist doch Mist", "Viel zu kompilziert", "Delphi kann das besser".

Als dann der Lehrer kam: "So. Heute geht es um Templates."
Alle erst mal ganz normal geguckt.
Dann zum Schluss vom Lehrer: "Holt euch die Notebooks und probiert es mal aus. Die Delphi-Leute haben aber jetzt ein Problem."
Die ganze Klasse guckt doof. Die Delphi-Leute noch mehr. Ein "Wieso?" kommt aus einer Ecke.
Der Lehrer: "Najaaaaa, Delphi kann so etwas nicht... ihr müsst ne andere Sprache benutzen."

Bleiche Gesichter bei den Delphi-Leuten... *ggg* Ein grinsen aus der C++-Ecke. Java-Leute wischen sich die Stirn >> Java5 ist verfügbar. ;)


Jaja, das ist so, ist oft nen glaubenskrieg. Obwohl ich auch oft auf delphi rumhacke, es ist einfach was relativ schnell erlernbares wo man sich viel zusammenklicken kann und das mag man doch eigentlich irgendwo ;)

Allerdings sind viele Dinge bei delphi aus meiner sicht grausig und absolut umständlich gemacht, außerdem ist der style da manchmal echt daneben (direkter Zugriff auf Klassenattribute, auch über die properties), da man regelrecht dazu eingeladen wird, dirrrrrty zu coden.

Aber jeder hat so seine Lieblingssprache, die schützt er natürlich auch gegen anfeindungen. Ich für meinen teil kann mit python gar nix anfangen, finde das einrücken statt klammern pervers, aber manche schwören darauf.


mfg Senior Sanchez

govou
2005-01-03, 20:35:11
Nimm C++. Es ist immer noch die Elite der oop-Sprachen. Lass die Finger von Delphi oder Java. Sie bieten lange nicht die Geschwindigkeit/die Möglichkeiten, die C++ hat.

Als Buch kann ich dir "Accelerated C++" empfehlen, ist zwar auf Englisch, aber das beste. Falls du es haben möchstest -> PM

Darkstar
2005-01-03, 20:37:21
;) ;) ;)

Kann es sein das diese alle anderen Programmiersprachen generell ablehnen?Also ich für meinen Teil hasse nur C/C++/C#, mit Java habe ich kein Problem und Konsolenanwendungen lehne ich aus Prinzip ab (habe allerdings schon selber welche geschrieben). :biggrin:Schnell zusammengehackt und ohne große grafische GUIs sind die klassischen C/C++/Java Leute wesentlich (!) schneller fertig als die delphi jünger.Das gilt aber nur solange, bis der Quelltext compiliert werden muß! :tongue:

;) ;) ;)

Senior Sanchez
2005-01-03, 20:40:31
Nimm C++. Es ist immer noch die Elite der oop-Sprachen. Lass die Finger von Delphi oder Java. Sie bieten lange nicht die Geschwindigkeit/die Möglichkeiten, die C++ hat.

Als Buch kann ich dir "Accelerated C++" empfehlen, ist zwar auf Englisch, aber das beste. Falls du es haben möchstest -> PM


Und da haben wir wieder den Glaubenskrieg. Wenn solche Behauptungen aufgestellt werden, bitte beweise.

Erstens: Was verstehst du unter Elite der oop-Sprachen?
Zweitens: Geschwindigkeit ist lange nicht alles, zumal das von mal zu mal eigentlich immer unwichtiger wird, da die rechner inzwischen so schnell sind, das es da keinen großen unterschied im allgemeinen mehr macht ob das programm eine oder zwei sekunden zum starten braucht.


Das gilt aber nur solange, bis der Quelltext compiliert und ausgeführt werden muß!


Das ist denke ich logisch, aber so oft wie ich manchmal den quelltext da verändern musste, weil ich wieder in den C++/Java&Co Style verfallen bin *g*


mfg Senior Sanchez

Darkstar
2005-01-03, 20:50:21
Das ist denke ich logisch, aber so oft wie ich manchmal den quelltext da verändern musste, weil ich wieder in den C++/Java&Co Style verfallen bin *g*Ich meinte es zwar mehr in Bezug auf die Geschwindigkeit des Delphi-Compilers, aber die Code-Qualität spielt natürlich ebenfalls eine große Rolle (an Spaghetti-Code auch nur zu denken, hatte ich in letzter Zeit erfolgreich verdrängt).

govou
2005-01-03, 21:01:31
Und da haben wir wieder den Glaubenskrieg. Wenn solche Behauptungen aufgestellt werden, bitte beweise.

Erstens: Was verstehst du unter Elite der oop-Sprachen?
Zweitens: Geschwindigkeit ist lange nicht alles, zumal das von mal zu mal eigentlich immer unwichtiger wird, da die rechner inzwischen so schnell sind, das es da keinen großen unterschied im allgemeinen mehr macht ob das programm eine oder zwei sekunden zum starten braucht.



Das ist denke ich logisch, aber so oft wie ich manchmal den quelltext da verändern musste, weil ich wieder in den C++/Java&Co Style verfallen bin *g*


mfg Senior Sanchez
Es gilt als Elitesprache, ob es eine ist, sei dahingestellt. Elitesprache heißt, dass z.B. alle wichtigen Windowsanwendungen in C++ geschrieben sind, sowie auch sogut wie alle größeren Spiele.
Der hauptsächliche Vorteil von C++ liegt in der Geschwindigkeit. Java und Delphi sind einfach nicht vergleichbar effizient zu kompilieren wie das bei c++ der Fall ist. In vielen Dingen ist Geschwindigkeit auch heute noch wichtig, z.B. Simulationen, komplizierte Berechnungen etc., deine Aussage trifft leider nur auf irgendwelche popeligen Tools zu.
Stell dir mal vor HL2 wäre in Delphi programmiert worden, dann bräuchtest du sicherlich einen 8 GHz-Rechner, um das ordentlich zu spielen. Ist ja schon alles irre rechenaufwendig, denn die Rechnungen sind nicht "echt", es sind alles nur "Tricks", die in etwa das gleiche Ergebnis bringen, als wenn man es normal ausrechnen würde.

Java oder Delphi sind sicher nicht so pauschal gesagt schlecht, weil sie den Vorteil haben, dass man meist schneller Sachen drin schreiben kann, als das mit C++ geht. Wenn man das mit C++ vergleichbar gut machen will, braucht man Managed C++ oder C#.

Ich würde jedenfalls auf C++ setzen. Wer C++ ordentlich kann, der hat auch keine Probleme mit anderen höheren Sprachen wie Java (v.v.)

Senior Sanchez
2005-01-03, 21:12:25
Ich meinte es zwar mehr in Bezug auf die Geschwindigkeit des Delphi-Compilers, aber die Code-Qualität spielt natürlich ebenfalls eine große Rolle (an Spaghetti-Code auch nur zu denken, hatte ich in letzter Zeit erfolgreich verdrängt).


Ich find den Delphi Compiler eigentlich recht zackig, selbst auf unseren Celeron 633 Möhren ist der relativ schnell.


Es gilt als Elitesprache, ob es eine ist, sei dahingestellt. Elitesprache heißt, dass z.B. alle wichtigen Windowsanwendungen in C++ geschrieben sind, sowie auch sogut wie alle größeren Spiele.
Der hauptsächliche Vorteil von C++ liegt in der Geschwindigkeit. Java und Delphi sind einfach nicht vergleichbar effizient zu kompilieren wie das bei c++ der Fall ist. In vielen Dingen ist Geschwindigkeit auch heute noch wichtig, z.B. Simulationen, komplizierte Berechnungen etc., deine Aussage trifft leider nur auf irgendwelche popeligen Tools zu.
Stell dir mal vor HL2 wäre in Delphi programmiert worden, dann bräuchtest du sicherlich einen 8 GHz-Rechner, um das ordentlich zu spielen. Ist ja schon alles irre rechenaufwendig, denn die Rechnungen sind nicht "echt", es sind alles nur "Tricks", die in etwa das gleiche Ergebnis bringen, als wenn man es normal ausrechnen würde.

Java oder Delphi sind sicher nicht so pauschal gesagt schlecht, weil sie den Vorteil haben, dass man meist schneller Sachen drin schreiben kann, als das mit C++ geht. Wenn man das mit C++ vergleichbar gut machen will, braucht man Managed C++ oder C#.

Ich würde jedenfalls auf C++ setzen. Wer C++ ordentlich kann, der hat auch keine Probleme mit anderen höheren Sprachen wie Java (v.v.)


Verzeihe das ich lache, aber du erzählst auch ne menge humbug *rofl*

Erstens würde ich eine Elitesprache nie darüber definieren wie oft sie eingesetzt wird, dann wäre HTML auch ne Elitesprache was ich aber doch stark ablehnen würde.

In Delphi geschriebene Programme sind mit C++ vergleichbar von der Geschwindigkeit und Java ist auch recht schnell unterwegs. Kommt zwar nicht an C++ ran, aber trotzdem ist die Geschwindigkeit ordentlich. Das von dir ist typisches Anti-Java-Geblubber von vor 8 Jahren.

Das meine Aussage nur auf popelige Tools zutreffen sollte, zeugt von deiner Unkenntnis. Ich glaube du hast gar keine Ahnung was im Hintergrund alles abgeht und was da mit Java läuft. Riesige Server und Datenbanksysteme laufen damit oder werden mit java Software gesteuert und das ganze was da abläuft braucht Sicherheit und Stabilität, eine STÄRKE von Java. (Beispiel Online Shops, Bankengeschäfte und so weiter). Was da an Geldsummen bewegt wird und was da an komplexer software herrscht, dagegen ist dein HL2 echt popelig. Für nen HL2 in Delphi bräuchtest du ganz sicher keinen 8 GHZ Rechner.

Das mit deinen nicht echten Rechnungen und Tricks habe ich nicht gecheckt, erkläre es bitte mal verständlich. Klingt für mich nach Approximationen und allgemein Näherungsverfahren, aber sowas brauchte nicht nur bei HL2.

C# ist meiner Ansicht nach auch mehr ein Java Abkömmling.


Ich würde deine letzte Aussage anders formulieren: Wer C++/C/C#/PHP/Java kann hat kein Problem damit die anderen Sprachen zu lernen weil sie nen ähnlichen programmierstyle haben.


mfg Senior Sanchez

Trap
2005-01-03, 21:36:21
Es ist ziemlich unwichtig mit welcher Programmiersprache man anfängt. Wichtig ist, dass man die Konzepte mitbekommt und versteht.

Die konzeptionellen Unterschiede zwischen C++/C/C#/PHP/Java sind sehr klein im Vergleich dazu wieviel identisch ist.

pajofego
2005-01-03, 21:57:02
@Beh,

wenn du den C++ Compiler von Intel nimmst, dann gebe ich dir recht, dass dieser schnellere Anwendung für Simulationen übersetzt als Delphi. Aber aus eigener Erfahrung weiss ich, dass das gleiche Programm in Delphi bis zu 20% schneller sein kann als das Pendant in VS C++!!! Aber mind. 10% hole ich schon mehr aus Delphi raus! :biggrin:

Gruss pajofego

govou
2005-01-03, 22:08:37
Das meine Aussage nur auf popelige Tools zutreffen sollte, zeugt von deiner Unkenntnis. Ich glaube du hast gar keine Ahnung was im Hintergrund alles abgeht und was da mit Java läuft. Riesige Server und Datenbanksysteme laufen damit oder werden mit java Software gesteuert und das ganze was da abläuft braucht Sicherheit und Stabilität, eine STÄRKE von Java. (Beispiel Online Shops, Bankengeschäfte und so weiter). Was da an Geldsummen bewegt wird und was da an komplexer software herrscht, dagegen ist dein HL2 echt popelig. Für nen HL2 in Delphi bräuchtest du ganz sicher keinen 8 GHZ Rechner.

Das mit deinen nicht echten Rechnungen und Tricks habe ich nicht gecheckt, erkläre es bitte mal verständlich. Klingt für mich nach Approximationen und allgemein Näherungsverfahren, aber sowas brauchte nicht nur bei HL2.

C# ist meiner Ansicht nach auch mehr ein Java Abkömmling.

Du weißt das Ebay auf C++ - Basis läuft?


Ich würde deine letzte Aussage anders formulieren: Wer C++/C/C#/PHP/Java kann hat kein Problem damit die anderen Sprachen zu lernen weil sie nen ähnlichen programmierstyle haben.

Deswegen stand dort auch "v.v." hinter.

Senior Sanchez
2005-01-03, 22:19:07
Du weißt das Ebay auf C++ - Basis läuft?


Was läuft da auf C++? Afaik benutzt Ebay fast-cgi aber das ist nur das Front-End.

Schau dir mal lieber die URL an: http://pages.ebay.com/ebay_IBM.html

Zitat: eBay has chosen IBM to help it run its global marketplace, making it one of the most dynamic and flexible technology platforms in the world. By integrating IBM's WebSphere and Tivoli software solutions along with IBM's xSeries hardware into eBay's core technology foundation, eBay can respond almost instantly to the rapidly changing needs of its millions of users. The partnership between eBay and IBM is an important part of eBay's ongoing commitment to provide the world's most reliable marketplace.

IBM WebSphere ist ein Java 2 Enterprise Edition Application Server und IBM ist ein Unternehmen das verstärkt Java nutzt.

Also kannste dir dein C++ nen bissl knicken in der Hinsicht und ebay ist längst nicht alles: nen haufen Programmen für den elektronischen Wertpapierhandel laufen auch über Java, unter anderem die schnellsten (!!!) Handelsprogramme für spezielle Devisen in dem Sektor (woher ich das weiß? *g* Ganz einfach, ich code für das Unternehmen, das diese entwickelt *fg*)

Kennste Oracle 9i? Eins der besten Datenbanksysteme der Welt nutzt auch java Technologie.

Und sagt dir .NET etwas? Das ist u.a. Microsofts Antwort um der Marktführerschaft von Sun/Java im Enterprise Sektor entgegenzusetzen.

Achja, noch etwas: was wäre unsere moderne Handywelt wohl ohne Java? *gg*


Deswegen stand dort auch "v.v." hinter.


ach das sollte vice versa heißen, wusste ich nicht. Aber dann ist das ok.


mfg Senior Sanchez

M@tes
2005-01-03, 22:31:51
Kennt den keiner Perl/Cgi??
Mich würde mal die Meinung von einem interessieren, der c++ und Perl kann.
Imo kann ich nur sagen, das Perl von midestanfoderungen(Konsole) bis grafische Oberflächen anbieten kann.
Von Berechnungen bis Textverarbeitung.
Von Hardware bis Software ansteuerung

Soweit ich weiss, sind c++ und Perl recht ähnlich.
Imo wüsste ich auch nciht, warum ich auf c++ umsteigen sollte. Mir scheint Perl imo besser zu sein.

govou
2005-01-03, 22:55:45
Was läuft da auf C++? Afaik benutzt Ebay fast-cgi aber das ist nur das Front-End.

Schau dir mal lieber die URL an: http://pages.ebay.com/ebay_IBM.html

Zitat: eBay has chosen IBM to help it run its global marketplace, making it one of the most dynamic and flexible technology platforms in the world. By integrating IBM's WebSphere and Tivoli software solutions along with IBM's xSeries hardware into eBay's core technology foundation, eBay can respond almost instantly to the rapidly changing needs of its millions of users. The partnership between eBay and IBM is an important part of eBay's ongoing commitment to provide the world's most reliable marketplace.

IBM WebSphere ist ein Java 2 Enterprise Edition Application Server und IBM ist ein Unternehmen das verstärkt Java nutzt.

Also kannste dir dein C++ nen bissl knicken in der Hinsicht und ebay ist längst nicht alles: nen haufen Programmen für den elektronischen Wertpapierhandel laufen auch über Java, unter anderem die schnellsten (!!!) Handelsprogramme für spezielle Devisen in dem Sektor (woher ich das weiß? *g* Ganz einfach, ich code für das Unternehmen, das diese entwickelt *fg*)

Kennste Oracle 9i? Eins der besten Datenbanksysteme der Welt nutzt auch java Technologie.

Und sagt dir .NET etwas? Das ist u.a. Microsofts Antwort um der Marktführerschaft von Sun/Java im Enterprise Sektor entgegenzusetzen.

Achja, noch etwas: was wäre unsere moderne Handywelt wohl ohne Java? *gg*



ach das sollte vice versa heißen, wusste ich nicht. Aber dann ist das ok.


mfg Senior Sanchez
Du magst zwar recht haben, aber es geht darum, was die beste Sprache für den Threadersteller ist. Ich denke nicht, dass er Datenbankapplikationen oder Anwendungen für den Devisenhandel programmieren wird.

huha
2005-01-03, 23:02:30
Dein WIssen und deine Kenntnisse in allen Ehren beh, aber ich glaube, daß C(++) nicht die richtige Sprache zum Anfangen ist. Es gibt einfach zu viele Sachen, die aus purer Geschwindigkeit heraus gemacht werden.
Für JAVA gibt's ziemlich viel an Lehrmaterial, man kriegt schnell ne kostenlose IDE zusammen, der Einstieg ist nicht arg schwierig, man kann recht schnell graphische Sachen machen, wenn man denn will etc.

Ich will C(++) nicht schlecht reden, jedoch denke ich, daß man mit Java als Anfang besser beraten ist, da die Sprache etwas leichter ist als C(++). Die Syntax ist ähnlich, insofern ist ein späteres Erlernen von c++ kein großes Problem mehr.

Geschwindigkeit würde ich für einen Anfänger nicht gelten lassen. Gerade im Serverbereich wird zunehmend auf Java umgestellt, da sind dann nur noch die geschwindigkeitskritischen Grundelemente in C oder gar in Assembler geschrieben, der Rest ist Java, da plattformübergreifend und daher mit recht geringem Programmieraufwand verbunden ;).

-huha

Trap
2005-01-03, 23:19:07
Java vs C++, wo ist für Anfänger der Unterschied? Die meisten Codebeispiele aus Accelerated C++ könnte man Zeile für Zeile genauso in Java schreiben. Die Erklärungen könnte man auch direkt übernehmen...

Coda
2005-01-04, 03:00:25
Geschwindigkeit ist lange nicht alles, zumal das von mal zu mal eigentlich immer unwichtiger wird, da die rechner inzwischen so schnell sind, das es da keinen großen unterschied im allgemeinen mehr macht ob das programm eine oder zwei sekunden zum starten braucht.
Ich weiß nicht, aber ich finde es extrem wichtig das Awendungen "knackig" sind, aber darüber lässt sich streiten.
Bei Eclipse laden z.B. die Optionen ewig, ich finde das unzumutbar.

Crushinator
2005-01-04, 09:53:24
(...) Stell dir mal vor HL2 wäre in Delphi programmiert worden, dann bräuchtest du sicherlich einen 8 GHz-Rechner, um das ordentlich zu spielen. Bis vor Kurzem (2003) dachte ich auch, daß Delphi für derartige Applikationen wie Spiele nicht besonders geeignet sei, doch irgendwer zeigte mir die Konvertierung (http://sourceforge.net/projects/quake2delphi) von Quake2 von C nach Delphi, und ich konnte mich zumindest nicht über die Geschwindigkeit beschweren, ganz zu schweigen davon, daß ich fast umfiel, als das gesamte Projekt bei mir in weniger als 15 Sekunden kompiliert wurde. =)
Java oder Delphi sind sicher nicht so pauschal gesagt schlecht, weil sie den Vorteil haben, dass man meist schneller Sachen drin schreiben kann, als das mit C++ geht. Wenn man das mit C++ vergleichbar gut machen will, braucht man Managed C++ oder C#.Ich finde, Delphi hat ein paar akademische Nachteile bezüglich Kapselung von Klassen, aber sie hindern einen nicht daran trotzdem gesunde und gute (http://www.ghisler.com/) Applikationen zu schreiben. Java ist da (bezüglich OO) in vielerlei Hinsicht besser bzw. sauberer, dafür hat man dann anderswo (GUI) mehr Aufwand vor sich. C++ (i.Ü. meine Lieblingssprache) vereint in Form von Borland C++ und/oder dem aktuellen MSVC vom VS.Net viele der Vorteile von Java und Delphi, verlangt aber auch sehr viel digitales und umständliches Denken vom Entwickler. Zu C# kann ich keine objektive Meinung äußern, außer, daß sich die Sprache an sich mit Sicherheit genau so wie Java eignet um hochwertige Anwendungen zu schreiben, Vor- oder Nachteile vom Managed Code jetzt mal ganz außen vor gelassen.

Ich würde jedenfalls auf C++ setzen. Wer C++ ordentlich kann, der hat auch keine Probleme mit anderen höheren Sprachen wie Java (v.v.) Ich habe meine größeren Programmierschritte mit C angefangen (zuvor nur Basic bzw. einwenig 6502 ASM) und mich später gleichzeitig C++ und Object Pascal gewidmet. Wenn ich nur daran denke, daß ich meine Programme in weniger als ein Drittel der Zeit mit Pascal zum selben Ergebnis brachte als mit C++, würde ich als Anfänger der Softwareentwicklung nicht beruflich anstrebt genau andersrum, quasi mit besser (im Sinne von einfacher) gekapselten OO-Sprachen anfangen, sprich mit Delphi, Java oder eben C#. Wenn man gleich mit C anfängt, um C++ auch ordentlich einsetzen zu können, verliert man IMHO zu früh den Spaß an der Sache.

pajofego
2005-01-04, 11:41:57
@Crushinator

Kannst du bzgl. der Geschwindigkeit von Quake2 in Delphi eine quantitative Aussage treffen? Z.B. 20% schneller oder langsamer als in C++?

Danke,

gruss pajofego

Crushinator
2005-01-04, 12:26:53
Kannst du bzgl. der Geschwindigkeit von Quake2 in Delphi eine quantitative Aussage treffen? Z.B. 20% schneller oder langsamer als in C++? Die FPS bei /timerefresh war als ich es ausprobierte bis auf die Zahl nach dem Komma absolut gleich, und ich schätze daß sich damit die Frage nach den genauen Prozentzahlen bei Frameraten jenseits von 300 erübrigen dürfte. :)

Senior Sanchez
2005-01-04, 14:56:15
Ich weiß nicht, aber ich finde es extrem wichtig das Awendungen "knackig" sind, aber darüber lässt sich streiten.
Bei Eclipse laden z.B. die Optionen ewig, ich finde das unzumutbar.

Ich habe ja nie bestritten, dass Geschwindigkeit unwichtig ist, aber heute ist es längst nicht mehr sooo wichtig wie früher, da Computer-Resourcen (Speicher, CPU Takt etc.) in der Regel im Überfluss vorhanden ist. Als es früher darum ging aus wenig verfügbarem recht viel zu machen, war das natürlich was anderes.
Und sicher ist es ein unterschied ob da 5s oder 50s geladen wird.
Bei mir laden übrigens die Optionen nicht ewig, das geht schnell von der Hand.

Es ging mir aber auch darum zu zeigen, dass Geschwindigkeit nicht alles ist. Stabilität und Sicherheit sind für mein befinden VIEL wichtiger, oder auch Code Qualität (gut dokumentiert, leicht erweiter- und wartbar).

mfg Senior Sanchez

Thanatos
2005-01-04, 15:38:46
Nimm C++. Es ist immer noch die Elite der oop-Sprachen. Lass die Finger von Delphi oder Java. Sie bieten lange nicht die Geschwindigkeit/die Möglichkeiten, die C++ hat.

Als Buch kann ich dir "Accelerated C++" empfehlen, ist zwar auf Englisch, aber das beste. Falls du es haben möchstest -> PM


Ne, danke ;(

Ein Gutes Deutsches Buch wäre mir schon lieber.

Gegen Englisch hab ich ja diekt nichts, bloß wenn ich damit anfangen will sollte es schon leicht verständlich sein, auserdem bin ich erst 10. klasse, und da haben wir eher das Normale englisch, und in dem Buch werden sie wahrscheinlich eher son Fachgeblubber anwenden ;(

Trap
2005-01-04, 15:41:11
Das Buch gibt es auch in einer deutschen Übersetzung: http://www.pearson-studium.de/main/main.asp?page=bookdetails&ProductID=13537

Coda
2005-01-04, 16:31:00
Bis vor Kurzem (2003) dachte ich auch, daß Delphi für derartige Applikationen wie Spiele nicht besonders geeignet sei, doch irgendwer zeigte mir die Konvertierung von Quake2 von C nach Delphi, und ich konnte mich zumindest nicht über die Geschwindigkeit beschweren, ganz zu schweigen davon, daß ich fast umfiel, als das gesamte Projekt bei mir in weniger als 15 Sekunden kompiliert wurde.
Der Quake C Source kompiliert ähnlich schnell. Nur C++ braucht länger, was aufgrund der Sprachfeatures aber auch nicht verwunderlich ist.

Stabilität und Sicherheit sind für mein befinden VIEL wichtiger, oder auch Code Qualität (gut dokumentiert, leicht erweiter- und wartbar).
Hat nur leider nix mit der Sprache zu tun, vor allem letzteres nicht.

Thanatos
2005-01-04, 17:34:29
Also ich hab mir jetzt mal überlegt, was ich jetzt zum Anfangen nehme........


Und meine entscheidung ist jetzt auf C++ gefallen da ich von dem schon ein paar mal was gehört habe, und es auch glaube ich recht häufig benutzt wird.


Nun meine Frage:

Was brauch ich dazu alles???Könntet ihr mir vielleicht mal ein Anfänger "Set" zusammenstellen???

Und vielleicht ein gutes Buch darüber, das ihr empfehlen könnt???


?dit:Das Buch das oben verlinkt wurde hört sich schonmal ganz gut an, oder was meint ihr???

Idt es vollN00B tauglich??:ugly:

pajofego
2005-01-04, 17:58:44
C++ :eek:

Wenn du meinst! Ich hoffe du hast ein starkes Nervenkostüm :biggrin:

Dev C++ (http://www.bloodshed.net/devcpp.html)

Die IDE wurde mit Delphi erstellt, finde ich übrigens irgendwie lustig!

Aber vielleicht kann ich dich noch umstimmen, probier doch mal unbedingt C# aus!

#Develop (http://www.icsharpcode.net/OpenSource/SD/Download/)

Gruss pajofego

P.S.: Nur weils die meisten benutzen, heisst es doch nicht das es besser ist!

huha
2005-01-04, 18:04:47
Sorry, aber mit c++ anfangen wollen und gleichzeitig was vollb00n-taugliches haben wollen... das gibt's nicht wirklich.
Nimm' Java. Da gibt's viele kostenlose Bücher dazu (Java ist auch eine Insel z.B.), außerdem kann man recht schnell zu Ergebnissen kommen. Vorteil ist weiterhin, daß es dich erstmal nichts kostet, den Compiler gibt's im J2SE, ne vernünftige IDE ist Eclipse, welches Open-Source ist.

Klar kann man C++ auch ohne IDE (bzw. mit Gratis-IDE und -Compiler) machen, allerdings macht sowas nicht wirklich Spaß und man hat recht viel Aufwand, bevor man überhaupt vernünftig anfangen kann.

Daher rate ich dir davon ab.

-huha

Trap
2005-01-04, 20:07:41
Um es mal andersherum zu sagen: Wenn man mit C++ Programmieren lernen möchte, dann ist Accelerated C++ das einzige Buch das ich empfehlen kann. Mag sein dass es auch andere brauchbare Bücher gibt, aber ich kenn keins...

Java hab ich ne persönliche Abneigung gegen, warum weiß ich nicht genau. C# hab ich noch nicht genauer betrachtet.

Crushinator
2005-01-04, 23:35:04
Der Quake C Source kompiliert ähnlich schnell. Nur C++ braucht länger, was aufgrund der Sprachfeatures aber auch nicht verwunderlich ist. (...) Ich habe es eben mit dem aktuellen Source-Code ausprobiert und nebenbei festgestellt, daß ich sogar etwas untertrieben habe. Also, wenn ich die Compiler Warnings (es gibt sehr viele) abstelle kompiliert und linkt Delphi 7 innerhalb von lächerlichen 3 Sekunden alle 4 Targets, während MSVC 6 mit ebenfalls abgestellten Warnings auf dem selben XP2000+ mit 1 Gig RAM zwar sehr schnell ist aber im direkten Vergleich doch erheblich längere 24 Sekunden benötigt. ;)

Thanatos
2005-01-05, 00:26:36
Ok Ok , ihr habt mich überzeugt :biggrin:



Was brauch ich für Java??

Buch wäre auch ganz gut :)

Senior Sanchez
2005-01-05, 00:33:40
Willkommen auf der guten Seite der Macht *muahahaha*

Aaaaaaaaalso du brauchst: das Java 2 SDK, mal auf http://java.sun.com gucken, sollte leicht zu finden sein (da muss was von JDK bzw. SDK stehen, JRE reicht nicht!!!)

Dann sollteste dir noch ne gute IDE zulegen: ich empfehle den JBuilder für den Anfang. Hier gibts die kostenlose Foundation Edition vom 2005er Jbuilder: http://www.borland.com/products/downloads/download_jbuilder.html


In Literaturfragen haste Glück, gerade frisch rasugekommen ist die neueste Version von Java ist auch eine Insel, meiner Meinung nach eines der besten Bücher für den Anfänger wie auch für den Fortgeschrittenen. Und das beste: gibts auch für lau *ggg* http://www.galileocomputing.de/katalog/openbook/


So, viel spaß damit :)


mfg Senior-der-Sparfuchs-Sanchez

huha
2005-01-05, 00:54:56
Ich empfehle als IDE Eclipse. Ist recht praktisch und keine irgendwie "eingeschränkte" Version. Dadurch, daß es einiges an Plugins gibt, läßt sich Eclipse recht gut erweitern.

www.eclipse.org

-huha

Coda
2005-01-05, 02:13:21
Ich habe es eben mit dem aktuellen Source-Code ausprobiert und nebenbei festgestellt, daß ich sogar etwas untertrieben habe. Also, wenn ich die Compiler Warnings (es gibt sehr viele) abstelle kompiliert und linkt Delphi 7 innerhalb von lächerlichen 3 Sekunden alle 4 Targets, während MSVC 6 mit ebenfalls abgestellten Warnings auf dem selben XP2000+ mit 1 Gig RAM zwar sehr schnell ist aber im direkten Vergleich doch erheblich längere 24 Sekunden benötigt.
Hm probier mal MSVC++ 7.1, das ist erheblich schneller, außerdem kommt's ja auch drauf an wieviel optimiert wird :)

(Mit VC++ 6 kann man sich C++ auch immer vermiesen. Der Compiler ist grauenhaft)

clm[k1]
2005-01-05, 09:20:14
Ich empfehle als IDE Eclipse. Ist recht praktisch und keine irgendwie "eingeschränkte" Version. Dadurch, daß es einiges an Plugins gibt, läßt sich Eclipse recht gut erweitern.

www.eclipse.org

-huha

Jep, außerdem hat eclipse den vorteil, das die GUI mit GTK realisiert worden ist, wodurch das ganze nicht nur recht performant ist, sondern auch noch wesentlich besser aussieht als mit swing realisierte IDEs (damit meine ich vor allem die schrift-darstellung).


gruß
clm[k1]

Gast
2005-01-05, 10:23:47
ObjectPascal ist eigentlich so gar nicht mal schlecht. Sie ist schnell, hat viele Features und ist auch relativ verbreitet durch Delphi.

Nur leider ist die Syntax so besch...eiden.

@clm[k1]

Soweit ich weiß ist die Oberfläche mit SWT gemacht und dann gegen GTK gelinkt.

grandmasterw
2005-01-05, 10:39:50
Also ich find grad die Pascal Syntax schön. Einfach viel lesbarer, auch weil einem begin und end viel eher ins Aug springt, als die ganzen Klammern.
Muss zwar momentan C++ programmieren, aber was solls. Java hat mir von der Struktur gut gefallen, man wird halt zur Objektorientiertheit gezwungen.
Wenn man einmal ein richtig schön durchdesignetes java Prog geschrieben hat, schauen ab dem Zeitpunkt die Delphi-Programme auch anders aus. Pointer braucht man da nur mehr selten.
Und btw. ein Delphi-Konsolenprogramm hast du auch schnell zusammen. Wär halt sinnvoll, wenn nicht standardmäßig ein Formular da wäre - so klickt jeder mal gleich herum, bevor er zu programmieren anfängt.

Aber wer mal ein Datenbankprogramm mit großen Formularen, Überprüfung der eingegebenen Strings, usw. in Delphi geschrieben hat, will das sonst nirgendwo mehr tun.

btw. was sind das für Klassen, wo jeder ne andere Sprache lernt? Is ja gut, wenn alle mit der Zeit mehrere Sprachen lernen, aber zu einem Zeitpunkt sollten doch alle die gleiche lernen. :|

Trap
2005-01-05, 11:11:29
Kann mir bitte jemand erklären was an Java für Anfänger einfacher sein soll als an C++? Das mit der IDE ist doch fast ein Witz, Eclipse kann man genauso für C++ benutzen (mit CDT Plugin), der Compiler ist genauso einfach zu installieren (Datei runterladen, Wizard durchklicken), bzw. Dev-C++ benutzen, da braucht man nur 1 Datei.

Naja, eigentlich ist die Sprache ziemlich egal. Wichtig ist das man ein Buch/einen Lehrer hat der einem nicht nur die Programmiersprache darlegt, sondern auch zeigt wie man sie praktisch nutzen kann um Probleme zu lösen und einem dahinterliegende Konzepte nahelegt. Ich kenne sehr viele Bücher die einem nur die Programmiersprache erklären und einen dann damit allein lassen. Java ist auch eine Insel scheint mir eins davon zu sein.

@grandmasterw:
Hast du mal Lisp oder Scheme Code gesehen? ;)
Wenn dir Pascal-Syntax und die Java OO-strenge gefällt und du Lust drauf hast eine andere Sprache kennenzulernen guck dir mal Eiffel an. Ein paar Konzepte sind da immernoch einzigartig und nicht von anderen Sprachen kopiert. z.B. Unterstützung für Vor- und Nachbedingungen und Invarianten und sinnvoll verwendbare Mehrfachvererbung.

Crushinator
2005-01-05, 11:13:54
Hm probier mal MSVC++ 7.1, das ist erheblich schneller, außerdem kommt's ja auch drauf an wieviel optimiert wird :) Mangels vergleichbaren PC kann ich es gerade nicht nachprüfen, aber mehr als doppelt so schnell wird er schätzungsweise auch nicht sein, was immer noch ca. 4 mal so langsam wäre wie bei Delphi, und der am besten optimierende Compiler den ich zur Verfügung habe ist der von Intel in der Version 7.1 und er macht's in sagenhaften 54 Sekunden, und zwar ohne daß ein Geschwindigkeitszuwachs mehr als die Toleranzgrenze von 1 bis 2 FPS im Spiel feststellbar ist. :)

Thanatos
2005-01-05, 14:00:26
Och manno, was soll ich denn jetzt nehmen, ihr Fanboys :udevil: machts mir echt ned leicht, was denn nun ;(??

pajofego
2005-01-05, 15:28:21
Och manno, was soll ich denn jetzt nehmen, ihr Fanboys :udevil: machts mir echt ned leicht, was denn nun ;(??

Ganz einfach!

Probier einfach Java und C# mit den o.g. Tools aus! Die Zeit solltest du dir nehmen! Falls dir die eine oder andere besser gefällt, dann hast du schon eine Wahl getroffen. Für mich sind neben Sprachfeatures und IDE noch die Doku, die Compilerfehlermeldungen und der Debugger ein sehr wichtiges Kriterium. Und da sind meiner Meinung nach die Produkte von M$ besser! Zwar bringt #Develop selbst keinen eigenen Debugger mit, aber mit dem .Net SDK wird kostenlos der Debugger von M$ mitgeliefert! Also try it!!!

Gruss pajofego

govou
2005-01-05, 15:34:39
Och manno, was soll ich denn jetzt nehmen, ihr Fanboys :udevil: machts mir echt ned leicht, was denn nun ;(??
C++

Buch: Accelerated C++ (hab ich selber auch hier liegen)
IDE: Dev-C++; Visual C++ 6 Autoren Ed.; afaik gibts auch das neuste Visual Studio als Testversion kostenlos zum Download bei Microsoft

Edit: Wie war das nochmal? "Java ist eine Insel...", naja...lassen wir das :ulove: .

maximAL
2005-01-05, 17:46:40
gibts eigentlich auch eine gute RAD IDE (ähnlich delphi) mit java?

Crushinator
2005-01-05, 18:12:36
Och manno, was soll ich denn jetzt nehmen, ihr Fanboys :udevil: machts mir echt ned leicht, was denn nun ;(?? Wenn ich das richtig verstanden habe, neigt die knappe Mehrheit Sprachen wie Java oder C# zu empfehlen. Ich schließe mich dem - insbesondere dem Java-Vorschlag an, weil ich mir wünsche, daß Du Dich a) anfangs (beispielsweise mit C++) nicht übenimmst b) für notwendige Tools nicht viel Geld ausgeben brauchst, und c) dabei auf alle Fälle mehr verständliche Hilfe und Dokus im Web finden wirst. Den Vorteil, daß Deine Programme schon out of the box auch auf anderen Plattformen außer Windows liefen, lassen wir mal außen vor. Falsch machen kann man zumindest für den Anfang mit Java nicht wirklich viel, nur die Wahl der benötigten Werkzeuge könnte einem etwas schwer fallen. Meine Empfehlung für den Anfang wäre die kostenlose Version von JBuilder 2005. Eclipse ist allerdings - wenn man damit zurecht kommt - auch mächtig. :)

Senior Sanchez
2005-01-05, 18:24:05
Ich würde auch erstmal den jbuilder 2005 empfehlen, da meiner ansicht nach eclipse für den anfänger recht harter tobak ist.


mfg Senior Sanchez

Darkstar
2005-01-05, 20:48:45
Dann empfehle ich noch schnell NetBeans (http://www.netbeans.org/), das kann man in der aktuellen Version bei Sun zusammen mit dem JDK herunterladen. Alternativ sind Eclipse oder JBuilder sicher ebenso zu empfehlen.

Trap
2005-01-06, 02:09:37
Wenn ich das richtig verstanden habe, neigt die knappe Mehrheit Sprachen wie Java oder C# zu empfehlen. Ich schließe mich dem - insbesondere dem Java-Vorschlag an, weil ich mir wünsche, daß Du Dich a) anfangs (beispielsweise mit C++) nicht übenimmst b) für notwendige Tools nicht viel Geld ausgeben brauchst, und c) dabei auf alle Fälle mehr verständliche Hilfe und Dokus im Web finden wirst.
Sehe ich anders.

a) Für das was man als Anfänger braucht ist C++ einfacher als Java. Die meisten Bücher sind nur der Meinung, dass man nicht mit dem was man braucht anfangen sollte, sondern die Sprache langsam aus kleinen Teilen zusammensetzen sollte. Dann ist C++ komplizierter.
b) gilt für alle 3 Sprachen, ist keine Eigenheit von Java
c) Menge ist nicht wichtig, man braucht nur 1 verständliche Erklärung. Ob man die einfacher für Java findet - ich bin da nicht so sicher...

Wofür braucht ein Programmieranfänger eine tolle IDE?

@thanatos:
Egal was du nimmst, die meisten Erklärungen sind schlecht (siehe http://c2.com/cgi/wiki?SturgeonsLaw), wenn du etwas nicht verstehst liegt es nicht immer daran das es kompliziert ist, sondern oft an der schlechten/unpassenden oder sogar falschen Erklärung. Das Dumme ist, dass man es als Anfänger nur schwer erkennen kann und dann entmutigt aufgibt. Nicht nachmachen!

Coda
2005-01-06, 02:11:28
Mangels vergleichbaren PC kann ich es gerade nicht nachprüfen, aber mehr als doppelt so schnell wird er schätzungsweise auch nicht sein, was immer noch ca. 4 mal so langsam wäre wie bei Delphi, und der am besten optimierende Compiler den ich zur Verfügung habe ist der von Intel in der Version 7.1 und er macht's in sagenhaften 54 Sekunden, und zwar ohne daß ein Geschwindigkeitszuwachs mehr als die Toleranzgrenze von 1 bis 2 FPS im Spiel feststellbar ist.
Quake ist auch nicht Prozessorlimitiert :rolleyes:

Xmas
2005-01-06, 03:24:48
Wenn es darum geht, eine Programmiersprache für den Einstieg zu empfehlen, sind Themen wie die Build-Zeit für Quake oder die Ausführungsgeschwindigkeit von diversen Programmen doch ziemlich nebensächlich.
Man sollte Programmieren lernen, und nicht eine Programmiersprache oder eine IDE. Dann fällt es auch leicht, sich an unterschiedliche Bedingungen anzupassen.


Ich würde für den Einstieg Java oder C# empfehlen. Mein weiterer Favorit wäre Python, das ich für die bessere Sprache zum Programmieren lernen halte, doch was Python an Einfachheit und Eleganz voraus hat, holen die anderen beiden durch die besseren verfügbaren Tools auf.

Absolut essenziell und unteilbar mit dem richtig Programmieren Lernen verbunden, doch leider oft völlig vernachlässigt, ist Debuggen zu lernen.
Man kann es gar nicht genug betonen. Was man an Schulen oder Unis lernt, ist nicht Programmieren, sondern fix ein kleines Programm zusammenzuhacken. Mit einer solchen "Ausbildung" ist man bei größeren Projekten (oder gar beim Einarbeiten in fremden Code) hoffnungslos überfordert.

Für den Anfänger wichtig ist deshalb IMO:
eine leicht zu erlernende Sprache
eine übersichtliche, hilfreiche IDE
ausführliche Dokumentation
ein guter Debugger



Ich empfehle als IDE Eclipse. Ist recht praktisch und keine irgendwie "eingeschränkte" Version. Dadurch, daß es einiges an Plugins gibt, läßt sich Eclipse recht gut erweitern.
Eclipse ist eine schöne IDE, ich benutze sie für Java selbst, und musste gerade erst ein Plugin dafür schreiben. Aber ein Einsteiger wird damit erst mal erschlagen. In Teilen ist es überfrachtet, unübersichtlich, unintuitiv, in anderen unvollständig und man muss sich erst mal die "richtigen" Plugins zusammensuchen. Hat man sich eingearbeitet, dann geht alles leicht von der Hand. Aber bis dahin wäre ein Einsteiger mit einer anderen IDE besser bedient.

Crushinator
2005-01-06, 10:40:01
Quake ist auch nicht Prozessorlimitiert :rolleyes: Vielleicht könntest Du uns dann erklären, woraus die Limitierung des integrierten Quake2-Softwarerenderers bei dem auch kein Geschwindigkeitsunterschied festzustellen ist entsteht? =)
Wenn es darum geht, eine Programmiersprache für den Einstieg zu empfehlen, sind Themen wie die Build-Zeit für Quake oder die Ausführungsgeschwindigkeit von diversen Programmen doch ziemlich nebensächlich. (...) Dem stimme ich selbstverständlich zu. Die Diskussion darüber ergab sich einfach aus dem Umstand, daß man in den Raum warf, Delphi eigne sich vermutlich nicht dafür Spiele zu schreiben, was so ja nicht ganz stimmt. ;)

pajofego
2005-01-06, 12:20:52
Für den Anfänger wichtig ist deshalb IMO:
eine leicht zu erlernende Sprache
eine übersichtliche, hilfreiche IDE
ausführliche Dokumentation
ein guter Debugger



Endlich, hat's einer auf das Wesentliche Zusammengefasst! Als ich noch blutiger Anfänger war, waren Probleme wie Compilermeldungen nicht verstehen und eine beschissene Doku mein größtes Problem. Insbesondere, wenn man sich als Anfänger daran wagt etwas selber zu implementieren und da fangen die Probleme erst richtig an. Warum will er jetzt nicht? Was soll das jetzt wieder heißen u. etc.? Typische Anfängerfragen halt! Und da ist meiner Meinung nach C# nicht zu schlagen, wunderbare Doku, geile Erklärungen, Compilerwarnungen u. Fehler sind verständlich insbesondere für den Anfänger und ganz wichtig mit F1(VS2003) erhält man die passende Erklärung warum es diesen Fehler gibt und wie man ihn wieder wegbekommt!

Wenn du dir was ganz gutes in Sachen IDE tun willst, dann lad dir kostenlos VS2005 Express für C# runter. Man haben die wieder ganze Arbeit geleistet! Der DEBUGGER ist mal wieder erste Sahne!

Gruss pajofego

Senior Sanchez
2005-01-06, 13:43:10
Naja, den Debugger finde ich bei eclipse auch recht gelungen, obwohl ich neulich erst nen beschissenen Fehler hatte (Code lief nicht, weil der haken bei "Build Automatically" nicht gesetzt war). Ansonsten finde ich den recht gut, auch das Hot Code Replacement finde ich klasse und so habe ich schon einige Fehler gefunden. Aber gibt ja noch das gute System.out.println ;))


mfg Senior Sanchez

Trap
2005-01-06, 14:46:42
Für den Anfänger wichtig ist deshalb IMO:
eine leicht zu erlernende Sprache
eine übersichtliche, hilfreiche IDE
ausführliche Dokumentation
ein guter Debugger
Da fehlt immernoch was: Gut erklärte Beispiele wie man die Programmsprache dazu benutzt Probleme zu lösen.

pajofego
2005-01-06, 15:56:32
Da fehlt immernoch was: Gut erklärte Beispiele wie man die Programmsprache dazu benutzt Probleme zu lösen.

MSDN Library ;)

Reicht dicke, da brauche ich noch nicht mal mehr ein Buch! Die haben auch sehr viele Beispiele online!

Und wenn's net reichen sollte mit .NET Beispiele, dann gibt es noch Codeproject (http://codeproject.com/) . Und wenn man da net fündig wird, dann weiss ich auch nicht weiter!

Gruss pajofego

P.S.: Ist echt schwierig hier bei sovielen Anhänger von Java, für C# Werbung zu machen. Gibt's nicht noch jeman der mich unterstützt? :biggrin:

Coda
2005-01-06, 16:09:11
Quake ist auch nicht Prozessorlimitiert
Vielleicht könntest Du uns dann erklären, woraus die Limitierung des integrierten Quake2-Softwarerenderers bei dem auch kein Geschwindigkeitsunterschied festzustellen ist entsteht?
Öh der ist doch in Assembler geschrieben, was hat das jetzt mit dem Compiler zu tun?
Grad deshalb wird man wohl kaum Unterschiede feststellen. Der Rest ist verglichen zum Rasterizing zu vernächlässigen von der benötigten Zeit.

Crushinator
2005-01-06, 18:23:02
Öh der ist doch in Assembler geschrieben, was hat das jetzt mit dem Compiler zu tun? (...) Hast Du Dir den Delphi-Code überhaupt angeschaut? Er besteht im größeren Teil eben nicht aus Assembler Code. Selbst Dynamic Lights sind in Pascal implementiert. :rolleyes:

beta3
2005-01-06, 20:16:27
Wenn du dir was ganz gutes in Sachen IDE tun willst, dann lad dir kostenlos VS2005 Express für C# runter. Man haben die wieder ganze Arbeit geleistet! Der DEBUGGER ist mal wieder erste Sahne!

Gruss pajofego

Diese IDE ist wirklich super, aber nur beta.
Final wird nicht kostenlos sein

Kinman
2005-01-10, 19:51:44
wenn man mal ein bisschen was kann sind die Kompendium Bücher von Markt und Technik einfach Spietze als nachschlagwerk.
Habe selbst Das Visual Basic 6.0 und C++ Kompendium.

mfg Kinman

Daenzer
2005-01-11, 16:09:29
Mh... Tja, mir ging es bis vor einem Jahr etwa ziemlich ähnlich. Hab mich damals für C++ als Einstieg entschieden und hab's ein bisschen bereut. Es ist natürlich eine geniale Sprache, aber der gewaltige Funktionsumfang, und damit auch Fehlerumfang, den man als ungeübter Anfänger ausgiebig nutzt, sind Gift für den Neuling. Ich lern's seit einem halben Jahr im Rahmen meiner Informatikassistenausbildung an der Berufsschule bei einem Lehrer, der seit einigen Jahren bei einer Softwarefirma als Entwickler tätig ist und wirklich Ahnung hat. Ich seh's aber an meinen Klassenkameraden, dass die fast erschlagen werden vom Umfang der Sprache. Seit 2 Monaten guck ich mir Java an und find's einfach genial, dass vieles, gerade für den Anfänger einfacher ist. Doku, frei verfügbare IDE's, schöner Debugger bei eclipse bspw... Ich empfehl hier einfach Java als Einstieg für dich, ist richtig genial :D

mrdigital
2005-01-11, 17:10:17
C++ ist und bleibt einfach eine Drecksprache. C++ ist (oder kann ;)) schnell sein, es gibt gute Compiler, jede Menge Doku, kurz es ist die Sprache mit dem meisten und besten(?) Drumherum. Aber die Sprache ist trotzdem ein Scheiss (auch wenn man mit dem Scheiss ganz gut umgehen kann ;)). Alleine dass Schlüsselworte je nach Kontext eine andere Bedeutung haben ist für einen Anfänger echt tödlich (ich denk da mal an static z.b.).
Wie die ganzen Vorredner schon gesagt haben, Java ist sicher zum lernen keine schlechte Wahl, die Sprache ist mächtig und gut genug, dass man vom kleinen Quickhacktool bis hin zur Megaapplikation alles mit machen kann ohne dabei den Überblick zu verlieren.

Bernd__
2005-01-20, 17:18:37
Was empfehlt ihr jetzt als IDE?

NEtbeans

oder

JBuilder 2005

Eclipse kommt nach dem bisher gelesenen für mich nicht in Frage.

MFg bernd

Coda
2005-01-21, 09:40:52
Hast Du Dir den Delphi-Code überhaupt angeschaut? Er besteht im größeren Teil eben nicht aus Assembler Code. Selbst Dynamic Lights sind in Pascal implementiert. Das ist aber auch nicht das Bottleneck. Der Rasterizer ist sicherlich in Assembler übernommen worden, sonst wäre die Performance deutlich gesunken.

5k3k35
2005-01-21, 09:46:51
Hat noch keiner Sharpdevelop (http://www.icsharpcode.net/OpenSource/SD/) erwähnt?
Das ist eine Open Source Entwicklungsumgebung für .NET.

Crushinator
2005-01-21, 10:47:13
Das ist aber auch nicht das Bottleneck. Der Rasterizer ist sicherlich in Assembler übernommen worden, sonst wäre die Performance deutlich gesunken. Selbstverständlich ist alles was in C geschrieben war in Delphi konvertiert und die ASM Teile gleich übernommen worden. Wenn man in diesem Zusammenhang von vermutlich gesunkener Performance spricht, sollte man auch einsehen, daß sie auch im ursprünglichen Code gesunken wäre, wenn man nur C und kein Assembler eingesetzt hätte. Welchen Grund sollte es denn sonst gegeben haben ASM unter C zu verwenden? Und wenn es diese Möglichkeit auch bei Delphi gibt, warum soll die Sprache für Spieleentwicklung ungeeignet sein? Letztendlich ging es mir während dieser Diskussion nur darum, daß sich Delphi respektive (Object-)Pascal grundsätzlich nicht puncto Performnace im erzeugten Binary verstecken braucht. Der einzige Delphi-Nachteil von ernsthafter Bedeutung den es bis zur Version 8 bezüglich "Performance rauskitzeln" hatte war, keine inline functions zu unterstützen. Seit Delphi 2005 ist auch der Nachteil weg. ;)

Coda
2005-01-21, 13:41:42
Welchen Grund sollte es denn sonst gegeben haben ASM unter C zu verwenden?Natürlich wegen der Performance. Ich versuche dir nur klarzumachen, dass ein portiertes Quake kein guter Performancevergleich zwischen Delphi und C ist, weil der Performancekritische Teil sowieso Assembler ist.

Und auch Delphi 2005 wird gegen ein Intel C++/GCC 4.0 alt aussehen, da kannst du mir nix erzählen.

Crushinator
2005-01-21, 14:40:35
Natürlich wegen der Performance. Ich versuche dir nur klarzumachen, dass ein portiertes Quake kein guter Performancevergleich zwischen Delphi und C ist, weil der Performancekritische Teil sowieso Assembler ist. Nein, das versuchst Du mir nicht klar zu machen. Das einzige, was Du meiner Meinung nur klarmachst ist, daß Du keine Gegenbeispiele aus der Realworld erbringen kannst, die Deine Thesen unterstützen. Weil wenn der Softrenderer die selbe Performance bringt, schiebst Du es auf Assembler und wenn der GL-Renderer eben so schnell ist, soll ein Game aus dem Jahre 97 gar nicht CPU limitiert sein. Aber selbst wenn dem alles so wäre, kann Delphi gar nicht völlig ungeeignet sein um Spiele zu entwickeln, schon gar nicht wenn man darunter eben so mit inline ASM und Pointern jonglieren kann.

Und auch Delphi 2005 wird gegen ein Intel C++/GCC 4.0 alt aussehen, da kannst du mir nix erzählen. Echt Klasse Argumentation, vor allem mit so vielen unabhängigen Quellen, wo man sich davon überzeugen kann. Die ist echt so gut, daß ich einfach sprachlos bin. Echt der Hammer!

*plonk*

Matrix316
2005-01-21, 15:36:53
Kennt den keiner Perl/Cgi??
Mich würde mal die Meinung von einem interessieren, der c++ und Perl kann.
Imo kann ich nur sagen, das Perl von midestanfoderungen(Konsole) bis grafische Oberflächen anbieten kann.
Von Berechnungen bis Textverarbeitung.
Von Hardware bis Software ansteuerung

Soweit ich weiss, sind c++ und Perl recht ähnlich.
Imo wüsste ich auch nciht, warum ich auf c++ umsteigen sollte. Mir scheint Perl imo besser zu sein.

Also ich kann c, java und etwas c++ aber ich hab auch schon zumindest Perl Code gesehen und ich finde, dass dieser zwar c ähnlich ist, aber SEHR SEHR SEHR SEHR (und noch 10 sehrs ;)) unübersichtlich aussieht, mit den ganzen $ und \ und sonstwas Sonderzeichen vor Variablen und so...

icemanemp
2005-01-21, 16:47:39
Ich kann mich auch nur voll für Delphi aussprechen!
Von der Performance her geben sich keine Programmiersprachen etwas! Selbst mit dem super duper Compiler von Intel wirst du nie 20% aus ner komplette Anwendung rausholen! Delphi ist genauso schnel wie c++... Borland weiss was sie tun und bauen genauso Optimierungen rein! Die haben ja auch den CBuilder, daher kennen die sich schon aus...
Wie jemand schon gesagt hat! Man muss je nach Anwendungsfall entscheiden und wenn man sich einmal entschieden hat, dann wird die Anwendung mit dieser Sprache erstellt und net irgendwo zwischendrin umgestellt, da wenn das der Fall ist, dann kann das Projekt ja net so wichtig sein bzw. die Planung lausig gewesen sein!
Wir erstellen z.B. ne Warenwirtschaftssoftware mit Delphi 5 und nehmen damit sehr viel Geld ein... die einzigsten Geschwindigkeitsnachteil sind hier im Bereich DB zu sehen, aber das liegt an der DB und den Netzwerken nicht an einer Programmiersprache... wird ja schon kindisch... Mehr würde mich aufregen, wenn irgendwelche Leute schlecht strukturierten und kaum lesbaren Code erzeugen, als sich über ne Programmiersprache zu streiten! Wo man noch sagen muss das die meisten Seiten Off-Topic sind und dem Threadersteller net gerade helfen...

M@tes
2005-01-21, 20:31:04
Also ich kann c, java und etwas c++ aber ich hab auch schon zumindest Perl Code gesehen und ich finde, dass dieser zwar c ähnlich ist, aber SEHR SEHR SEHR SEHR (und noch 10 sehrs ;)) unübersichtlich aussieht, mit den ganzen $ und \ und sonstwas Sonderzeichen vor Variablen und so...
Naja $ find ich gut. SOnsst gibts son puff wie in JavaScript.
\ sind eher seltener der Fall.
Perl is voll easy. Womit ich nur einwenig Probleme habe, ist das mischen von hash und arrays,...

ScottManDeath
2005-01-22, 03:36:09
MSDN Library ;)
....P.S.: Ist echt schwierig hier bei sovielen Anhänger von Java, für C# Werbung zu machen. Gibt's nicht noch jeman der mich unterstützt? :biggrin:

Yes Sir, I'm here Sir =)

Mein persönliches Ranking der Sprachen für Anfänger


1. C#

+ Exzellente Dokumentation (MSDN Library, sowohl offline als auch online (http://msdn.microsoft.com/) verfügbar)
+ ISO / ECMA Standard, dort wo C# drauf steht, ist auch C# drinne + zukunftssicher (zumindest unter Windows), da Longhorn die alte Windows API als WinFX für C#/VB.NET verfügbar macht--> Microsoft wird .NET wohl nicht so schnell fallen lassen
+ kompatibel zu anderen .NET Sprachen wie z.B. Visual Basic.NET, Managed C++, J#, d.h. Du codest heute in C# und später nutzt Du deinen Code unter Visual Basic .NET (obwohl das eher eine Rückentwicklung wäre ;))weiter.
+ Visual Studio IDE (gibts für ca 120€ als Schülerversion) ist intuitiv nutzbar, die Compiler Warnungen und Fehler nützlich und hilfreich
+ "reine" Objektorientierte Sprache, man wird gezwungen sauber zu Coden
+ riecht wie C/C++, schmeckt wie C/C++, ist aber C# --> und damit in 90% der Fälle besser als C/C++

- benötigt .NET Framework, d.h. beim Kopieren um es mal fix dem Kumpel zu zeigen was man gecodet hat ist es u.U. umständlich
- GUI Programme laufen nur unter Windows, Konsolenprogramme mit Mono oder DotGNU und Rotor auch unter Linux / MacOS

2. Java

+ Kostenlose IDE, ich hatte mit NetBeans gearbeitet, war intuitiv zu bedienen
+ große Community
+ "reine" Objektorientierte Sprache, man wird gezwungen sauber zu Coden
+ Java läuft (zumindest in den Grundzügen) vielen Plattformen
+ nahezu Industriestandard

- integriert sich nicht nahtlos ins Betriebssystem -> man hat keine exe Datei die man schnell mal kopieren kann
- benötigt Java Runtime, d.h. beim Kopieren um es mal fix dem Kumpel zu zeigen was man gecodet hat ist es u.U. umständlich
- voll proprietäres System von Sun, Sun kann in der Java Version 1.X Kompatibilität über Bord werfen (theoretisch), es gibt Java nur vom Monopolisten Sun
- häßliche Camel Konvention zur Benennung von Methoden :D, insbesondere aufgrund des Fehlens von Properties sind IMHO set und get Methoden eine unästhetische Sache
- eine Klasse pro Datei finde ich ein bischen dämlich, wenn man für kleine Helper-Klassen eine extra Datei anlegen muss finde ich das unverständlich

3. C/C++

Das Spielzeug für die Großen ;)
+ flexibel, schnell aber mit vielen Möglichkeiten sich in den Fuß zu schießen (und dabei das ganze Bein zu verlieren)
+ ISO / ECMA Standard, dort wo C/C++ drauf steht, ist auch C/C++ drinne
+ C/C++ gibts auf so ziemlich allem was irgendwie programmierbar ist, vom Microcontroller, über Handys, PC bis zum Supercomputer
+ Industriestandard

+/- benötigt manchmal Verständniss über Hardware Interna, bzw über Prinzipien von CPU um es effizient zu nutzen, dadurch aber auch besseres Verständnis als bei den ganzen "Klicki-Bunti" Sprachen :) ()

- schon etwas betagt, Features wie z.B. Interfaces oder Properties fehlen
- z.T. inkonsistent: z.B. static als Schlüsselwort vom Kontext abhähngig
- keine eingebauten String Datentypen (ok, es gibt die std:: string Klasse)
- Verteilung des Codes auf Header/Implementationsdatein führt bei Anfängern schnell zu Verwirrungen, z.B. #includes in den falschen Dateien und Reihenfolgen


4. Delphi

+ GUI ist fix zusammengeklickt, es kommen schnell Erfolgserlebisse, die braucht man zur Motivation
- Syntax ist gegenüber den anderen 3 anders, kann man eine von den and
eren 3, kann man alle mehr oder weniger
- proprietäres System von Borland, Borland kann in der Delphi Version 200X Kompatibilität über Bord werfen (theoretisch)
- k.a. was passiert wenn Borland irgendwann mal Pleite geht und dann keiner mehr Delphi pflegt, bei den anderen Sprachen stehen genug andere Firmen dahinter, bzw es sind ISO/ANSI/ECMA Standards






Unabhängig von der Sprache ist ein einführendes Buch Gold wert. Ich hatte C++ mit den Borland C 5 Kompendium (Markt&Technik) angefangen (hatte zuvor schon Turbo Pascal und Visual Basic 3.0 Erfahrung ), es hat mich an der Hand genommen und in einfachen Konsolenprogrammen Schritt für Schritt den die Grundlagen erklärt.

Da IMHO Konsolenprogramme für den Anfang am geeignetsten sind, und man sie in allen genannten Umgebungen nutzen kann, sollte man die auch tun. So kann man grundlegende Daten-/ Kontrollstrukturen mittels einfachen print Befehlen anschaulich verstehen.

Dann noch ein Ranking meiner Favoriten, man soll ja schließlich wissen wessen Fanboy ich bin =)

(1): C/C++ für Grafikprogrammierung und alle Dingen die schnell sein müssen
(1): C # für den ganzen Rest, von GUI über Netzwerk zu Projekten für die Hochschule

Aqualon
2005-01-22, 08:10:10
2. Java
- integriert sich nicht nahtlos ins Betriebssystem -> man hat keine exe Datei die man schnell mal kopieren kannDafür kannst du ein jar-File schnell kopieren, wenn auf dem anderen Rechner die JRE installiert ist. Sonstige Bibliotheken, die nicht Bestandteil der JRE sind, müssen eben beigelegt werden, ist aber bei anderen Sprachen auch nicht anders.
- voll proprietäres System von Sun, Sun kann in der Java Version 1.X Kompatibilität über Bord werfen (theoretisch), es gibt Java nur vom Monopolisten SunWie schaut es da bei C# aus? Es mag zwar ein ISO-Standard sein, aber Microsoft kann genauso entscheiden, bestimmte Sprachelemente in zukünftigen Versionen nicht mehr zu unterstützen. Ok, es gäbe noch Mono, aber die müssen sich im Endeffekt auch danach richten, was MS vorgibt.
- häßliche Camel Konvention zur Benennung von Methoden :D, insbesondere aufgrund des Fehlens von Properties sind IMHO set und get Methoden eine unästhetische SacheIst wohl Geschmackssache ;)
- eine Klasse pro Datei finde ich ein bischen dämlich, wenn man für kleine Helper-Klassen eine extra Datei anlegen muss finde ich das unverständlichEine Klasse pro Datei muss nur sein, wenn du ein Objekt dieser Klasse in einer anderen Klasse brauchst.

Aqua

HellHorse
2005-01-22, 09:46:30
+ Exzellente Dokumentation (MSDN Library, sowohl offline als auch online (http://msdn.microsoft.com/) verfügbar)
Sorry, aber auch zu Java gibt es gute (sehr gute, exzellente, ...) Doku, die sowohl offline wie auch online (http://java.sun.com/j2se/1.5.0/docs/api/) verfügbar ist.
Und es gibt coole Sache wie das (http://jdocs.com/j2se/1.4.2/api/index.html)

die Compiler Warnungen und Fehler nützlich und hilfreich
Würde ich von Java auch behaupten.

- integriert sich nicht nahtlos ins Betriebssystem -> man hat keine exe Datei die man schnell mal kopieren kann
Eine .exe kann man schon machen. Das ist aber das kleiste Problem unter "integriert sich nicht nahtlos ins Betriebssystem".

- voll proprietäres System von Sun, Sun kann in der Java Version 1.X Kompatibilität über Bord werfen (theoretisch), es gibt Java nur vom Monopolisten Sun
Nein, Java gibt es nicht nur von Sun. Es gibt auch Opensource Java. Und Sun hat sich in der Vergangenheit ein Bein für Rückwärtskompatibilität ausgeschrisssen und wird es wohl in Zukunft wegen ihrem WORA-Marketing nicht fallen lassen.

Wenn ich ehrlich bin, würde auch ein inkompatibles, ausgemistetes, "neues" Java willkommen heissen.

- häßliche Camel Konvention zur Benennung von Methoden :D, insbesondere aufgrund des Fehlens von Properties sind IMHO set und get Methoden eine unästhetische Sache
:D

- eine Klasse pro Datei finde ich ein bischen dämlich, wenn man für kleine Helper-Klassen eine extra Datei anlegen muss finde ich das unverständlich

Ok, wenn man mit einem Texteditor programmiert, ist das natürlich ein Nachteil. Aber selbst dann kann man innere Klassen machen.

(1): C # für den ganzen Rest, von GUI über Netzwerk zu Projekten für die Hochschule
Die meisten Unis, von denen ich weiss setzen auf Java und nicht C#

Sorry, aber imho schenken sich Java und C# nichts. Mit C# kann man halt Windowsprogrammierung machen und mit Java nicht. Ok JNI, aber dann kann man direkt C++ nehmen.

Und von wegen C# zufunftsicher und Industriestandard und so: Warum ziert sich die Gnome Comunity Gnome 3.0 auf C# zu machen nachdem man all den Aufwand in Mono gesteckt hat (sie ziert sich auch, es in Java zu machen nebenbei)? ;)

Und ich wehre mich dagen, dass Java "rein" objektorientiert ist (C# hat die gleichen Probleme), aber das ist ein anderes Thema. Und dich zwingen sauber zu Coden, tut sowieso keine Programmiersprache.

icemanemp
2005-01-22, 14:01:36
Das hätte ich jetzt nicht gemacht! Wenn du lauter aussagen triffst, dann werden die meisten auseinander genommen!

+ GUI ist fix zusammengeklickt, es kommen schnell Erfolgserlebisse, die braucht man zur Motivation
Hört sich an als wäre Delphi nur für das gut und deshalb sehr simpel gehalten! Irrglaube von unwissenden! Scheinbar weiss keiner, das Delphi wie jede andere Sprache genauso ohne die VCL grafische Oberflächen erstellen kann C++ kann Win32 Anwendung ohne MFC und Delphi kann genauso Win32 ohne VCL! Muss man nur wissen! Delphi kann auch Konsolenanwendung... sagen wir es so Delphi kann alles was die anderen Sprachen auch können! OK es gibt manchmal Spracheinschränkungen, aber das gibt es bei anderen Sprache auch! C++ ist halt eine Sprache die dem Programmierer alles offen lässt, dafür kann man schnell was falsch machen, aber auch z.B. einfacher in weniger Zeilen, wenn man es beherrscht... Delphi lässt nicht soviel zu ist aber auch mächtig...

- Syntax ist gegenüber den anderen 3 anders, kann man eine von den and
Lustig... hast dir schonmal die Syntax angeschaut? Ich kann Delphi und behaupt, das ich C++ innerhalb von paar Tagen drauf habe! Das aktuelle C++.Net Buch das ich lese behandelt auch viele grundlegenden Sachen, aber leider kommt mir alles so bekannt vor! Die Spracheunterschiede sind gering!

- proprietäres System von Borland, Borland kann in der Delphi Version 200X Kompatibilität über Bord werfen (theoretisch)
Kann! Haben sie aber nicht! Delphi 2005 ist draussen und bringt kleine sinnvoll Verbesserungen! Endlich Inline-Funktionen usw. Delphi 8 Code für .Net lässt sich damit normalerweise auch Kompilieren! Solange man nicht von Delphi 5 auf Delphi 2005 mit eigenen Komponenten usw. umsteigt ist das kein Problem (müsste sich erstmal lohnen... unsere Firma ist immernoch bei Delphi 5, das es kein Grund gibt auf Delphi 7-9 umzusteigen!) Borland arbeitet für seine Kunden nicht gegen Sie!

- k.a. was passiert wenn Borland irgendwann mal Pleite geht und dann keiner mehr Delphi pflegt, bei den anderen Sprachen stehen genug andere Firmen dahinter, bzw es sind ISO/ANSI/ECMA Standards
Da könntest du Recht haben, aber die sind schon so lange am Markt mit Object Pascal, das nur von ihnen gepflegt wird und keinem Standard unterliegt... Wie gesagt, wenn ein Produkt erstellt wird, nehmen wir an eine Software die an Mittelständische Unternehmen verkauft wird, dann wird vorher einmalig entschiede welche Sprache und Entwicklungsumgebung zum Einsatz kommt! Dies wird meisten nicht gewechselt, alles andere ist Wahnsinn und Falsch geplant... Deshalb, selbst wenn sie Pleite gehen, ist das uninteressant!
Die BDE von Borland wir auch net weiterentwickelt und funktioniert trotzdem sehr gut auch mit aktuellen Datenbanken...

ScottManDeath
2005-01-22, 15:22:37
Hehe, nach dem Öl ins Feuer gießen, etwas zum Deeskalieren :D

Dafür kannst du ein jar-File schnell kopieren, wenn auf dem anderen Rechner die JRE installiert ist. Sonstige Bibliotheken, die nicht Bestandteil der JRE sind, müssen eben beigelegt werden, ist aber bei anderen Sprachen auch nicht anders.

Ist ja, wie oben schon geschrieben bei C# auch nicht anders. Bei "nativen" Umgebungen wie Delphi oder C/C++ reicht in 90% der Fälle jedoch die .exe; wenn man von anderen Bibliotheken abhängig ist, hast Du recht, dann müssen sie mit kopiert werden, in der Regel sind das aber weniger als 50MB (für Java und .NET Runtime, für die man zum installieren auch noch Admin Rechte braucht )

Wie schaut es da bei C# aus? Es mag zwar ein ISO-Standard sein, aber Microsoft kann genauso entscheiden, bestimmte Sprachelemente in zukünftigen Versionen nicht mehr zu unterstützen. Ok, es gäbe noch Mono, aber die müssen sich im Endeffekt auch danach richten, was MS vorgibt.

Jeder der will kann AFAIK ohne Pobleme eine CLS Runtime implementieren und sie auch so nennen, da Sun bei Java den Daumen drauf hat, muss es halt GNUClasspath heißen

Slightly OT:
Bei dem neuen Managed C++, aka C++/CLI sitzen neben MS auch Intel und HP und einige andere "große Fische" mit im Standardisierungskomitee, also nicht nur wie bei Java die Sun Leute.


Eine Klasse pro Datei muss nur sein, wenn du ein Objekt dieser Klasse in einer anderen Klasse brauchst.

Mhmm, ich hatte für einen Interpreter in Java das Problem das ich eine abstrakte Expression Klasse hatte und davon für Addition/Multiplikation... abgeleite Klassen mit nur einer überladenen Methode hatte. Das gab dann ca 15 Dateien mit je ca 20 Zeilen. Innere Klassen waren nicht möglich, da die Klassen in andern Klassen verwendet wurden

Ist aber mehr oder weniger auch nur eine Kleinigkeit ;)

Sorry, aber auch zu Java gibt es gute (sehr gute, exzellente, ...) Doku, die sowohl offline wie auch online (http://java.sun.com/j2se/1.5.0/docs/api/) verfügbar ist.
Und es gibt coole Sache wie das (http://jdocs.com/j2se/1.4.2/api/index.html)

Würde ich von Java auch behaupten.

Mhmm, ich persönlich finde eine 3 Frame HTML Seite ohne Filterfunktion lausig. Ich möchte auch gerne mal einfach stöbern und nicht nur eine Liste an Klassen und Packages sehen, sondern auch thematisch strukturiert hierarchisch durch die Doku gehen können. Es gibt ja auch noch Themen wie z.B. Allgemeine Vorgehensweisen bei Client/Serverprogrammierung die sich nicht so leicht einer Klasse zuweisen lassen.

Ok, wenn man mit einem Texteditor programmiert, ist das natürlich ein Nachteil. Aber selbst dann kann man innere Klassen machen.

siehe oben

Mit einem Texteditor hackt man allenfalls etwas zusammen, mit einer IDE programmiert man ;)

Die meisten Unis, von denen ich weiss setzen auf Java und nicht C#

Wir haben, zumindest im Hauptstudium, freie Wahl der Waffen =)

Im Grundstudium gibts nur C/C++ und LISP/Prolog. Ich finde das auch armselig, wenn schon nicht Java und C#, dann sollte man wenigstens eins davon mal gehabt haben. Welches ist fast egal.

Sorry, aber imho schenken sich Java und C# nichts. Mit C# kann man halt Windowsprogrammierung machen und mit Java nicht. Ok JNI, aber dann kann man direkt C++ nehmen.

Full ACK, Java und C# nehmen sich nicht wirklich viel für die ganzen 08/15 Anwendungen. Bloß da viele (IMHO aus übertriebener M$-Phobie .NET/C# ignorieren, wollte ich etwas zur Aufklärung tun ;))

Ist zwar für Anfänger unwichtig und führt eventuell auch zu einer weiteren Runde im ewigen "Wer hat die bessere Sprache" Krieg, aber sei es drum:
Eine Stärke von .NET(und damit C#) ist IMHO jedoch die Kompatibilität mit vorhandenem Code, man kann COM Objekte einfach nutzen und langsam auf .NET migrieren ohne alten Code sofort neu zu schreiben. Praktisch ist auch die Möglichkeit C++ Code als Managed C++ Code zu kompilieren. Ich hatte ein Projekt in dem ich C++, C# und Managed C++ einfach zusammen mit vorhandenen C++ Code verwenden konnte, alles mit einer IDE und einer Projektmappe. :)

Und von wegen C# zufunftsicher und Industriestandard und so: Warum ziert sich die Gnome Comunity Gnome 3.0 auf C# zu machen nachdem man all den Aufwand in Mono gesteckt hat (sie ziert sich auch, es in Java zu machen nebenbei)?

Weil, trotz der Diskussion um C# und Java, C++ Code am portabelsten ist. Ist IMHO auch ein politisches Ding, wer möchte den gerne von seinenm Windowmanager sagen können, dass er auf M$ Technologie basiert ;D

Avalon hat übrigens ein .NET Interface, von daher lebt C# zumindest bis zum Longhorn Nachfolger. ;)

Und ich wehre mich dagen, dass Java "rein" objektorientiert ist (C# hat die gleichen Probleme), aber das ist ein anderes Thema. Und dich zwingen sauber zu Coden, tut sowieso keine Programmiersprache.

Full ACK.


Das hätte ich jetzt nicht gemacht! Wenn du lauter aussagen triffst, dann werden die meisten auseinander genommen!

War ja auch zum Teil so gedacht. Anderen bringen auch Argumente, die bei genauerer Betrachtung etwas wackelig sind.

Lustig... hast dir schonmal die Syntax angeschaut? Ich kann Delphi und behaupt, das ich C++ innerhalb von paar Tagen drauf habe! Das aktuelle C++.Net Buch das ich lese behandelt auch viele grundlegenden Sachen, aber leider kommt mir alles so bekannt vor! Die Spracheunterschiede sind gering!

Hab ja auch schon (etwas) Delphi gecodet. Ist nicht wirklich von einem anderen Stern. Jedoch liegen die anderen 3 eine ganze Ecke näher zusammen ({}, class, float, .... templates/generics). Da alle imperativen Sprachen grundlegende Elemente wie z.B. IfThenElse, For, While... haben, sieht der Code ähnlich aus.

Kann! Haben sie aber nicht! Delphi 2005 ist draussen und bringt kleine sinnvoll Verbesserungen! Endlich Inline-Funktionen usw. Delphi 8 Code für .Net lässt sich damit normalerweise auch Kompilieren! Solange man nicht von Delphi 5 auf Delphi 2005 mit eigenen Komponenten usw. umsteigt ist das kein Problem (müsste sich erstmal lohnen... unsere Firma ist immernoch bei Delphi 5, das es kein Grund gibt auf Delphi 7-9 umzusteigen!) Borland arbeitet für seine Kunden nicht gegen Sie!

Da könntest du Recht haben, aber die sind schon so lange am Markt mit Object Pascal, das nur von ihnen gepflegt wird und keinem Standard unterliegt... Wie gesagt, wenn ein Produkt erstellt wird, nehmen wir an eine Software die an Mittelständische Unternehmen verkauft wird, dann wird vorher einmalig entschiede welche Sprache und Entwicklungsumgebung zum Einsatz kommt! Dies wird meisten nicht gewechselt, alles andere ist Wahnsinn und Falsch geplant... Deshalb, selbst wenn sie Pleite gehen, ist das uninteressant!
Die BDE von Borland wir auch net weiterentwickelt und funktioniert trotzdem sehr gut auch mit aktuellen Datenbanken...

Wenn man "Altlasten" hat besteht nur sehr sehr selten der Zwang auf ein anderes System zu migrieren. Allerdings würde ich bei einer Neuentwicklung sehr sorgfältig den Markt untersuchen und etwas zukunftsichers auswählen

Wer garantiert dir dass es einen Delphi Compiler für WindowsXP 64 Bit gibt?
Wieviele Handys und Mikrokontroller werden in Java und C/C++, und wieviele in Delphi/Object Pascal geschrieben?
Gibt es Delphi für MacOS?
Gibt es andere Delphi/ObjectPascal Compiler von anderen Firmen als Borland?

Prinzipiell ist es egal was man lernt, da man in 20 Jahren wohl kaum noch von C#, Java oder Delphi reden wird; Man muss so oder so sich an neue Sprachen anpassen, am wichtigsten ist es jedoch die Konzepte zu kennen, denn die überdauern die nächste Modesprache wie z.B. Java oder Visual Basic.

Wenn ich jedoch die Wahl habe, zwischen einer Sprache einer Mainstreamgruppe(C#, C/C++, Java) oder doch eher die einer Kleingruppe (Delphi, Visual Basic), würde ich mich für die Mainstreamgruppe entscheiden, da man von mehr Leuten profitieren kann und auch mehr als nur eine Firma dahinter steht.

p]A[n
2005-01-22, 18:01:07
Ich konnte über meine Schule heute VB6+einem Einstiegsskriptum erhalten.
Wie siehts damit als Einsteigersprache aus?

In welche Richtung kann ich später vlt wechseln?

Mfg Pan

Coda
2005-01-22, 23:50:18
Nein, das versuchst Du mir nicht klar zu machen. Das einzige, was Du meiner Meinung nur klarmachst ist, daß Du keine Gegenbeispiele aus der Realworld erbringen kannst, die Deine Thesen unterstützen. Weil wenn der Softrenderer die selbe Performance bringt, schiebst Du es auf Assembler und wenn der GL-Renderer eben so schnell ist, soll ein Game aus dem Jahre 97 gar nicht CPU limitiert sein. Aber selbst wenn dem alles so wäre, kann Delphi gar nicht völlig ungeeignet sein um Spiele zu entwickeln, schon gar nicht wenn man darunter eben so mit inline ASM und Pointern jonglieren kann.Nunja, ich würde das ganze mal durch den Profiler jagen, dann kann man genaueres sagen.
Quake benützt ja soweit ich weiß viele glVertex calls, das erzeugt auch einen enormen Overhead, vielleicht verschwindet da ja der Großteil der Performance.

Echt Klasse Argumentation, vor allem mit so vielen unabhängigen Quellen, wo man sich davon überzeugen kann. Die ist echt so gut, daß ich einfach sprachlos bin. Echt der Hammer!Du glaubst das doch wohl selbst nicht oder?
Visual Studio optimiert vielleicht nicht wirklich gut, aber Intels Compiler ist dafür bekannt ziemlich das beste zu sein, dass es für x86 gibt.

Vor allem solltest du dein Delphi Quake vielleicht auch mal gegen ein Intel C++ kompiliertes benchen. Der Orginal Quake Build ist nämlich entweder VS 5 oder 6 und das ist mehr als grausam beim optimieren.

ISO / ECMA Standard, dort wo C/C++ drauf steht, ist auch C/C++ drinneSchön wär's. Bei Visual Studio .NET 2003 und neueren GCC mag das so sein, aber davor war's teilweiße echt nur schlecht was die Compiler konnten. Borland ist z.B. heute noch grottig soweit ich weiß.

ScottManDeath
2005-01-23, 00:56:49
Schön wär's. Bei Visual Studio .NET 2003 und neueren GCC mag das so sein, aber davor war's teilweiße echt nur schlecht was die Compiler konnten. Borland ist z.B. heute noch grottig soweit ich weiß.

Jups, Windows konnte man ja auch erst mit Win2000/XP als brauchbar bezeichnen ;)

HellHorse
2005-01-23, 01:08:52
Jeder der will kann AFAIK ohne Pobleme eine CLS Runtime implementieren und sie auch so nennen,
Ja, aber IIRC hat Micro$~1 diverse Patente auf CLS. Was auch der Grund für die Vorbehalte mancher Gnome Leute gegen Mono ist.
Und .Net darf man es auch nicht nennen. ;)

Im Grundstudium gibts nur C/C++ und LISP/Prolog.
LISP/Prolog passen schon, immerhin ist's eine Uni ;)

Weil, trotz der Diskussion um C# und Java, C++ Code am portabelsten ist. Ist IMHO auch ein politisches Ding, wer möchte den gerne von seinenm Windowmanager sagen können, dass er auf M$ Technologie basiert ;D
Die Geschichte ist etwas länger. Aaaalso, im Moment basiert Gnome auf C. Mittlerweile hat man aber rausgefunden, dass C vielleicht nicht (mehr) die ideale Sprache dafür ist und dass bloss weil man C verwendet, das noch nicht automatisch heisst, dass die Anwendung dann auch wenig Ressourcen braucht. Ergo was neues muss her. C++ will man nicht sondern gleich einen Schritt "weiter" (was für Code dann rausschaut ist eine andere Frage). Die eine Hälfte ist für Java (gcj, gnu classpath), die andere für C# (mono). Diese beiden Lager blockieren/bekämpfen sich gegenseitig. Eine Messungenauigkeit für Eiffel, Python und anderes.

ScottManDeath
2005-01-23, 01:53:47
Die Geschichte ist etwas länger. Aaaalso, im Moment basiert Gnome auf C. Mittlerweile hat man aber rausgefunden, dass C vielleicht nicht (mehr) die ideale Sprache dafür ist und dass bloss weil man C verwendet, das noch nicht automatisch heisst, dass die Anwendung dann auch wenig Ressourcen braucht. Ergo was neues muss her. C++ will man nicht sondern gleich einen Schritt "weiter" (was für Code dann rausschaut ist eine andere Frage). Die eine Hälfte ist für Java (gcj, gnu classpath), die andere für C# (mono). Diese beiden Lager blockieren/bekämpfen sich gegenseitig. Eine Messungenauigkeit für Eiffel, Python und anderes.

Dann wäre J# ja ein salomonischer Kompromiss, Sprache sieht aus wie Java, wird aber auf .NET compiliert und dann JIT auf der Zielmaschine compiliert. =)

Ganon
2005-01-23, 08:19:28
Aaaalso, im Moment basiert Gnome auf C. Mittlerweile hat man aber rausgefunden, dass C vielleicht nicht (mehr) die ideale Sprache dafür ist und dass bloss weil man C verwendet, das noch nicht automatisch heisst, dass die Anwendung dann auch wenig Ressourcen braucht.

Ui. Da haben die GNome-Leute aber lange gebraucht...


Die eine Hälfte ist für Java (gcj, gnu classpath), die andere für C# (mono). Diese beiden Lager blockieren/bekämpfen sich gegenseitig. Eine Messungenauigkeit für Eiffel, Python und anderes.

Ich würde ja Objective-C samt GNUStep vorschlagen. Aber ich glaub dann werde ich mit Steinen beworfen.... ;)

Crushinator
2005-01-23, 17:57:30
Du glaubst das doch wohl selbst nicht oder?
Visual Studio optimiert vielleicht nicht wirklich gut, aber Intels Compiler ist dafür bekannt ziemlich das beste zu sein, dass es für x86 gibt. Vor allem solltest du dein Delphi Quake vielleicht auch mal gegen ein Intel C++ kompiliertes benchen. Der Orginal Quake Build ist nämlich entweder VS 5 oder 6 und das ist mehr als grausam beim optimieren. (...) Lesen (http://www.forum-3dcenter.org/vbulletin/showthread.php?p=2625676#post2625676) bildet. :)

(...) und der am besten optimierende Compiler den ich zur Verfügung habe ist der von Intel in der Version 7.1 und er macht's in sagenhaften 54 Sekunden, und zwar ohne daß ein Geschwindigkeitszuwachs mehr als die Toleranzgrenze von 1 bis 2 FPS im Spiel feststellbar ist.

Coda
2005-01-23, 19:03:55
Auch das erhärtet mein Annahme, dass das Bottleneck nicht gerade beim Compiler liegen kann sondern irgendwo in der API ;)

Intel 7 ist deutlich schneller als Visual C++ 6, da kann irgendwas nicht stimmen.

Aber die Diskussion ist so mühselig und führt zu nix. Ich werd's morgen mal durch CodeAnalyst jagen...

Lokadamus
2005-01-23, 21:28:41
Och manno, was soll ich denn jetzt nehmen, ihr Fanboys :udevil: machts mir echt ned leicht, was denn nun ;(??mmm...

Du meinst ganz am Anfang, du willst deine Programmierkenntnise später beruflich weiternutzen können und du strebst eine Ausbildung als IT- Systemelektroniker an. Soweit ich es verstanden habe, wirst du da wenig mit Programmieren zu tun haben, eher mit Elektronik und je nach Firma mit "komischen" Geräten. Hast du schon einen Ausbildungsplatz? Willst du die Programmiersprache verstehen oder die CPU?
Würdest du eine Ausbildung als Fachinformatiker/ Anwendungsentwickler anstreben, würde ich wohl auch Java empfehlen, als Systemelektroniker wäre es besser zu wissen, was die Firma macht. Bei Handies dürfte C, ASM oder Java interessant sein, bei Waschmaschinen eher ein Buch über Elektronik ;) ...

Zu dem Thema "Compilierungsgeschwindigkeit" sag ich nichts, nur das ich Python definitiv nicht empfehlen würde und man ansonsten mal die aktuellen Compiler nehmen sollte, wobei man auch überlegen sollte, wie die Compiler selber arbeiten. Von Delphi hab ich nur die alten Versionen mal gesehen, diese galten immer als langsamer als C/C++, das soll mittlerweile Vergangenheit sein. Intel ist mittlerweile bei 8.1 angekommen, aber der Source von Quake wird sich wohl nicht so einfach kompilieren lassen, oder?

Xmas
2005-01-23, 22:41:01
Zu dem Thema "Compilierungsgeschwindigkeit" sag ich nichts, nur das ich Python definitiv nicht empfehlen würde
Warum nicht?

ScottManDeath
2005-01-23, 22:55:37
Meinen Erfahrungen zufolge ist Delphi recht fix, C# auch, während C++ doch eher zu den langsameren Compiliern gehört. Das liegt zum Teil daran dass die Sprache komplexer ist und nicht in einem Durchgang geparst werden kann, wie die einfacher strukturierten Sprachen Delphi/ObjectPascal und C#. C++ Templates z.B. werden, IIRC von einem eigenen Interpreter während der Compilierung verarbeitet, was sich auch auf die Buildzeit auswirkt.

krozey
2005-02-02, 11:46:33
ich hatte mit Visual Studio C++/MFC angefangen, hatte auch gelesen man soll mit was anderen anfangen zumal einige bücher und tuts auch noch vorwissen verlangen. als anfänger kann man kurzeitig schon die lust verlieren wenns nicht vorangeht.

jede sprache ist zum anfang recht umständlich aber wenn man sich erstmal reingehackt hat stellt das kein problem dar .. auch für anfänger. wie schon jemand schrieb kommt es drauf an wie es einem erklärt wird. nach einiger zeit sind die meldungen des compilers auch kein problem .. selbst wenn der fehler wo anders liegt als der compiler es angibt. und wenn gibts immernoch die größeren programmierer foren in denen die leute einem helfen.

ich muss jedoch zugeben das der compiler von Visual Studio ein paar macken hat.

.. meine meinung

grandmasterw
2005-07-01, 11:49:18
Also bei der Kompiliergeschwindigkeit (als ob das bei den Mini-Programmen, die man am Anfang macht, wichtig wär) ist Delphi ein Eckhaus schneller als C/C++, und erzeugt auch nicht so viel Müll, à la .pch usw.
Außerdem nervt C ganz schön damit, dass man nix doppelt inkludieren darf. Ok, man kann sich mit ifdefs drumrumhangeln, aber es nervt. Ein Buchstabe in einem Header geändert? Viel spaß beim Kompilieren in den nächsten 20 Minuten!

Und was die Syntax angeht:
Mehr Wörter und weniger Sonderzeichen sind für Anfänger immer besser. Und wer mal eine Sprache kann, lernt die nächste auch schnell, auch wenn die Syntax anders ist. Grad ein Umstieg auf OOP könnt noch aufwendiger werden.

Coda
2005-07-01, 17:39:30
während C++ doch eher zu den langsameren Compiliern gehört.*hüstel* C++ ist ein Compiler?

ist Delphi ein Eckhaus schneller als C/C++Ack. C++ ist aber auch ein ganzes Stück mächtiger.

...und erzeugt auch nicht so viel Müll, à la .pch usw.Compilerspezifisch.

Außerdem nervt C ganz schön damit, dass man nix doppelt inkludieren darf. Ok, man kann sich mit ifdefs drumrumhangeln, aber es nervt. Ein Buchstabe in einem Header geändert? Viel spaß beim Kompilieren in den nächsten 20 Minuten!Das #ifdef erzeugt mir die IDE. Wenn man das Interface ändert müssen auch Delphi und Co. die Abhängigkeiten neu kompilieren.

Mehr Wörter und weniger Sonderzeichen sind für Anfänger immer besser.Sagt wer? Hast du da Studien betrieben?

Es ist doch seltsam, dass alle "modernen" Sprachen wie C# oder Java alle in Richtung C-Syntax gehen.

maximAL
2005-07-01, 18:07:13
Es ist doch seltsam, dass alle "modernen" Sprachen wie C# oder Java alle in Richtung C-Syntax gehen.
wohl eher, um die lieben programmierer nicht zu überfordern :rolleyes:
sobald mal ein stück code einer "exotischen" sprache zu sehen ist, kommt ja gleich aus allen ecken "sieht scheisse aus"...

Ganon
2005-07-01, 18:25:34
GCC kennt auch

#import <header.h>

von Objective-C. Da wird dann automatisch sichergestellt, das der Header nur einmal eingebunden wird.

Ist nur nicht sehr Compiler-Portabel.

Neomi
2005-07-01, 18:47:08
*hüstel* C++ ist ein Compiler?

Tja, das wird leider hin und wieder verwechselt.

Sämtliche Programmiersprachen (außer Assembler) sind in erster Linie abstrakt. Wie schnell nun das ist, was ein bestimmter Compiler daraus macht, ist nicht von der Sprache abhängig. Was spricht dagegen, Java zu einer nativ ausführbaren Exe zu compilieren? Was spricht dagegen, C++ nur in Pseudocode zu wandeln und diesen in einer virtuellen Maschine laufen zu lassen? Oder dagegen, einen Pixelshader mit Object Pascal zu schreiben? Die vorhandenen Tools vielleicht, aber doch keineswegs die Sprache selbst.

Coda
2005-07-01, 19:04:11
GCC kennt auch

#import <header.h>

von Objective-C. Da wird dann automatisch sichergestellt, das der Header nur einmal eingebunden wird.

Ist nur nicht sehr Compiler-Portabel.Das ist deprecated AFAIK.

wohl eher, um die lieben programmierer nicht zu überfordern Wieso, viel minimalistischer geht's wohl kaum.

Ganon
2005-07-01, 19:32:01
Das ist deprecated AFAIK.

Keine Ahnung wie das beim FSF GCC ist, aber beim Apple GCC 4 nicht. Soweit ich weiß wurde das #import mal (falscher Weise) so eingestuft. Keine Ahnung wie das jetzt ist.

Aber #import ist, soweit ich weiß, ein Befehl für Objective-C. D.h. wenn der entfernt wird, würde Objective-C Code nicht mehr funktionieren. ;)

Elladan
2005-07-01, 20:20:53
Hi,
ich würde mit Delphi anfangen.
Ich kann dir auch nichts anderes empfehlen, kann schliesslich nichts anderes ;D
Aber einfach ist es...

Um dir das ganze schmackhaft zu machen, mal ein paar Leckerlies, was man mit Delphi + OpenGL alles nettes programmieren kann:

http://www.delphigl.de/opengl.html

Viel Erfolg

ScottManDeath
2005-07-01, 22:15:48
Wieso, viel minimalistischer geht's wohl kaum.

Jups. Es ist angenehm kompakt. Je weniger ich tippen und lesen muss, um so besser. =)

Ich hatte mal VB Code gesehen. Ich fand das schon belastend dass zum einen die Schlüsselworte so lang waren und dann auch noch wie die Bezeichner mit großem Anfangsbuchstaben begannen. :ucrazy: Das hat den Lesefluss dermaßen gestört. :crazy:

Delphi ist dagegen im Vergleich noch human zu lesen, obwohl es auch recht verbose ist. Den Vogel schießt aber COBOL ab. Die einzige Programmiersprache in der man einen Roman schreiben und vorlesen könnte. :ulol:

Mir geht auch Java mit dem implements und extends auf den Sack:usad:, aber das ist gerade noch zu verschmerzen

grandmasterw
2005-07-02, 15:54:42
Die implements und extends find ich gar nicht so schlecht. Objektorientiert heißt ja nicht nur, dass man Klassen schreibt, sondern auch die Vorzüge von Untertypen usw. nutzt. Und da is es schon gut, viel abzuleiten, und Interfaces zu verwenden. Grad im Team weiß man dann, dass alles noch zusammenpasst.

Und wegen der C-Syntax:
Ich find sie hässlich, und steh mit der Meinung nicht allein da. Es hat halt so jeder seine "Muttersprache", die ihm sympathisch ist, aber dass neue Sprachen mit ähnlicher Syntax entstehen, liegt meiner Meinung nach echt nur daran, dass sich ein paar phantasielose Freaks einfach nix anderes vorstellen können, weil sie geistig dermaßen festgefahren sind. Sieht man ja schon daran, dass C/C++ prinzipiell als die mächtigste Sprache gesehen wird. Jedes Feature, das eine andere (Nischen-)Sprache hat, sei in C/C++ unnötig, jedes Feature, das in andern Sprachen fehlt, in C/C++ aber geht, ist unverzichtbar, und machts unmöglich sinnvoll zu programmieren.
Ich hab genug mit solchen Autisten zu tun gehabt, sind ähnlich wie die Leute, die selbst beim Webbrowsen jegliche GUI verweigern.

ScottManDeath
2005-07-02, 16:34:28
Die implements und extends find ich gar nicht so schlecht. Objektorientiert heißt ja nicht nur, dass man Klassen schreibt, sondern auch die Vorzüge von Untertypen usw. nutzt. Und da is es schon gut, viel abzuleiten, und Interfaces zu verwenden. Grad im Team weiß man dann, dass alles noch zusammenpasst.

Ich meinte damit die Syntax, nicht die Semantik. Die Vorzüge von OO sind mir schon klar ;)

Das war mein Anliegen:


public class MyClass extends MyBaseClass implements IMyInterface
...

vs.

public class MyClass : MyBaseClass, IMyInterface
...


Und ja, ich habe mit Pascal und Visual Basic angefangen und bin dann zu C/C++ und C# übergewechselt und bin mit letzteren beiden zufrieden und weiß deren Vorzüge zu schätzen.

zeckensack
2005-07-02, 16:57:51
Und was die Syntax angeht:
Mehr Wörter und weniger Sonderzeichen sind für Anfänger immer besser.Meinst du jetzt sowas wie zB begin/end vs geschweifte Klammern?
Falls ja: das finde ich nicht sooo schwierig zu lernen. Dass man mit öffnender/schließender Klammer gruppiert, sollte eigentlich jedem noch aus der Mathematik bekannt vorkommen :)

Die Klammern sind halt für Blöcke geschweift statt rund.

grandmasterw
2005-07-02, 17:41:35
Das war mein Anliegen:


public class MyClass extends MyBaseClass implements IMyInterface
...

vs.

public class MyClass : MyBaseClass, IMyInterface
...



Nuja, ich finds schon gut, wenn die Interfaces durch ein eigenes Keyword getrennt sind, zumal man da ja mehrere implementieren kann, anders als beim Klassen-ableiten.

Und wegen der Klammern vs. Keywords:
Jeder Anfänger verstehts. Aber die Syntax ist einfach anstrengender zu lesen, Zeilen in denen nur ein Zeichen steht, sind schlechter zu erkennen, als begins und ends, is das selbe Prinzip wie bei Syntax-Highlighting, größer ist sichtbarer, und die Struktur sollte das sichtbarste sein.

Coda
2005-07-02, 18:22:31
Nuja, ich finds schon gut, wenn die Interfaces durch ein eigenes Keyword getrennt sind, zumal man da ja mehrere implementieren kann, anders als beim Klassen-ableiten.Es gibt da in C++ keine Unterscheidung, weil eh multiple inheritance erlaubt ist

Und wegen der Klammern vs. Keywords:
Jeder Anfänger verstehts. Aber die Syntax ist einfach anstrengender zu lesenDas ist sehr subjektiv.

maximAL
2005-07-02, 19:03:03
Jups. Es ist angenehm kompakt. Je weniger ich tippen und lesen muss, um so besser. =)

was? die C++ syntax? mit verlaub, aber das ist bullshit. sieh dir mal ne richtige hochsprache an.

Coda
2005-07-02, 19:05:03
So was ist denn eine "richtige" Hochsprache?

maximAL
2005-07-02, 19:35:30
So was ist denn eine "richtige" Hochsprache?
zb. Ocaml (http://www.ocaml.org)
oder irgendeine andere, aber C++ ist definitiv eher eine low-level sprache und hat neigt sicher nicht zu kurzem, ausdrucksstarken code.
und das hat auch nichts mit gut oder schlecht zu tun

ich wäre jetzt von dir, coda, doch schwer enttäuscht, wenn du dich bei den kleingeistern einreihst, die C++ für der weisheit letzten schluss und ultimative sprache für alles halten...

ScottManDeath
2005-07-02, 21:52:13
was? die C++ syntax? mit verlaub, aber das ist bullshit. sieh dir mal ne richtige hochsprache an.

Ich seh's schon kommen, das artet wieder in einen Languagewar aus :frown:

Ich kenne folgende Einteilung

Maschinensprache.
Assemblersprache.
Hochsprachen.
Da C++ weder den ersten beiden Gruppen zufällt, muss es als universelle Sprache wohl oder übel in Gruppe 3 sein.

Zum anderen ist C++ nicht gleich C++ man kann sicherlich C++ auch als besseres C verwenden und hat dann in der Tat mehr oder weniger einen portablen Assebmler. Wenn man allerdings (wie 99% der C++ Programmierer) z.B. die OOP Features von C++ wie z.B. Klassen, Polymorphismus... verwendet, ist das in der Tat schon eine Hochsprache. C++ deckt somit ein weites Spektrum ab.

Ich kann genauso in OCaml alles als statische Methoden in eine Klasse stopfen und damit den OO Teil links liegen lassen. Ist OCaml deshalb eine prozedurale Sprache?

Wichtig ist das die Syntax weder zu kurzgefasst ( z.B. LISP mit nur ()) noch zu langatmig ( wie z.B. COBOL oder Visual Basic) ist. C++ ist sicher nicht das Beste, hat aber einen IMHO guten Kompromiss zwischen beiden Extremen.


C++ ist bei Weiten nicht die beste Sprache für jeden Zweck, man kann mit ihr aber so ziemlich viele Programmierstile ausführen. prozedural, maschinennah, objekt-orientiert, generisch, funktional.

Ich z.B. mache auch alles was nicht mit Grafik & Highperformance Computing zu tun hat auch lieber in C#.



"The right tool for the right job" sollte man sich hinter die Ohren schreiben.

ScottManDeath
2005-07-02, 22:10:45
Und wegen der Klammern vs. Keywords:
Jeder Anfänger verstehts. Aber die Syntax ist einfach anstrengender zu lesen, Zeilen in denen nur ein Zeichen steht, sind schlechter zu erkennen, als begins und ends, is das selbe Prinzip wie bei Syntax-Highlighting, größer ist sichtbarer, und die Struktur sollte das sichtbarste sein.

Es ist alles eine Frage der Gewöhnung, so wie Zeckensack schon gesagt hat. Abkürzungen/Symblol werden deshalb eingeführt damit man häufig wiederlkehrendes kompakter schreiben kann und sich auf das Wesentliche konzentrieren kann, nämlich sein Programm zu schreiben. ;)

Bsp.


y = (a * (2 * a *b) + sqrt( - ( c * d))) ^ ( 4 - x );

vs.

lasse y gleich klammer auf a mal klammer auf 2 mal a mal b klammerzu plus wurzel klammer auf minus klammer auf c mal d klammer zu klammer zu klammer zu hoch klammer auf 4 minus x klammer zu sein



das ist auch nichts anderes als Begin End vs. {}

Xmas
2005-07-02, 22:14:11
Und wegen der Klammern vs. Keywords:
Jeder Anfänger verstehts. Aber die Syntax ist einfach anstrengender zu lesen, Zeilen in denen nur ein Zeichen steht, sind schlechter zu erkennen, als begins und ends, is das selbe Prinzip wie bei Syntax-Highlighting, größer ist sichtbarer, und die Struktur sollte das sichtbarste sein.
Die Struktur ist so oder so das Sichtbarste. Dafür gibts nämlich Einrückung. Wenn es denn unbedingt sein muss, bevorzuge ich Klammern gegenüber begin/end. Die Erkennbarkeit ist wegen der Einrückung sowieso gleich (und ohne Einrückung wären Klammern IMO besser), und ich finde dass man Konstrukte natürlicher Sprache eher spärlich verwenden sollte wenn sie schon als Satz keinen Sinn ergeben.

Aber es muss gar nicht unbedingt sein, siehe z.B. Python.

maximAL
2005-07-02, 22:33:03
Ich kenne folgende Einteilung
[list=1]
Maschinensprache.
Assemblersprache.
Hochsprachen.
ist aber reichlich ungenau, man kann sich ja gern noch ein paar neue begriffe ausdenken. sonst gibts nach C nämlich gar nichts mehr :wink:

ScottManDeath
2005-07-02, 23:01:09
Sicherlich kann man die Hochsprachen noch unterteilen ( z.B. in Generationen, Skriptsprachen,OO,....)

Das ändert aber nichts an der Tatsache das C++ eine Hochsprache ist, ob sie nun der x. oder y. Generation angehört.

Coda
2005-07-03, 00:42:06
ich wäre jetzt von dir, coda, doch schwer enttäuscht, wenn du dich bei den kleingeistern einreihst, die C++ für der weisheit letzten schluss und ultimative sprache für alles halten...Nein natürlich nicht, aber ich kann persönlich nicht sehr viel mit funktionalen Sprache anfangen, weil ich schon immer imperativ programmiert habe.

Und C++ ist aber immer noch die mächtigste der imperativen Sprachen, außerdem gibt's da so schöne IDEs dafür und ich bin nunmal ne faule Socke :)

MadMan2k
2005-07-03, 11:45:52
das java vom gcc als Untermenge von c++ behandelt wird, sagt denke ich schon alles... ;)

Coda
2005-07-03, 13:58:58
Woher hast du das? Das Backend ist eh bei allen Sprachen gleich und das Frontend dürfte nicht einfach eine "Untermenge" von C++ sein.

MadMan2k
2005-07-03, 14:07:09
http://www.delorie.com/gnu/docs/gcc/gcj_24.html

Coda
2005-07-03, 14:11:15
Das gehört zum Cygnus Native Interface, also die Schnittstelle von Java zu C++.
Hat also nichts mit dem Compiler an sich zu tun.

MadMan2k
2005-07-03, 14:46:45
IMO mappt der gcj den java code über cni auf c++ code - oder ich hab das komplett falsch verstanden.
Das mit dem subset hab ich jedanfalls hier herausgelesen:
http://gcc.gnu.org/java/faq.html#2_3

Coda
2005-07-03, 15:05:12
Das hast du falsch verstanden. Da geht es um JNI vs. CNI.