[Suche]Buchtipp für Programmiereinsteiger

  • Ich wollte mich schon seit geraumer Zeit einmal mit Programmieren auseinandersetzen, habe von dieser Materie aber so gut wie gar keine Ahnung. An meine (primitven) Kenntnisse von Pascal und Basic zu meiner Schulzeit kann ich mich eigentlich auch nicht mehr erinnern.
    Ich würde mir ganz gern so hobbymäßig kleine Programme schreiben können.
    Welche Programmiersprache würdet ihr mir zu Anfang empfehlen?
    Sie sollte vor allen Dingen möglichst vielseitig sein, damit ich nicht nachdem ich diese gelernt habe und vielleicht etwas fortgeschritten bin eine Neue lernen muss.


    Könnt ihr mir ein Buch empfehlen, dass für den Programmiereinsteiger zum Selbststudium gut geeignet ist?

  • Habe mich jetzt nach der Lektüre von einigen Foren für C++ entschieden. Ist zwar nicht gerade die einfachste Programmiersprache aber ich denke das ist schon machbar...
    Als Buch habe ich mich für "C++ IT-Tutorial" entschieden, auf Grund der Einsteigerbuchtipps auf c-plusplus.de .

  • hmm.... ohne, dass ich einen konkreten Gegenvorschlag geben könnte (ich halte C++ sowieso als suboptimal zum Erlernen des Programmierens, aber dessen bist Du Dir ja selbst bewusst) -- ich habe mir mal die Beschreibung des Buches auf der von Dir genannten Site angesehen, und den Eindruck gewonnen, als würde Objektorientierung nicht oder fast nicht in dem Buch behandelt werden. Das ist auch einer der Haken an C++ -- die Objektorientierung ist beinahe nur eine Art Add-On zu C... und sämtliche Schwierigkeiten, die C einem Einsteiger bereiten kann, hat auch C++ zu bieten (und noch einige mehr).


    Als erste Sprache... wie praxisorientiert soll sie denn sein? Wenn's auch eine eher als Lehrsprache eingesetzte sein darf, wäre im Bereich OO evtl. Sather zu nennen, oder mit etwas mehr Praxisbezug Eiffel (die Bücher von Bertrand Meyer sind empfehlenswert, wenn auch evtl. teils nicht unbedingt einsteigerfreundlich). Ansonsten bieten Java und C# (die Sprache, ich meine nicht .NET-Schnickschnack wie Webforms und dergleichen) sicher weniger Hürden für Anfänger als C++, wobei C# gegenüber Java etwas "fortentwickelter" ist (dafür den Nachteil hat, dass Du den ganzen Kram von Microsoft brauchst). Im Bereich prozeduraler Sprachen... naja, Pascal oder Modula als Lehrsprache, allerdings ist C hier doch deutlich praxistauglicher, wenn auch einsteigerunfreundlicher.


    Für welche Sprache Du Dich auch entscheidest (oder bereits entschieden hast): Ganz wichtig ist es, konzeptuell sauber programmieren zu lernen! Sehr viele vorgebliche "Einsteigerbücher" lassen leider konzeptuelle Aspekte völlig aussen vor, wer danach lernt, eignet sich allzu leicht eine "Bastlermentalität" an.


    Gruß
    Michael

    History: Motorola e930, t720, RAZR V3, MOTORAZR maxx V6, MOTOROKR Z6, MOTOROKR E8, MOTOZINE ZN5, Samsung S8000 Jet

  • Vielen Dank für die Antwort!
    Ich habe mich mit der Bestellung dieses Buches für C++ entschieden.
    C++ ist einfach super vielfältig. Java ist meiner Meinung nach zu langsam für eventuelle spätere Projekte. Bei C# stört mich vor allen Dingen dieser, wie Du so schön schreibst "Kram von Microsoft". Ich würde meine Programme auch sehr gern unter Linux kompilieren können, da ich nach und nach auf Linux umsteigeen will. Das ist meiner Meinung nach auch etwas, wobei mir die Programmiersprache C++ evtl. behilflich sein kann.
    Damit, dass sie nicht gerade einsteigerfreundlich ist, muss ich mich wohl abfinden.
    Wie gesagt ist die Vielfältigkeit dieser Sprache für mich der entscheidende Punkt gewesen [ich möchte nach Möglichkeit nur eine Sprache lernen], da ich bis jetzt noch kein konkrektes Projekt im Kof habe, ausser ein ziemlich simples Hilfsprogramm. Aber wir werden ersteinmal sehen, inwiefern ich mit C++ klarkomme. Leider habe ich in meinem Freundeskeis niemanden, der programmieren kann. Könntest Du mir ein, für C++ Einsteiger gut geeignetes, Forum empfehlen?

  • Zitat

    Original geschrieben von Sahib7
    C++ ist einfach super vielfältig.

    Hmm... inwiefern siehst Du bei C++ einen "Vielfältigkeitsvorteil" gegenüber Sprachen wie Java, C#, Eiffel, etc.?


    Falls Du damit meinst, dass wie in C mit Pointern direkt in den Speicher reingegriffen werden kann -- das ist für Anfänger eher verwirrend und eine wunderbare Fehlerquelle.


    Zitat

    Java ist meiner Meinung nach zu langsam für eventuelle spätere Projekte.

    Hier schliesse ich mich meinem Vorredner an: Wo siehst Du hier Performanceschwierigkeiten? Laut eigener Aussage möchtest Du das Programmieren erst erlernen... da ist es noch ein weiter Weg bis hin zu größeren Projekten (und bei welcher Art von Projekt siehst Du hier Performanceschwächen? Mir fallen da eigentlich primär grafische Benutzeroberflächen ein, die gerade auf alten Rechnern mit Java etwas träger sind... und die Rechner werden immer schneller... und bei Java ist der Spass plattformunabhängig. Wenn Du ein schnelles GUI in Java brauchst, kannst Du mal die Library anschauen, die vom Eclipse-Project verwendet wird. Dann geht die Plattformunabhängigkeit allerdings beim Endprodukt wieder flöten, im Code lässt es sich noch gut abstrahieren).



    Zitat

    Damit, dass sie nicht gerade einsteigerfreundlich ist, muss ich mich wohl abfinden.

    Aber genau das ist ja beim Erlernen einer Programmiersprache ein dicker Fallstrick. Ich sage nicht, dass es nicht geht, damit Programmieren zu erlernen ;-) Aber es ist möglicherweise mühsam, und man muss aufpassen, sich sauberes Designen/Programmieren anzugewöhnen. Zusätzlich zu dem von Dir gewählten Buch würde ich auf jeden Fall Literatur empfehlen, die Objektorientierung sauber behandelt.



    Zitat

    ich möchte nach Möglichkeit nur eine Sprache lernen

    Dieser Vorsatz wird sich vermutlich irgendwann von selbst auflösen ;-)


    Zitat

    da ich bis jetzt noch kein konkrektes Projekt im Kof habe, ausser ein ziemlich simples Hilfsprogramm

    Hmm... das ist dann doch weit weg von den befürchteten Performanceproblemen?


    Zitat

    Könntest Du mir ein, für C++ Einsteiger gut geeignetes, Forum empfehlen?

    Ich fürchte, hier muss ich passen. Du könntest Deine Frage mal im Usenet in eine C/C++-Newsgroup stellen, dort sollte Dir mit hoher Wahrscheinlichkeit jemand weiterhelfen können.


    Grüße
    Michael

    History: Motorola e930, t720, RAZR V3, MOTORAZR maxx V6, MOTOROKR Z6, MOTOROKR E8, MOTOZINE ZN5, Samsung S8000 Jet

  • Mit Vielfältigkeitsvorteil habe ich vor allem gemeint, dass viele Programme, die im Quelltext vorliegen, in C++ verfasst sind, und man so einen gewissen Einblick in solche Projekte bekommt, wenn man c++ beherrscht. Bei Performanceproblemen habe ich z.B. an Datenbankprojekte gedacht.
    Antiprofi:
    Danke für den Tipp!

  • Zitat

    Original geschrieben von Sahib7
    Bei Performanceproblemen habe ich z.B. an Datenbankprojekte gedacht.


    dort werden 100%ig keinerlei performanceprobleme auftreten - egal ob durch selfmade-code oder durch frameworks wie hibernate - alles kein problem.


    bsp: in einem projekt habe ich via java zur laufzeit mit 56 oracle-servern kommunizieren müssen - das system dreht sich seit einem 18 monaten ohne ausfall.


    der performance-vorwurf wird durch irgendwelche militante mausschubser und office-assistenten und deren gehilfen in die welt gesetzt.


    greets

  • Ich hab davon noch nicht so viel Ahnung, habe aber des oöfteren gelesen, dass die Performance bei Java nicht mit der von c++ zu vergleichen ist. Irgendwie erscheint mir das logisch, da ja die JVM auch noch laufen muss...
    Aber ich glaube Dir, da ich wie gesagt selbst leider noch nicht viel Ahnung habe.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!