ubuntuusers.de

Programmieren in C lernen

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

xinuzle

Anmeldungsdatum:
9. Mai 2010

Beiträge: Zähle...

Hallo

Ich will irgendwie nun mal einen höhere Programmiersprache können, bzw. sie verstehen.. Ich suchte mir dort für denn Beginn die Sprache C aus.. Etwas kann ich ja schon.. Nur ist das halt so.. Das ich immer wieder raus komme und Zusammenhänge manchmal nicht erkenne bzw. überhaupt nichts hin bekomme.. Ist irgendwie voll doof zu erklären.. Aber wie kann ich das nun am besten angehen.. Zeit zum einarbeiten, hab ich ungefähr 4 Wochen.. Was ich fragen will, hat jemand gute Tips zum lernen.. Und vorallem möglichkeiten zur eigen motivation wären was feines aber auch gute Bücher etc..

Für Antworten wäre ich dankbar und ich probiere mein Problem noch deutlicher zu deffinieren..

agaida

Avatar von agaida

Anmeldungsdatum:
24. Februar 2010

Beiträge: 3348

Wohnort: Bielefeld

Hundert Leute werden Dir hundert Bücher empfehlen:

  • Kernigan/Ritchie - The C Programming Language

  • C for Dummies

  • C++ for Dummies

Immer am besten im Orginal, die deutschen Übersetzungen sind meist grottig.

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

xinuzle schrieb:

Ich will irgendwie nun mal einen höhere Programmiersprache können, bzw. sie verstehen..

C ist aber keine höhere Programmiersprache, sondern eine Low-Level-Sprache (und nicht einmal eine besonders gute). Daher solltest Du Dir genau überlegen, ob es jetzt wirklich C sein soll. Alternativen gibt es viele, z. B. Python, Ocaml, C# und weitere.

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Wohnort: 97070 Würzburg

Meine Glaskugel sagt mir, dass du überhaupt keinen Bock hast irgendeine Programmiersprache zu lernen, und rät dir deine Ziele zu überdenken; sorry.

xinuzle

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 17

jaa nee 😀.. ist klar worauf ich bock hab und nicht darüber kannst du orakeln??.. Ich schlag mir für so nen kack Nächte um die Ohren... Und jetzt kriecht jemand aus seinem loch heraus und sagt tada.. "du hast kein bock!" Aber auf der anderen seite.. Selbst wenn ich kein Bock haben sollte.. müsste ich es mir trotzdem reinhauen.. Das ist ungefähr so wie, dass Abi zu schaffen.. Oder eine verkackte Ausbildung machen, in nem verkackten Betrieb.. etc... such dir dein Lieblings Szenarium aus .. Sehr gut, dann hätten wir die "Bock" frage schon mal geklärt ?? oder etwa nicht! Was ich sagen will.. Es geht auch manchmal etwas gegen denn Strich aber machen muss man es trotzdem, oder ist es nicht so?

Aber kein Angst, ich habe schon Bock darauf...

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

@xinuzleIch würde Dir doch mal raten, Deinen Tonfall ein wenig zu mäßigen. Dein Beitrag ist nur vulgär und nicht einmal lustig oder ironisch und obendrauf noch verworren.

@Topic: Wieso muss es auch C sein? Gibt es da einen Zwang? Wenn nein, gibt es nämlich einfacher zu verstehende Sprachen als C...

xinuzle

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 17

ok überarbeiten wir es mal.. also die sache mit der Lust ist ein Zweischneidiges Blatt.. In seinem Leben steht man oft vor Dinge die man nur mit der Beiszange Anfassen will.. Und sich davor eventuell hin und wieder drücken will.. Aber letztendlich bleibt es halt doch an einem selber Hängen.. Abgeschwächte Version..

Für meine Begrifflichkeiten ist im Moment c etwas wie von einem anderen Stern.. Ich versuchte fremden code von Zeile zu Zeile zu verstehen.. folgte denn Variablen, chars und voids.. Hab ich einen "Block" verstanden.. Hab ich ihn schon wieder vergessen.. Das ist wie Französisch.. Und dann kommt was lustiges.. Ich denk ich hab was verstanden und versuche es selbst umzusetzen in code und dann vergess ich alles wieder und sitz doof da.. Und das ist doch nicht der Sinn??

Und ich entschuldige nochmals denn Zynischen Eintrag.. Aber schwäche zeigen wird ja nicht belohnt.. Also lass ich das mal lieber

Warum C? Ach das gehört halt einfach dazu, irgendwann kommt man sowieso an denn Punkt wo man es braucht.. Meister darin will ich nicht werden.. Ich hab die Erfahrung gemacht gleich mit etwas schweren Anzufangen das man halt auch andere Sprachen leichter Versteht.. Für mich dient das als Lehrerfahrung.. wo auch wirklich was dahinter steckt..

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

xinuzle schrieb:

Warum C? Ach das gehört halt einfach dazu, irgendwann kommt man sowieso an denn Punkt wo man es braucht..

Ganz klar: Nö! Diese Verallgemeinerung ist sicherlich so nicht zulässig. Ich kenne ja Deinen Hintergrund nicht; kann natürlich sein, dass Du es brauchst. Aber i.a. ist das heutzutage nicht mehr der Fall.

Meister darin will ich nicht werden.. Ich hab die Erfahrung gemacht gleich mit etwas schweren Anzufangen das man halt auch andere Sprachen leichter Versteht.. Für mich dient das als Lehrerfahrung.. wo auch wirklich was dahinter steckt..

Aber anscheinend klappt das hier ja nicht. Solltest Du da Deinen eigenen Lernansatz nicht noch einmal kritisch überdenken?

Zudem ist "schwer" und "leicht" bei Programmiersprachen nicht wirklich ein sinnvolles und umsetzbares Kriterium. Ein Webforum in reinem C zu schreiben ist sicherlich schwierig, einen einen Kernel-Treiber in Ruby dafür auch, ein Webforum dafür wesentlich einfacher.

Natürlich sind das alles keine Domänen spezifischen Sprachen, dennoch gibt es Bereiche, wo sich manches eher eignet als anderes. Insofern wäre "schwer" und "leicht" hier kein gutes Kriterium.

Aber es gibt eben Sprachen, die ein höheres Abstraktionsniveau haben als andere. Diese sind imho für Anfänger einfacher zu erlernen, weil sie Probleme leichter formulierbar machen und zudem oftmals mit weniger syntaktischem und technischem Overhead daherkommen.

Bei Deinem Motivationsproblem kann Dir niemand helfen; aber evtl. kannst Du mit anderen Sprachen eher Dinge realisieren, die Dich motivieren?

Fanatics

Avatar von Fanatics

Anmeldungsdatum:
25. August 2010

Beiträge: 1032

Wenn's erst mal um Programmieren an sich ginge (ohne dass es jetzt gleich ein in C optimierter Kerneltreiber sien muss), lohnt sich vielleicht ein Blick auf etoys. Das bietet die Möglichkeit, sich erst mal grundsätzlich mit den Strukturen (Objekte, Variable, Steuerung, Funktionen) in der Programmierung auseinanderzusetzen. Mit ein wenig Einarbeitung kommen die Erfolgserlebnisse recht schnell und liefern vielleicht die Motivation, sich mit einer "echten" Hochsprache zu befassen. Alternativ kannst Du Dich natürlich auch weiter in SmallTalk (auch eine objektorientierte Hochsprache) einarbeiten, denn etoys wurde in SmallTalk geschrieben.

Grüßle

Fanatics

xinuzle

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 17

naja ich hab mir zur motivation gemacht .. Eine Blog Aehnliche software zu schreiben.. alles komplett in C, das hat auch seine Gründe.. Da ich nur 4mb speicher zur Verfügung habe.. Ich habe fefes gatling zusammen gebaut.. und hab erste test probiert.. Und tada mein cgi script läuft.. nur will ich es auch irgendwie Blog-like haben.. Also aktuelles Material immer oben, nach 10 Einträgen eine neue Seite.. Meine motivation ist, die ganze Software unter 100kb zu bekommen.. Ich weiss klingt Größenwahnsinnig.. Aber das kann auch 2 Jahre Dauern bis es fertig ist..

Das ist ein Ziel auf langer sicht, auf kurzer sicht will ich einfach ein Problem formulieren können und es eventuell Lösen.. Eventuell bezieht sich dann auf denn jeweiligen Kenntnisstand denn ich erreicht habe..

agaida

Avatar von agaida

Anmeldungsdatum:
24. Februar 2010

Beiträge: 3348

Wohnort: Bielefeld

Gut - Die Motivation ist geklärt;)

Ich sag das jetzt höchst ungern und mach mich unbeliebt. Da Du wirklich lernen willst, gib dir eine Chance. Mach einen Umweg und und lern erst mal Laufen und den aufrechten Gang. Die Empfehlung für Python ist schon gekommen, da Du Dir einen recht langen Zeitrahmen gegeben hast, wäre das sinnvoll.

Strukturen und Techniken lernen sich am besten in einer Hochsprache, die sich möglichst viel mit Strukturen und Methoden auseinandersetzt, weniger mit kryptischer, schwer zu verstehendem Kleinkram. Dieses Wissen wendet man dann auf die niedere Sprache an und hat o Wunder, kaum Probleme, diese zu erlernen und die erlernten Prinzipien umzusetzen.

Ansonsten, den Kernigan/Ritchie als das C Standardwerk in Griffweite, C und C++ for Dummies durchackern, wenns hakt, Google und los gehts.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

@agaida: K&R ist vielleicht nicht das geeignete Buch für einen Einsteiger. Es ist zwar das Standardwerk für C, hat aber Referenzcharakter und ist kein Lehrbuch.

agaida

Avatar von agaida

Anmeldungsdatum:
24. Februar 2010

Beiträge: 3348

Wohnort: Bielefeld

Deswegen steht da auch "als Nachschlagewerk in Griffweite". bisher habe ich die Reihe "xyz for Dummys" durchaus als lesenswert empfunden. Allein mit K/R als Referenz ist das natürlich Schwachfug, genau wie explizit C oder C++ lernen zu wollen. Es soll aber auch Leute geben, die diesen Weg erfolgreich praktiziert haben.

owl102

Anmeldungsdatum:
10. September 2010

Beiträge: 248

Wohnort: Braunschweig

agaida schrieb:

Strukturen und Techniken lernen sich am besten in einer Hochsprache, die sich möglichst viel mit Strukturen und Methoden auseinandersetzt, weniger mit kryptischer, schwer zu verstehendem Kleinkram. Dieses Wissen wendet man dann auf die niedere Sprache an und hat o Wunder, kaum Probleme, diese zu erlernen und die erlernten Prinzipien umzusetzen.

Sehe ich nicht unbedingt so, zumindest war es bei mir genau andersherum.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

owl102 schrieb:

Sehe ich nicht unbedingt so, zumindest war es bei mir genau andersherum.

Notgedrungen? Unwissen? Oder doch bewusst? Beschreib doch mal etwas genauer ☺

Antworten |