• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

ein gescheites Newbie Buch fürs Programmieren

Aule2

Guest
Nein.

Einem Anfänger sollte man etwas geben, woran er lernen kann, was er lernen soll.

Insbesondere würde sich dazu anbieten:
- Eine Imperative Sprache, wenn er verstehen soll, wie das System arbeitet
- Eine Funktionale Sprache, wenn er sehr abstrakte Fragestellungen lösen soll.

Die von Dir genannten Sprachen JavaScript, .. haben den Nachteil, wie auch vieler OOSprachen, das der Zustand des Systems nicht klar ersichtlich ist, man also viel mehr Zeit damit verbringen muss, sicherzustellen, dass alles so ist, wie es soll..
Ausserdem lernt man a) nicht das abstrahieren und b) auch nix über das System, insofern ist der Lerneffekt recht minimal


In einer minimalen Sprache wie C hat man den Nachteil, dass man sich angewöhnen muss diese ganzen Kleinigkeiten selber zu machen.

OO Sprachen machen mE erst sinn, wenn man bereits das Programmieren im Kleinen kann, und Projekte durchführen will.
 
Mitglied seit
03.08.2002
Beiträge
707
Reaktionen
0
C ist für einen Anfänger nicht geeignet.
Anfänger haben keinen Plan von Pointern oder Memory Management. Anfängern sollte man etwas geben, mit dem sie Grundlagen lernen können. Und dann sollte man ihnen ein Tool geben, mit dem sie einfach eine nette Menge Effekte hinkriegen, also Programme, denen man nicht auf 500km ansieht, dass sie von nem Anfänger sind (aka Konsole). Anfängern würd ich Python, Javascript oder VBA vor die Füsse werfen.
Wahrscheinlich Javascript, weil es überall funktioniert (Lehrer brauchen sich nicht quälen, dass sie die gleiche Version haben und nen Browser hat jeder), obwohl Javascript einige Macken und untypische Verhaltensweisen hat.

sehe ich anders. viele (?) sind gar nicht an effekten interessiert und grundlagen lernt man dadurch sowieso nicht besser. pointer und mm in grundzügen zu lernen schadet einem anfänger meiner meinung nach auch nicht. auf c lässt sich ausserdem wohl besser aufbauen als auf z.b. vba...

aule2: welche sprache hat denn einen großen funktionsumfang?
 

Aule2

Guest
schau dir mal funktionale Sprachen an, wie die loslegen können ;)
zB APL (in Fachjargon: Einen Fehler zur Perfektion getrieben)
Listen, Matritzen, Operationen darauf, ... direkt im Sprachumfang

Oder auch an recht minimale Sprache wie Lisp (lauter Klammern), die aber komplexe Konzepte wie Fortsetzungen von Haus aus unterstützt.
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
naja ich hab zumindest mit funktionalen sprachen meine problemchen und finde eigentlich, dass sich damit nicht wirklich sinvolles >programmieren< lässt (von mathematischen problemen mal abgesehen). hatte haskell und ich hasse es wie die pest.

ansonsten hab ich vor fast 10 jahren mit basic angefangen. also imperative sprachen eignen sich für nen kind oder totalen newb schon ^^
naja nichtsdestoweniger betrachte ich c bzw c++ heute als das nonplusultra und wenn man den willen hat kann man damit auch prima lernen :)
 

Aule2

Guest
man kann mit allem lernen, wenn man will ;)

Und Haskell kann mehr als nur Mathematische Sachen;
Es gibt eine Web-Anwendungs Skriptsprache, die ganz massiv auf Haskell beruht, und es gibt auch einige andere recht nette Dinge mit Haskell;
Gemocht hab ich es aber auch nicht^^

Ich persöhnlich denke, dass die Funktionalen Sprachen wieder stärker in Mode kommen, weil sie sich recht gut parallelisieren lassen müssten, und auch tendentiell leichter korrekt arbeiten.

Und ansonsten weiß ich, dass Funktionale Sprachen besonders dort verwendung finden, wo häufig neue Probleme modelliert werden müssen (zB in Versicherungskalkulationen), die sind halt oft sehr schnell bei der Implementierung.

Basic ist sicherlich auch gut; aber dann könnte man auch Turbo Pascal machen, das ist wg der strengeren Typisierung schon eher Anfänger tauglich;
Aber da das veraltete Sprachen sind...
Ich denke C ist auf jeden Fall eine gute Einstiegssprache insb. weil man damit dann relativ zügig auf das noch verwendete C++ wechseln kann.
Wenn man professionel Programmieren will sollte man wohl COBOL Fortran oder sowas machen *g
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
naja zur funktionalen geschichte (respektive haskell) ist halt hinzufügen , dass nicht nur unser prof, sondern auch in sämtlichen tutorials stand: vergiss alles was du über programmierung weist.

gerade dass es dort auch die codeformatierung wichtig ist... ein leerzeichen zuviel oder zu wenig und es gab fehlermeldungen ("invalid {", obwohl nirgends so ne klammer auftauchte ^^). also wie gesagt, das empfinde ich nicht als einstiegsfreundlich ^^
 

Aule2

Guest
naja, so anfällig ist haskell meiner Erinnerung zwar nicht, aber es gibt viele andere Funktionale Sprachen die sehr offen was formatierung angeht sind;

Ausserdem könnte ich mir vorstellen, dass ein Einsteiger sich liechter mit FP tut, als jemand der sich an imperative gewöhnt hat ;)
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
naja uns wurde gesagt dass OO für komplette newbies am besten geeignet ist, da sie wesentlich näher an der realität ist ("alles ist ein object" ;)), sprich abstraktionen sind einfacher herzustellen für diejenigen die nix mit imperativen sprachen am hut hatten ^^
 

The_Company

Guest
Original geschrieben von [UEP]Xyz
sehe ich anders. viele (?) sind gar nicht an effekten interessiert und grundlagen lernt man dadurch sowieso nicht besser.
Ich erinnere mich nur am meine Schulerfahrungen mit Turbo Pascal. (War's Version 5?) Ich habe es gehasst wie die Pest, weil kein Mensch nen Plan hatte, wie man ne Windows (aka WfW 3.11) Anwendeung schreibt und ich schon kaempfen musste, damit ich ueberhaupt den Cursor positionieren konnte. Alle anderen konnten nur output mit printf machen. Und Konsolen-Programme sind halt nur die ersten 2 Stunden interessant.

Jedenfalls war das bei mir so. Hat sich uebrigens anner Uni mit Lisp wiederholt. Ich war sowas von enthusiastisch, als ich bei Linux und C angekommen war und ploetzlich Gtk hatte, was das alles konnte. Und meine Programme sahen auch noch professionell aus. :)
 

The_Company

Guest
Original geschrieben von Aule2
Die von Dir genannten Sprachen JavaScript, .. haben den Nachteil, wie auch vieler OOSprachen, das der Zustand des Systems nicht klar ersichtlich ist, man also viel mehr Zeit damit verbringen muss, sicherzustellen, dass alles so ist, wie es soll..
Das wage ich noch zu bezweifeln. Erklaer mal nem Anfaenger, warum er in C die Funktion isnan nicht benutzen sollte, bzw was er dafuer tun muss, um sie benutzen zu koennen.
Das Problem ist wohl, wie weit man sich herauswagt aus seiner kleinen Programmierecke. Solange ich in Javascript nur Fibonacci-Zahlen ausrechne, ist es mir relativ egal, ob Popups erlaubt sind oder nicht.
 
Mitglied seit
19.09.2001
Beiträge
2.379
Reaktionen
17
jeman der überdurchschnittlich begabt ist (und das sind hier im forum ALLE), kann auch locker mit C anfangen! ich habs auch geschafft und war schon programmierer des jahres!
 
Mitglied seit
02.06.2002
Beiträge
1.013
Reaktionen
0
Ich kann dir zu Anfang echt Java mit BlueJ empfehlen. Da kann man schön interaktiv rumspielen. Vielleicht ist das ja ein kleiner Ansporn zu sehen was da dann wirklich passiert :)
 
Oben