Also,
ich kann bis heute keine höhere Programmiersprache. Ich habe bis jetzt mit einer einfachen programmierumgebung gearbeitet (Game Maker, von Mark overmars)
Ich weiß bis jezt noch nicht welche sprache ich lernen soll. Ein kumpel hat mir gesagt ich solle C++ lernen, da stehe mir die Welt dann offen, weil fast alles für C++ verfügbar ist und die meisten (OpenSource) Projekte in C++ stehen. Trotzdem liebäugel ich auch mit Pascal/Freepascal.
Ich weiß wie die Kontrollstrukturen und wie klassen funktionieren, nur weiß ich nicht wie ich sie in einer höheren programmiersprache implementieren soll. in der schule habe ich JAVA gelernt, was ich nich ausstehen kann. Dann lieber Pascal, nur welche IDE? Ich möchte hauptsächlich Open GL spiele programmieren und ein Programmiertool erstellen, was am besten die (jeweiligen) Window manager v Windoof und Linux benutzt.
Was sind eigtl die großen unterschiede zwischen C++ u. Pascal. Was soll ich denn lernen? gibt es einen nachteil bei Pascal der mich evtl. der OpenSource gemeinde ausschließt?
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Hi,
C++ bin ich auch gerade am Lernen, wobei es mir nicht gerade leicht fällt. Pascal zu lernen ging da wesentlich einfacher von der Hand, obwohl es meine erste (!) Programmiersprache war. Wenn du Pascal lernen willst kann ich dir Freepascal schon empfehlen, ausserdem solltest du auch mal in Delphi reinschnuppern, damit machen sich OpenGL-Anwendungen auch sehr gut...
Es stimmt schon, dass die meisten Programme in C / C++ erstellt werden (auch im OpenSource-Bereich), darum will ich es auch lernen,
aber du findest auch sehr viele Leute die mit Pascal/Delphi arbeiten (PGD, diese Seite ).
Schließlich musst DU dich aber entscheiden worauf du bauen willst.
Ich würde dir ja Pascal empfehlen (leichterer Einstieg [meiner Meinung nach]).
Ostrophy hat geschrieben:
in der schule habe ich JAVA gelernt, was ich nich ausstehen kann.
Kann ich vollkommen nachvollziehen, wobei da auch andere Meinungen zu existieren
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Aus der Sicht von OpenGL steht dir die Wahl ziemlich frei, da hier im Forum (deutschsprachig wohl einzigartig) die Unterstützung so ziemlich auf allen Sprachen erfolgt. Allerdings gibt es den dgl-opengl-Header, der von der Einsteigerfreundlichkeit her unschlagbar ist (musste da schon viele schlechte Erfahrungen mit C++ und C# machen).
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Nico: Also ich kann das nicht vergleichen wie das in C++ Foren ist aber ich mache das nicht von der Sprache abhängig. Ich bin immer mal wieder im Delphi-forum unterwegs und da sehe ich das auch so häufig, dass es immer wieder Luftpumpen gibt die selten dämliche Lösungen vorschlagen für ein Problem was eigentlich schon vollkommen falsch aufgezogen wurde. Ich denke diese Überzeugung GENAU zu wissen wie der Hase läuft ist ein generelles Problem von reichlich Menschen. Aber auf der anderen Seite muss man auch zu Gute halten, dass sie es einfach nicht wissen, dass es eigentlich bescheiden ist. Viele begnügen sich auch damit, dass es funktioniert. Ich sehe es so, dass der IQ/die Qualität rapide abnimmt sobald genügend Menschen daran teil haben.
Ostrophy: Wie alle anderen auch schon gesagt haben. Die Unterschiede zwischen C++ und Pascal sind eher nur sehr gering und können durchaus außer acht gelassen werden. In erster Linie ist dort die Syntax der Sprache auf die du einen Blick werfen solltest. Pascal erlaubt dort nicht ganz so viel wie das mit C++ zum Beispiel möglich ist aber bisher habe ich mich daran noch nie gestört. Eher sogar im Gegenteil. Man kann nicht jeden Scheiß mit dem Code anstellen.
Für Später hat Nico aber auf jeden Fall auch recht. Da solltest du dich durchaus auch mal mit einer anderen Sprache beschäftigen. Du musst sie nicht perfekt meistern aber so Grundzüge sollte man schon verstehen. Das hilft auch beim Forschen im Internet falls man mal einen anderen Code zu gesicht bekommt.
PS: Ich persönlich programmiere mit Delphi achte aber bei meinen neusten OpenGL Projekten darauf, dass ich diese auch mit FreePascal übersetzen kann. Dazu wechsel ich sporadisch immer mal wieder in die FreePascal IDE und übersetze mein Projekt damit. Ich möchte aber auf keinen Fall meine Turbo Delphi (Explorer) IDE wieder abgeben. Was das Codehandling angeht finde ich Delphi sehr gut durchdacht.
Registriert: Di Dez 27, 2005 12:44 Beiträge: 393 Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
@Lossy
Zitat:
Die Unterschiede zwischen C++ und Pascal sind eher nur sehr gering und können durchaus außer acht gelassen werden.
Ich finde, dass sich beide Sprachen schon erheblich unterscheiden, vor allem in der Syntax.
Man kann manchmal ganz schön durcheinander kommen, wenn man erst ein paar Wochen C programmiert hat und dann wieder mit Pascal anfängt
(vor allem bei Datentypen (float vs real, struct vs record), Operatoren (|| vs or, && vs and, = vs := und == vs = ) und Variablendeklarationen).
@Ostrophy
Wenn du bereits Java in der Schule hattest, hätte C++ für dich den Vorteil, dass du die Syntax schon ein wenig kennst (C, C++, Java aber auch Php haben viele Gemeinsamkeiten).
Ich würde dir aber auch lieber Pascal zum Einstieg empfehlen. Erstens weil du dann auf diese prima Community zurückgreifen könntest und zweitens weil grade Pascal für Programmieranfänger gut geeignet ist, sauberes Programmieren zu lernen.
Mit C oder C++ würd ich an deiner Stelle erst anfangen, wenn du einige Jahre mit Pascal geproggt hast.
Zum Thema 'Anfänger helfen Anfängern anfangen' darf man nicht vergessen, dass wir hier ein 'Spezialistenforum' sind, d.h.: wer sich hier tummelt kann in der Regel schon programmieren. Ausserdem sind wir hier noch 'klein genug', dass fast jeder weiss, wer die Spezialisten zu bestimmten Themen sind und sich erstmal zurücknimmt und wartet, bis diese antworten.
Ich kenn da Foren, da isses z.B.: verboten zu posten, bis einer der Admins geantwortet hat.
Zum Titelthema kann ich nur sagen, dass man ne sprache auswählen sollte, bei der man sich 'heimisch' fühlt. Wenn Du eher der Typ bist, der klare Regeln bevorzugt und nicht gerne mauschelt, dann empfehle ich Dir Delphi/FreePascal. Wenn Du aber viele Freiheiten magst und Dich nicht gerne einschränken lässt, dann C++, da hier doch mehr 'erlaubt' ist. Der Vorteil (Nachteil, je nachdem wie mans sieht) von Delphi gegenüber C++ sind eben die klaren Strukturen und die bewussten Einschränkungen (keine Mehrfachvererbung, keine Operatorüberladungen, keine Templates usw.).
p.s.: das mit den Templates gilt nur noch eingeschränkt: Ich hab in der Delphipraxis nen Thread gesehen, da hat einer nen Präprozessor für Delphi gebaut
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
dj3hut1: Ich meinte nicht die Syntax. Das die unterschiedlich ist ist ja logisch sonst hätten wir ja ein Celphi++. Ich meinte es von dem was damit möglich ist (und für normale Anwendungsentwickler üblich) und was im Endeffekt aus dem Compiler raus kommt. Selbst da gibt es noch genügend Unterschiede aber in zwei Dosen Erbsen befinden sich nun auch mal nicht die selbe Anzahl an Erbsen sondern ca 750g.
Nico: Wie gesagt. Ich kann es nicht vergleichen wie das in C++ Foren ist. Aber im DF ist es so extrem, dass es bei mir dazu geführt, dass ich mich hauptsächlich auf Fragen um OpenGL beschränke. Weil ich nicht möchte, dass da jemand irgendwelche Halbwahrheiten verbreitet. Sonst stimme ich dir auch vollkommen zu. Es hängt hauptsächlich an der Anzahl der Member. Aber ich für meinen Teil würde da keinen Unterschied bei der Sprache machen. Das ist alles was ich damit sagen will.
Wenn Du eher der Typ bist, der klare Regeln bevorzugt und nicht gerne mauschelt, dann empfehle ich Dir Delphi/FreePascal.
Was ist in C++ denn nicht klar geregelt ...(wenn man auch wirklich C++ macht und nicht C mit Klassen).
Aus Syntax-Sicht ist C++ natürlich von Vorteil, wenn man Java gemacht hat. Aus speichertechnischer Sicht eher nicht^^(wenn man sieht wie oft Java-Leute in C++ alles mit new machen, anstatt Stackobjekte zu benutzen usw.). Von daher birgt die Ähnlichkeit auch Gefahren.
Was debuggen direkt mit C++ zu tun hat, würd mich mal interessieren ??? Das hängt doch nun davon ab, welche Entwicklungsumgebung und welchen Compiler man nimmt.
Zitat:
Trotzdem liebäugel ich auch mit Pascal/Freepascal. Ich weiß wie die Kontrollstrukturen und wie klassen funktionieren, nur weiß ich nicht wie ich sie in einer höheren programmiersprache implementieren soll. in der schule habe ich JAVA gelernt, was ich nich ausstehen kann. Dann lieber Pascal, nur welche IDE?
Wenn du wirklich etwas umfangreicher programmieren willst, wirst um OOP nicht herumkommen. Und da sind die grundlegenen Prinzipien nunmal die selben in den Programmiersprachen. Also von daher ist es egal, ob du nun Object Pascal oder C++ nimmst.
_________________ __________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup
Registriert: Sa Okt 22, 2005 20:24 Beiträge: 291 Wohnort: Frauenfeld/CH
Ich glaube, es geht darum, dass eben in C++ nicht alle Mechanismen so klar definiert sind. In Delphi muss man immer Typen konvertieren, man muss teilweise auch sachen konvertieren die ziemlich eklig sind. Ausserdem schreibt man in c oft komplizierter, das heisst man kann einen vergleich und eine zuweisung fast gleichzeitig machen, was ja probleme geben kann, wenn mans aber gut kennt sehr praktisch ist.
Schlussendlich ist es ne stilfrage, ich kann aber Delphi für den Anfänger sehr empfehlen. Ich habe gerade von einem Lehrer gehört, wie nervig es seie mit Java zu beginnen, da man nicht so einfach beginnen kann (Im delphi nen button erstellen draufklicken und was reinschreiben).
Ich denke mit C/C++ musst du dich einfach länger arbeiten wie ein pascal, da einem einfach weniger sachen so schön abgenommen werden (z.B. Strings).
Ich persönlich kann nicht wirklich C programmieren, werde aber auch irgendwann einmal ein bisschen mehr hineinschaun, da diese Sprache auch so ihre vorteile hat, sowie auch java.
Was ist in C++ denn nicht klar geregelt ...(wenn man auch wirklich C++ macht und nicht C mit Klassen).
Na dann lass mal in ner If-Abfrage das zweite = weg oder schreib mal aus Versehen nach der For-Schleife (aber vor dem {) ein ; hin. Delphi meckert sowas an, aber in C wirds kommentarlos geschluckt.
Ausserdem finde ich es sehr irritierend, wenn neue Variablen innerhalb eines Funktionskörpers neu definiert werden (wobei das im Prinzip ja der Regel vom kleinstmöglichen Sichtbarkeitsbereich entspricht). Im Projekt meiner Firma werden ganze Klassendefinitionen aus Templates heraus erzeugt. Da gibt man z.B.: nur dan, dass man ne Listenklasse für Integer(oder einen beliebigen Klassentyp) brauch und schwupp! ist der gesamte Code für die Listenklasse incl. Getter- und Setter- Methoden erzeugt, und ne Instanz legt er gleich auch mit an.
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Schlussendlich ist es ne stilfrage, ich kann aber Delphi für den Anfänger sehr empfehlen. Ich habe gerade von einem Lehrer gehört, wie nervig es seie mit Java zu beginnen, da man nicht so einfach beginnen kann (Im delphi nen button erstellen draufklicken und was reinschreiben).
Wieso muss auch immer alles "Klicki Bunti" sein?
Konsolenanwendungen sind auch sehr schön und so nen Klicki Bunti hat man bei C++ ebensowenig wie in Java. Ok, gibt GUI Builder, aber für die brauch man meist auch eine SChulung ...
@Java schwer: Relativ. In C/C++ komm ich noch immer mit den Pointern ins Gehege, was vielleicht auch an der zu seltenen Nutzung liegt.
Ebenso kann ich es verstehen wenn Leute ankommen - zb. Phobeus - und bei der NIO API von Java nah der Verzweiflung sind ^^
@Topic: Solange du nicht zu VB greifst, ist glaube ich jeder glücklich mit deiner Wahl
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also ich hab mit TurboPascal7 angefangen (während des Studiums. In der Schule hatten wirs zwar auch, aber das hab ich bis zum Studium wieder vergessen).
Nach nem halb bis dreiviertel Jahr kam mir dann Delphi (5) unter die Augen. Hab dann relativ leicht den Sprung geschaft. Auch wenn das Ereignis-Basierte Modell sich vom seriellen Modell doch ordentlich unterscheidet. (in der Denkweise).
Mit Delphi hab ich dann 3 Jahre programmiert. Während der Zeit hab ich mit OpenGL angefangen.
Dann wollte ich C++ ausprobieren. (weil in der Wirtschaft ja C++ schon recht verbreitet ist) Hab ein OGL Projekt geschrieben und in der Zeit gute Fortschritte gemacht. Allerdings erst als ich mich vom Visual Studio verabschiedet hatte. Hab dann Eclipse ausprobiert, welches eigentlich für Java die standard IDE ist.
Hab dann (nach nem halben Jahr) jemand kennen gelernt von dem ich recht viel in Sachen Softwaredesign lernen konnte. Da er Java programmierer war bin ich dann da hin gewechselt. Und mittlerweile bin ich mit Java sehr zufrieden. Die Dokumentationslage ist hervorragend. Es gibt für jeden Zweck bibliotheken und auch ein Hervorragendes Buch. Außerdem ist Java in der Wirtschaft auch sehr gefragt. Ich hab bei IBM (bzw. ner Tocherterfirma) ein praktikum gemacht, und dort wird nur mit Java Programmiert.
Ich würde dir Delphi oder Java empfehlen.
Delphi hat den Vorteil das die Syntax viel übersichtlicher ist als die von C/C++ und damit auch Java. Mich stören vorallem die vielen sonderzeichen ( == = & % ! * etc). Bei Delphi steht da einfach ein kurzes Wörtchen.
Java hat den Vorteil(?) das du gezwungen wirst dich mit Objektorientierung zu beschäftigen. Vorallem aber ist Java ideal wenn du dich mit Softwaredesign beschäftigst, denn Java enthalt alles was in den Büchern beschrieben wird. Die Syntax von Java hat aber den Vorteil, dass man C-Verwandte Sprachen leichter verstehen lernt. Außerdem ist der Compiler wesentlich strenger und meckert auch solche Sachen wie "Zuweisungen in if-Statements" an.
Für mich persönlich war dann noch ausschlag gebend, dass Java auf Linux und auch auf Handys läuft.
Naja, wenn es schon nicht Pascal sein soll, dann doch lieber C#, denn bei Java muss man für die Vorteile auf einige Dinge verzichten, die man in Delphi gewohnt ist.
Records
Properties
Indexer
Operatorüberladung
Ereignisse
C# kombiniert dagegen die guten Eigenschaften von Delphi und Java (und C++).
Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Das Konzept von C++ wie compilert wird, resultiert des öfteren in Fehlermeldungen die für einen Anfänger nicht nachvollziehbar. [1] Die Sprache bietet dir viele Möglichkeiten deinen Code zu schreiben - auch viele schlechte.
In Delphi ist das mit Units schon ein besser gelösst. Die Fehlermeldungen sind meißtens zumindest mit der Delphi-Hilfe nachvollziehbar.
Java hat wenn du mich fragst relativ gute Fehlermeldungen. Praktisch: Die Java IDE Eclipse zeigt Compile Fehler und Warnungen schon vor dem Compilern an. Bei einigen Fehlern/Warnungen kann man überein Icon neben den Quelltext aus verschiedenen Lösungs- bzw. Verbesserungs-Vorschlägen wählen.[2]
Anmerkungen:
[1] Nach einer Klassendefintion kann in C++ entweder eine Variable stehen, oder ein Semikolon. Steht nun in einer Header Datei eine Klassendefinition ohne Semikolon, so geht der Compiler davon aus das du eine Variable über 2 Quelltext Dateien hinweg deklarieren willst und gibt eine Fehlermeldung in der Quelltext datei aus, in der du die fehlerhafte Headerdatei eingebunden hast.
Die Fehlermeldung beim GNU C++ Compiler sieht dann zum Beispiel so aus:
Zitat:
/pfad/korrekteDatei.cpp:14: error: expected unqualified-id before ‘using’
Also zumindest ich konnte von dieser Fehlermeldung nicht auf anhieb darauf schließen das ein Semikolon in meiner Headerdatei fehlt.
[2] Hast du zum Beispiel
Code:
this.abc = 2;
im Quelltext stehen, hast aber kein Datenelement mit idesen Namen angelegt, bietet Eclipse folgende Loesungsvorschlaege:
- ein Datenelement abc anlegen: private int abc
- Variable umbenennen (andere Vorkommen dieser Variable werden auch umbenannt)
_________________ Danke an alle, die mir (und anderen) geholfen haben. So weit... ...so gut
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.