Sollte er vor dem Erlernen von C++
Visual Basic erlernen? Mir war mal so, als hätte ich so eine Empfehlung mal
vernommen. Welches (Einsteiger!) Buch ist für C++ und/oder Visual Basic zu
empfehlen? Mein Junge hat keinerlei Vorkenntnisse im Programmieren und hat
neben seiner Lehre auch keine Zeit für eine VHS oder Abendschule. Sollte
also von Anfang an anfangen (was für ein Deutsch!).
Danke im Voraus!
--
Grüße Sven
Kubuntu 9.04
KDE 4.2.2
o.g. Email wird nicht gelesen
Visual Basic und C++ haben so wenig miteinander gemein, dass man die
beiden eigentlich nicht in Beziehung setzen muss.
Einem Einsteiger würde ich heute empfehlen, Ruby oder Python zu lernen.
Viele Grüsse,
VB.
--
Ceci n’est pas une pipe: |
> Für einen kompletten Neueinsteiger:
>
> Sollte er vor dem Erlernen von C++ Visual Basic erlernen?
Sollte man vor dem Erlernen der deutschen Sprache die
japanische Sprache erlernen? :-)
Für Schüler ohne Vorkenntnisse im Programmieren könnte
ISBN 978-3-89842-839-2 (Lehrbuch 'C/C++') von Nützen
sein.
Ob jemand 'Visual Basic' lernen moechte oder nicht sollte er sich
anhand dessen, wozu er diese Kenntnisse gegebenenfalls brauchen oder
nicht brauchen koennte ueberlegen. In einer UNIX(*)-bezogenen Gruppe
lautet die Antwort darauf aus offensichtlichen Gruenden 'nein'.
Unter keinen Umstaenden sollte 'ein Programmieranfaenger' als erstes
C++ lernen. Der lernt sonst naemlich nie wieder irgendetwas ueber
irgendetwas, C++ eingeschlossen.
Du musst diesen Tip glaube ich ein wenig nach dem "was soll damit erreicht
werden" zerlegen:
Am Anfang ist eine "einfache" Programmiersprache zu empfehlen, wo sich der
Lernende nicht auf jedes Detail (Speicher allokationen, Pointer, Bla)
konzentrieren muss, sondern sich erstmal mit dem Konzept dem Computer Befehle zu
geben (er macht das, was man ihm sagt/da in den Code schreibt) vertraut machen
kann. Das erlernen von so grundlegenden Konzepten wie Variablen, Bedingungen,
Schleifen, Funktionen, etc. Man kann auch mal was komplizierteres machen, ohne
das einem gleich die SIGSEGV um die Ohren fliegen.
Wenn das sitzt schaltet man dann in den zweiten Gang.
Wenn man diese Konzepte Verstanden hat, ist alles andere nur noch syntaktischer
Zucker.
Das Problem:
Der Lernende will dann meist seine Sprach-Kuschelhoehle nicht mehr verlassen und
es wird auf Teufel komm raus alles mit der zuerst erlernten Sprache gemacht.
Meist geht das auch, da man alles irgendwie ansprechen kann (Allemoeglichen DLL
aus VB aufrufen, irgendwelche Libs ueber JNI in Java einbinden, Python, Perl
whatever, irgendwie geht das immer). So wird man dann zum sehr Fortgeschrittenen
Nutzer in Sprache X und hat noch weniger Grund sich mal was anderes anzugugcken
("Wieso, geht doch").
Wenn dann auch noch in einer anderen Sprache etwas nicht so einfach ist
("Grafik? Ja, ich klick hier in Visual Studio auf 'mach mal Fenster'"), ist die
Katastrophe perfekt.
VB wuerde ich persoehnlich wegen einiger haesslichkeiten ablehnen.
Wie andere schon schrieben, Ruby, Python, Java, irgendsowas, um erstmal ein
Gefuehl fuers Programmieren zu bekommen.
Vielleicht einfach Shell.
Um das Konzept klarzumachen sollte es reichen. Und es kommt schnell genug der
Wunsch auf, was "richtiges" zu nehmen.
Gruss
Jan
--
Danke für die Beachtung aller Sicherheitsmaßnahmen!
> Sollte er vor dem Erlernen von C++
> Visual Basic erlernen? Mir war mal so, als hᅵtte ich so eine Empfehlung
> mal vernommen. Welches (Einsteiger!) Buch ist fᅵr C++ und/oder Visual
> Basic zu empfehlen? Mein Junge hat keinerlei Vorkenntnisse im
> Programmieren und hat neben seiner Lehre auch keine Zeit fᅵr eine VHS oder
> Abendschule. Sollte also von Anfang an anfangen (was fᅵr ein Deutsch!).
Nein, es ist nicht zu empfehlen Visual Basic zu erlernen.
Ich kann mich meinen Vorpostern anschlieᅵen dass man mit einem Subset von
z.b. Python sehr gut einfache Programme schreiben kann und damit auch
Programmieren lernen kann.
Ein Subset von C++ ist auch nicht so abwᅵgig, man muss aber didaktisch sehr
gut vorgehen, weil viele Teile wirklich nicht fᅵr Programmieranfᅵnger
geeignet sind. Da gibt es zum einen die Mᅵglichkeit mit High-Level
Programmierung anzufangen und sich so Sachen wie Pointer anfᅵnglich mal
einfach zu sparen, z.B. wie in "Accelerated C++: practical programming by
example" von "A. Koenig and B.E. Moo".
Ein anderer Ansatz ist es Konzepte wie Pointer ganz einfach und anschaulich
zu erklᅵren, z.b. versucht in Bᅵcher wie: "Die schwarze Kunst der
Programmierung " von "Fibelkorn". (Das bitte jetzt nicht als
Literaturempfehlung betrachten, ich habe in das Buch nur kurz
hineingeschaut - denke mir aber wenn man den Stil mag rennt man
(gedanklich) zumindest nicht sofort weg wenn man etwas von Pointer hᅵrt, da
gibt es ᅵbrigens auch ein recht lustiges Video "Binky Pointer Fun", siehe
http://cslibrary.stanford.edu/104/)
mfg Markus
>VB wuerde ich persoehnlich wegen einiger haesslichkeiten ablehnen.
Frage: Meinst Du VB Clasic (VB6) oder das Visual Basic, was vom
.NET Framework unterstützt wird.
Bei ersten würde ich auf jeden Fall davon abraten. Nicht nur,
dass wie Du es sagst, die Sprache konzeptionell schlecht designed
ist, sondern weil VB6 unter Vista und Nachfolger nicht mehr
supported wird. Dies ist nach meiner Meinung mit ein Grund, warum
sich Unternehmen sich schwer tuen, auf Vista zu migrieren.
Die Visual Basic Version, die das .NET Framework unterstützt kann
man keine sprachliche Mängeln gegenüber C# feststellen. Diese
beide Sprachen gibt es IMHO deswegen, damit sowohl die
altgedienten VB-Programmierer, alsauch die C/C++- oder
JAVA-Programmierer ihren Weg zum .NET Framework finden können.
Zum Schluss natürlich die Anmerkung, dass diese Disukussuion nur
sinnvoll ist, wenn man Software für Windows entwicklen will.
mfg: Jochen Schmitt
[...]
> Zum Schluss nat�rlich die Anmerkung, dass diese Disukussuion nur
> sinnvoll ist, wenn man Software f�r Windows entwicklen will.
Ja. Deswegen waere es sehr freundlich, wenn die Herren
Windows-GUI-Entwickler, ob mit oder ohne Netz, diese Diskussion
vielleicht in eine passende Gruppe (dag?) verlegen wuerden.
> Am Anfang ist eine "einfache" Programmiersprache zu empfehlen, wo sich der
> Lernende nicht auf jedes Detail (Speicher allokationen, Pointer, Bla)
> konzentrieren muss, sondern sich erstmal mit dem Konzept dem Computer
> Befehle zu geben.
Das wᅵre dann ein imperatives Paradigma. Es werden dir nicht alle zustimmen
dass man eine imperative Sprache gleich zu Beginn lernen sollte. Ich nehme
mal in Vertretung diese Position ein :-)
Beispielsweise in "Programming Languages - Concepts and Constructs" wird von
Beginn an eher funktionale Sprachen verwendet, wie z.b. ML.
"Programming with Assignments" ist dann erst im dritten Kapitel.
Das Buch ist allerdings imho ungeeignet fᅵr Programmieranfᅵnger, es geht auf
zu viele Details in Programmiersprachen ein.
Es gibt aber durchaus Bᅵcher die mit einer funktionalen Programmiersprache
(z.b. Haskell) anfᅵngergerecht Konzepte beibringen, die dann auch in
Assembler, C oder C++ zu viel besseren Programmen fᅵhren kᅵnnen.
mfg Markus