Ich würde niemand raten, mit C anzufangen.
Alleine deshalb, weil C keine Abstraktion für Strings hat und Du deshalb gleich gegen die Pointerwand läufst.
Ich würd auch nicht mit OO (also Java) anfangen, weil Du dann gleich gegen die Vererbungswand prallst.
C++ ist netterweise die Gemeinheiten von C und Java zusammen, fällt also gleich aus.
Am Anfang hat man genug damit zu tun zu verstehen was ((true AND false) or true and (NOT false) ist und damit darüber nachzudenken, dass x < y was anderes ist als NOT (y > x).
Deswegen braucht man eine primitives Sprache, die DOS-Style Progrämmchen supportet und eine möglichst primitive Syntax hat. Und da würd ich sagen Basic oder Pascal. Denn "IF bedingung THEN wahr-teil ELSE unwahr-teil ENDIF" ist irgendwie klarer als "IF (bedingung) { wahr-teil } else { unwahr-teil }"
Nachdem man vernünftig prozedurale Dinge hinbekommt, kann man mit Objekten weiter machen. Und da würd ich Java nehmen, weil Java auch nett und primitiv ist (noch) und ne halbwegs schöne Syntax hat (abgesehen von "throws AException, BException, ...")
XFreeX, zu C#:
Ich hab absolut keine Ahnung von der Syntax von C#, weil ich es mir noch nie angeguckt habe. Ich hab einfach keinen Bedarf an einer Sprache mit VM, die nur auf einem Betriebssystem läuft.
Ich würd sie aber nicht als zukunftsorientiert bezeichnen, solange sie nicht mindestens 5 Jahre im Umlauf ist. Wieviele Prolog oder Fortran Coder gibs heute noch? Und die waren vor 20 Jahren auch hot und zukunftsorientiert...
Trashpilot:
Informatikstudent und in der Linux-Community Hobbyprogrammierer. Programmierwissen hab ich vom zweiteren, durchs studieren hab ich nicht viel gelernt.
Ach ja und nen Delphi-Progger-Halbtagsjob hab ich auch noch.