Mit welcher Programmiersprache einsteigen?
-
Ich würde mit java oder c# anfangen.
-
Scheme ist wohl die ideale Einstiegssprache. Sehr klein vom Sprachumfang und daher schnell gelernt und PLT-Scheme ist wohl die Anwenderfreundlichste Entwicklungsumgebung aller Zeiten. Man kann zB einstellen, auf welchem Sprachniveau man sich befindet um angepasste Fehlermeldungen zu erhalten und böse Sprachfeatures zu deaktivieren. Außerdem gibt es so tolle Features, dass man Bilder als Wert einfach in den Quelltext pasten kann. Damit kann man auch als Anfänger relativ schnell Grafiken über den Bildschirm huschen lassen.
Und einer der besten Programmierkurse ist für Scheme: http://mitpress.mit.edu/sicp/full-text/book/book.html
-
rüdiger schrieb:
Scheme ist wohl die ideale Einstiegssprache. Sehr klein vom Sprachumfang und daher schnell gelernt und PLT-Scheme ist wohl die Anwenderfreundlichste Entwicklungsumgebung aller Zeiten. Man kann zB einstellen, auf welchem Sprachniveau man sich befindet um angepasste Fehlermeldungen zu erhalten und böse Sprachfeatures zu deaktivieren. Außerdem gibt es so tolle Features, dass man Bilder als Wert einfach in den Quelltext pasten kann. Damit kann man auch als Anfänger relativ schnell Grafiken über den Bildschirm huschen lassen.
Und einer der besten Programmierkurse ist für Scheme: http://mitpress.mit.edu/sicp/full-text/book/book.html
Nachdem ich nun über 2 Jahre C++ programmiert habe, habe ich diesen Sommer
zuerst zu Lisp und dann vor 2 Wochen zu Scheme gewechselt.
Ich halte die Sprache für deutlich komplexer und schwieriger für Anfänger als Python/Ruby/C++,etc,...- Erstens gibt es einfach sehr wenig Informationsmaterial und das wenige was es gibt
ist in Englisch, außerdem hab ich bis jetzt noch kein gutes Scheme-Forum entdecken können. - Ist jede Implementierung der Sprache völlig anders, da kann man nicht schnell
von PLT-Scheme auf MIT/GNU Scheme wechseln. Zumal der eigentliche Spachumfang
von Scheme selbst extrem klein ist, und man somit auf die zusätzlichen Libraries
der Implementierungen angewiesen ist. - Der Lisp-Syntax ist extrem ungewohnt und zumindest für Umsteiger eine Hürde.
- Die anwenderfreundliche Entwicklungsumgebung (ich nehme an dieser Stelle an
du meinst DrScheme) besitzt leider nicht mal eine richtige Autovervollständigung
wie etwa Emacs mit SLIME.
Ich habe jetzt nur negative Punkte hier aufgelistet dadurch hört es sich
etwas böse an. Entschuldigt dies bitte. Ich mag Scheme sehr, aber aufgrund
meiner Erfahrung als Einsteiger in diese Sprache.
kann ich sagen das es wohl für Anfänger mindestens genauso ungeeignet ist wie C.@rüdiger
Vllt. kannst du noch ein paar informative Links zu Scheme posten, würde mich interessieren.
- Erstens gibt es einfach sehr wenig Informationsmaterial und das wenige was es gibt
-
Storm.Xapek.de schrieb:
Ist jede Implementierung der Sprache völlig anders, da kann man nicht schnell
von PLT-Scheme auf MIT/GNU Scheme wechseln. Zumal der eigentliche Spachumfang
von Scheme selbst extrem klein ist, und man somit auf die zusätzlichen Libraries
der Implementierungen angewiesen ist.Ist bei C++ auch nicht viel anders. Fuer Anfaenger aber komplett uninteressant.
Der Lisp-Syntax ist extrem ungewohnt und zumindest für Umsteiger eine Hürde.
Fuer Umsteiger vielleicht, aber nicht fuer Neueinsteiger.
Die anwenderfreundliche Entwicklungsumgebung (ich nehme an dieser Stelle an
du meinst DrScheme) besitzt leider nicht mal eine richtige Autovervollständigung
wie etwa Emacs mit SLIME.Es geht hier um Anfaenger, nicht um produktivitaet. Und fuer Anfaenger ist DrScheme sehr nett. Da die IDE versucht mitzudenken und moeglichst alle Fehler die ein Anfaenger machen kann auszuschliessen.
Ich mag Scheme sehr, aber aufgrund
meiner Erfahrung als Einsteiger in diese Sprache.
kann ich sagen das es wohl für Anfänger mindestens genauso ungeeignet ist wie C.Du hast dich mit dem Umsteigen schwer getan, da Scheme einfach eine komplett andere Denkweise voraussetzt. Aber ein Anfaenger hat das Problem nicht.
PLT-Scheme bietet fuer Anfaenger einen sehr interessanten Startpunkt, da es eine IDE mit bringt die leicht verwendbar ist und man grafische Ausgaben machen kann (was viel interessanter ist als langweiliger Text).
Ob es das beste ist, ich weiss nicht. Aber besser als C++/Java/C#/... fuer den Anfang alle mal.
-
warum hat eigentlich noch keiner qbasic erwähnt
-
sothis_ schrieb:
warum hat eigentlich noch keiner qbasic erwähnt
Weil wenn man trollen will HTML einfach cooler ist
-
Java oder C#
-
Perl wäre doch auch eine Idee, ist zwar eine Scriptsprache, aber wenn man da
erstmal herausgefunden hat wie dreckig man programmieren kann, dann ist man
schon langsam C bereit
-
Machtl schrieb:
Er will ein 2D Spiel erstellen wie zum Beispiel Super Mario.
Allerdings denke ich er stellt sich das zu einfach vor. Aber möglicherweise gibt es ja eine Programmiersprache mit der sich sowas einfach machen lässt.Dann soll er C++ nehmen. Entweder er sieht es ein, daß das ganze Vorhaben für ihn zu groß ist oder er schafft es. Mit C++ stösst er zumindest mal nicht an technische Einschränkungen. Wenn man mit einer anderen Sprache anfängt, könnte es sein, daß er irgendwann sieht, daß die Sprache Einschränkungen hat, die ihn daran hindern, Super Mario zu implementieren.
-
Shade Of Mine schrieb:
Der Lisp-Syntax ist extrem ungewohnt und zumindest für Umsteiger eine Hürde.
Fuer Umsteiger vielleicht, aber nicht fuer Neueinsteiger.
doch, für neueinsteiger können scheme und lisp ziemlich abschreckend sein. denen würde ich lieber BASIC oder pascal empfehlen, weil die eine intuitive und leicht verständliche syntax haben.
tntnet schrieb:
Wenn man mit einer anderen Sprache anfängt, könnte es sein, daß er irgendwann sieht, daß die Sprache Einschränkungen hat, die ihn daran hindern, Super Mario zu implementieren.
es gibt aber nicht viele, mit denen das nicht geht.
-
Ada, weil:
- Die Compiler decken bereits zur Compilezeit sehr viele Fehler auf, und geben sehr aussagekräftige Fehlermeldungen aus.
- Zur Laufzeit werden durch die Runtime-Exceptions ebenfalls sehr aussagekräftige Fehlermeldungen erzeugt.
- Man muss sich von Anfang an intensiv mit Typen auseinandersetzen, wobei das Typkonzept klar durchdacht und schnell verständlich ist (Äpfel sind Äpfel und Birnen sind Birnen).
- Die Syntax ist zwar recht schreibintensiv, aber dafür sind die Programme gut lesbar und wenig kryptisch.
- Es gibt eingebaute Mechanismen für Tasking, welche ebenfalls gut durchdacht sind, und das Verständnis zur Entwicklung von Programmen mit Nebenläufigkeiten unterstützen.
- Wenn seine Kentnisse weiter vertiefen will, bieten Ada sehr gute Mechanismen zur generischen Programmierung (Templates), wobei die Syntax deutlich weniger kryptisch ist, als z.B. bei C++.
- Es gibt eine brauchbare IDE (GPS, Gnat Programming Studio), und wenn man GUI Programme schreiben will (z.B. ein Spiel) Bindings für Gtk.
Es gibt noch mehr Gründe, aber zusammengefasst bin ich schlicht und ergreifend der Meinung, das Ada aufgrund der Konzeption sehr gut für Lehrzwecke ist, weil es von Anfang an einen guten Stil fördert, sehr durchdacht und übersichtlich ist, und trotzdem sehr viele Möglichkeiten bietet.
Der einzige wirkliche Nachteil, der mit einfällt, ist die sehr schlüsselwortreiche Syntax.
-
Jetzt mal im Ernst: warum nicht BASIC, wenn C++ zu komplex sein soll? C# und Java sind doch auch nicht viel einfacher als C++. Sie haben zwar keine Altlasten, wie C++, was vielleicht im ersten Blick weniger komplex erscheint, aber eigentlich muß man am Ende genauso Objektorientierung lernen, man muß Generics verstehen, die ganzen Konzepte der Frameworks usw. Ist es wirklich eine Alternative zu C++?
Wenn ich aber so an meine damaligen BASIC-Zeiten (C64) denke, war das damals einfach seeehr Einsteigerfreundlich. Wenn man schon eine Alternative vorschlägt, muß es auch eine radikale Alternative sein, und nicht einfach nur eine, weil es gerade "in" ist, von C++ abzuraten.
Ada z.B. halte ich für sehr interessant, aber nicht als Einstiegsalternative. Weil wenn ich mir die Ada-Tutorials anschaue, entdecke ich ein haufen Features aus C++. Was macht jetzt das Lernen einfacher oder besser gesagt kürzer? Ist Ada jetzt eine Einsteiger-Alternative? Nein! Ada ist aber als Sprache eine Alternative, genauso wie C# oder Java. Aber als Einstiegs-Alternative zu C++?
Warum will man denn wirklich dem jenigen von C++ abraten? Nur wegen der Altlasten? Dann sind C#, Java und Ada eine Alternative. Aber ganz bestimmt nicht wegen der Komplexität und dem damit verbundenen Lernaufwand/-dauer.
Wenn dann muß die Sprache wirklich einfacher sein, und somit auch in den Features einfacher sein
wenig Features. Ich kenne leider aktuelle BASIC-Implementierungen nicht. Aber wenn sie die heutigen BASICs (wie FreeBasic) an die Ur-BASIC-Philosophie halten, würde ich heute einem Anfänger doch BASIC empfehlen.
Falls BASIC zu naiv sein sollte, dann ist es am Ende egal ob Ada, Java, C# oder ebend C++.
-
Also ich finde man sollte mit PHP Anfangen da lernt man die grundsachen wie, was ist eine Schleife blabalbla und kommt auch schnell zu netten erfolgen. Danach dann C++ ...
-
Tachyon schrieb:
Ada, weil:
[...][...]
Der einzige wirkliche Nachteil, der mit einfällt, ist die sehr schlüsselwortreiche Syntax.Mal die ganzen Vorteile beiseite gelassen, Ada als Einsteigersprache, hm...die Lernkurve is schon ganz schön extrem, die Komplexität der Sprache ist der von C++ recht ähnlich. Die Community ist hauptsächlich englischsprachig genauso wie die Literatur. Dann muss man sich eingehend mit den Tools auseinandersetzen wie GNAT und GPS, GNAT hat ja so seine Eigenheiten (jede Compilationunit für sich selbst, ansonsten das File mit gnatchop zerlegen) die Anfänger schon recht verzweifeln lassen können. Ob die etwas blumige Syntax ein Vorteil oder Nachteil ist darüber lässt sich streiten, der eine findet es gut dem anderen ist es zuviel. Ich gehöre zu ersteren.
-
Storm.Xapek.de schrieb:
Ich halte die Sprache für deutlich komplexer und schwieriger für Anfänger als Python/Ruby/C++,etc,...
Das liegt denke ich an deiner Perspektive und du bist ja kein Anfänger mehr.
Storm.Xapek.de schrieb:
- Erstens gibt es einfach sehr wenig Informationsmaterial und das wenige was es gibt
ist in Englisch, außerdem hab ich bis jetzt noch kein gutes Scheme-Forum entdecken können.
sehr wenig Informationsmaterial? hmm, dass kann ich nicht ganz nachvollziehen. Sicher gibt es weniger, als zu zB C++ oder Java. Aber dafür sind die Informationen zu Scheme nach meiner Erfahrung oft deutlich besser. Die meisten Bücher zu C++, Java oder C# sind doch zB einfach extrem mies.
Ok, dass die meisten Informationen in Englisch sind stimmt. Aber ganz ehrlich: Wer programmieren lernen will, sollte einfach Englisch so weit beherrschen, dass er die Texte lesen kann. Auch für Java, C# und C++ sind die wirklich guten Informationen in der Regel auf Englisch.
Anlaufstellen für Scheme sind comp.lang.scheme
Storm.Xapek.de schrieb:
- Ist jede Implementierung der Sprache völlig anders, da kann man nicht schnell
von PLT-Scheme auf MIT/GNU Scheme wechseln. Zumal der eigentliche Spachumfang
von Scheme selbst extrem klein ist, und man somit auf die zusätzlichen Libraries
der Implementierungen angewiesen ist.
"völlig anders" ist übertrieben. Es gibt ja einen gemeinsamen Standard. Gut, jede Scheme Implementierung bringt eigene Libraries mit. Aber das ist für einen Anfänger ja auch vollkommen unerheblich. Da reicht es ja aus, wenn man bei PLT-Scheme bleibt.
Storm.Xapek.de schrieb:
- Der Lisp-Syntax ist extrem ungewohnt und zumindest für Umsteiger eine Hürde.
Selbst für Umsteiger sollte die Syntax keine große Hürde sein. Für Anfänger sowieso nicht.
Storm.Xapek.de schrieb:
- Die anwenderfreundliche Entwicklungsumgebung (ich nehme an dieser Stelle an
du meinst DrScheme) besitzt leider nicht mal eine richtige Autovervollständigung
wie etwa Emacs mit SLIME.
Es gibt eine Vervollständigung, aber die ist wohl nicht automatisch. Aber ich denke mal, dass das kein fundamentales Problem ist.
Storm.Xapek.de schrieb:
meiner Erfahrung als Einsteiger in diese Sprache.
kann ich sagen das es wohl für Anfänger mindestens genauso ungeeignet ist wie C.Umsteigen ist was anderes als Einsteigen. Daher glaube ich einfach, dass deine Erfahrung nicht so viel Wert sind im Bezug auf einen Anfänger.
Storm.Xapek.de schrieb:
@rüdiger
Vllt. kannst du noch ein paar informative Links zu Scheme posten, würde mich interessieren.Bei http://schemers.org/ findet man gute Links und Bücher. Ansonsten gibt es noch http://schemewiki.org/
- Erstens gibt es einfach sehr wenig Informationsmaterial und das wenige was es gibt
-
TheTester schrieb:
Mal die ganzen Vorteile beiseite gelassen, Ada als Einsteigersprache, hm...die Lernkurve is schon ganz schön extrem, die Komplexität der Sprache ist der von C++ recht ähnlich.
Die Komplexität ist, wenn man den vollen Umfang ausschöpfen will, sehr hoch, das stimmt. Aber Anfängerprogramme lassen sich sehr einfach umsetzen, und sind auch gut verständlich, wie ich finde. Dafür hat man, wenn man Geschmack an der Sache findet, auch Reserven, komplexe Programme zu erstellen.
Die Syntax ist z.B. "relativ" nahe an der natürlichen Sprache. Sehr viel besser z.B. als in Sprachen die auf der C-Syntax aufbauen.TheTester schrieb:
Die Community ist hauptsächlich englischsprachig genauso wie die Literatur.
Nichts für ungut, aber wenn man nicht bereit ist, sich mit englischsprachiger Literatur auseinanderzusetzen, dann sollte man es vielleicht eh lassen, mit dem Programmieren. Man kommt i.d.R. auch am Anfang bereits sehr schnell an einen Punkt, wo man eh nicht mehr ums Englische herumkommt.
Mal davon abgesehen, gibt es hervorragende deutsche Onlinetutorials wie z.B. Ada-TourTheTester schrieb:
Dann muss man sich eingehend mit den Tools auseinandersetzen wie GNAT und GPS, GNAT hat ja so seine Eigenheiten (jede Compilationunit für sich selbst, ansonsten das File mit gnatchop zerlegen) [...]
Dafür gibt es doch gnatmake. Das Ding baut einem sogar rekursiv alles zusammen, was zusammengehört. Inklusive Linkvorgang. Einfacher geht es kaum.
GPS macht alles auf Knopfdruck, und bietet so ziemlich alle modernen Features, wie Highlichting, Folding und Autovervollständigung.TheTester schrieb:
Ob die etwas blumige Syntax ein Vorteil oder Nachteil ist darüber lässt sich streiten, der eine findet es gut dem anderen ist es zuviel. Ich gehöre zu ersteren.
Ich persönlich finde zwar auch, dass es tatsächlich manchmal etwas weniger Tipperei sein darf, aber die Lesbarkeit spricht durchaus für sich.
-
Hallo
Für 2D: c# + .net + xna
Die perfekte Lösung
chrische