C lernen, Newbie sucht Rat

Musicsniper

Lieutenant
Registriert
Nov. 2011
Beiträge
960
Hey leute,

Ich wollte anfangen programmieren zu lernen, da ich so oder so meine ganze Zeit vor dem PC verbringe ^^
Naja wie dem auch sei, mein Dad will mir nun C beibringen und da wollte ich euch fragen ob ihr evtl. Websites oder Bücher kennt die einem dabei helfen können.
Ist C überhaupt geegnet als erste Programmiersprache ( meine Vorkentnisse snid nicht vorhanden ) ? Mein Dad meint halt C wäre am praktischsten und das er auch in der Arbeit damit arbeitet.
Was meint ihr und was könnt ihr mir empfehlen ? Danke im Vorraus
Musicsniper
 
Naja, C ist eher unkomfortabel, wenn man allerdings damit das Programmieren lernt, dann hat man später mit den modernen Sprachen keine Probleme mehr, die nehmen einem viel ab.
Kommt auch ein Stückchen darauf an, was du programmieren willst. Geht es um Desktop-Anwendungen, solltest du eher Java nehmen, willst du Mikrocontroller oÄ programmieren, tu dir lieber früher als später C an.
 
Danke schonmal :D Also meint ihr ich sollte mit Java anfangen ? C# oder Java ? sry wenn ich so ein nullchecker bin ^^
 
Mit C# bist du mehr oder weniger an Microsoft gebunden und JAVA ist Plattformunabhängig. Ich würde JAVA nehmen, aber jedem das seine.
 
Dann auf jeden Fall Java. Oder wie wärs mit C++? Ist ein bisschen mehr wie C, aber dennoch schon Objekt orientiert und nicht ganz so hilflos wie reines C, was Standardfunktionen angeht.

Ich hab programmieren damals mit Java und PHP gelernt und muss sagen, dass die ganzen Pointer-Geschichten von C-artigen Sprachen mir bis heute ein wenig suspekt sind, einfach weil ich das die ersten paar Jahre nie gebraucht habe. Die ich jetzt im Embedded Bereich zwingend benötige.. :D

Hätte ich nochmal die Wahl würde ich heute mit C anfangen, auch wenn es einem viel weniger abnimmt als moderne Sprachen und man deutlich länger braucht bis man irgendwas vorzeigbares zu Stande gebracht hat, was natürlich besser für die Motivation wäre.

Im Kern sind aber (fast) alle Sprachen sehr ähnlich, wenn du eine kannst, kannst du damit meistens auch Source Code von anderen Sprachen verstehen und mit wenig Aufwand selbst lernen.
 
Hmm.... ich glaube ich favorisiere mal C++ und frag nachher meinen Dad :D Danke euch leute ihr seid super :D Kennt ihr noch Websites wo man C++ oder JAva lernen kann ( zu java hab ich ja schon einene Superlink bekommen :D )
 
Ich würde dir gleich zu C++ raten. C ist eine andere Welt und sich gleich mit dem Objektorientierten auseinander zu setzten
halte ich für besser.

Unter dem Link findest du Qt. EIn C++ Framework mit super Dokumentation, einer guten IDE dem Creator und es ist
kostenlos! Außerdem ist es auch Plattform unabhängig!

http://qt-project.org/downloads

Viel Spaß!;)
 
Entscheide dich was du eher machen willst.
Mit Java Programmierung für mobile und PC, oder richtige Programme für PCs (C/C++).

Womit man anfängt ist völlig egal und kommt eher auf das Buch drauf an.
Anfängerbücher für Java sind z.B. die von Markt und Technik "Jetzt lerne ich Java 7".

Java ist auch eine Insel ist solala. Wenn da schon als Zielgruppe steht: für Anfänger und Fortgeschrittene, dann kannst als Anfänger direkt einpacken wenn du nicht bereits im Informatik / Mathe Studium hängst.

Falls du irgendwann Informatik studieren willst, dann wirst du dir jede Menge Stress sparen wenn du die Basics von Java und C++ beherrschst. Programmierung ist der Zeitfresser Nr1 in solchen Studiengängen, da ist Mathe nix gegen (Bei FHs ist es eh nur Abi-Mathe, Analysis, Stochastik und Vektoren/Matrizen).
 
Zuletzt bearbeitet:
Wenn du mit Ernsthaftigkeit Programmieren lernen willst würde ich dir C empfehlen. Nur dort ist man wirklich gezwungen sich mit Datenstrukturen und Algorithmen auseinander zu setzen. Java und C# nehmen da einem zu viel ab, manchmal zu viel...

Wenn du dann C mal drauf hast kannst du dir andere Sprachen wie Java oder C# anschauen und verstehst dann auch was im Hintergrund wirklich abläuft.
 
Hmm ok werd mal gucken. Wird vermutlich C++ oder Java werden das darf der Boss entscheiden ^^
Danke euch allen :D Ihr seid super ;*
 
C/C++ wenn du das beherscht hast mit anderen Sprachen auch keine Probleme mehr ;p

Wie Nightfil schon sagte der rest nimmt dir viel zuviele Grundlagen ab, ist schön wenn man schon proggen kann, aber wenn manns erst lernt sollte man schon bei den Grundlagen anfangen ... sonst wirst du nie richtig proggen können!
 
Zuletzt bearbeitet:
Ich hab vor 18 Jahren auch mit C / C++ angefangen (richtig) zu programmieren und es war aus heutiger Sicht die richtige Grundlage.
Hab grad mal google bemüht und das gefunden:

http://www.proggen.org/doku.php?id=start:start

scheint mir ein guter Einstieg für nen Anfänger zu sein, vor allem weil man dort ne Entscheidungshilfe bekommt und auch der Weg zu QT und ähnlichem gut beschrieben ist.
Sowie solche Dinge wie Build-Systeme mal Anfänger tauglich besprochen werden.

Viel Erfolg
 
Lass dir bloss nicht von C abraten!
Es ist die ideale Sprache für den Einstieg. Wieso?
Man eignet sich tiefgehendes Wissen und Verständnis an, dass man auch bei jeder anderen Programmiersprache sicherlich gebrauchen kann!
Auch bekommt man viel davon mit, wie ein PC eigentlich arbeitet, wie Code in Maschinensprache übersetzt wird, etc.
Wenn man mit Java oder C# anfängt, ist man von der Einfachheit voreingenommen und wird es schwer haben C zu lernen.

Wenn dich das alles aber gar nicht interessiert, dann fang mit Java an. ;)
Falls doch, kann ich dir nur Programmieren in C empfehlen. Ist das Standardwerk in Sachen C.
Ergänzend dazu gibts noch diverse Tutorials und auch Videos auf Youtube, einfach ein bisschen suchen. Ein paar wurden hier ja schon gepostet.
 
Wenn man vorher JAVA oder C# programmiert ohne C programmiert zu haben fehlt schon ein bischen an Wissen, wäre also von Vorteil mit C zu beginnen.
Aber von zum Beispiel C# auf C umzusteigen ist nicht schwerer als direkt C zu lernen, eher leichter.
Da es sich hier jedoch um eine private Angelegenheit ohne beruflichen Hintergrund handelt würde ich das lernen was mir spaß macht.
 
C hat was fieses durch die Pointer-Geschichten und das allgemein knifflige Speichermanagement.... aber trotzdem ist es, wenn du wirklich längerfristige Ambitionen hast, ein verdammt guter Einstieg. Viele wirklich große und geniale Projekte sind in C geschrieben, z.B. der Linux-Kernel.
Java und C# kannst du nehmen (wenn, dann aber eher Java, um nicht an MS gebunden zu sein), wenn du keine langfristigen Ambitionen hast. Genauso könntest du aber auch PHP, Perl, Python oder Ruby nehmen. Diese Sprachen sind allesamt objektorientiert, im Falle von Java sogar zwanghaft bei jedem Kinkerlitzchen. Dafür haben quasi keine festen Datentypen und kein Speichermanagement.
C++ ist eine ähnliche Liga wie C, ist aber anders als C zusätzlich noch objektorientiert. Wenn du dich vom Start weg an die Objektorientierung wagen willst wäre C++ eine gute Wahl. Du lernst trotzdem ähnlich/genauso viel über Speicherverwaltung und Datenstrukturen wie in C, lernst aber zusätzlich noch die Vorzüge und Nachteile der Objektorientierung.

Das sind natürlich alles imperative Programmiersprachen. Wenn du was ganz interessantes lernen willst, dann wirf einen Blick auf die deklarativen Programmiersprachen wie Prolog, Haskell oder Lisp.
 
Ich habe schon vor meinem Informatik Studium mit C/C++ angefangen. Der Vorteil daran war, das viele Sprachen davon beeinflußt sind. Es vereinfacht dir das Lernen anderer Sprachen. Der Einstieg ist zwar schwerer aber es lohnt sich.
Wenn du später in Richtung Webentwicklung(PHP, ASP.net, JavaScript, Python, Ruby ...) gehen möchtest, wie ich es getan habe, hast du einen schnellen Einstieg in die Sprachen.

Eine geeignetes Mittel zum Lernen sind diverse Videokurse und Bücher. Video2Brain/Galileo Computing, um zwei deutschsprachige zu nennen, sind sehr beliebt.

Wenn du der englische Sprache mächtig bist, kannst du mal hier vorbei schauen
http://www.codecademy.com/de/learn
 
Zuletzt bearbeitet:
NIGHTFIL schrieb:
Wenn du mit Ernsthaftigkeit Programmieren lernen willst würde ich dir C empfehlen. Nur dort ist man wirklich gezwungen sich mit Datenstrukturen und Algorithmen auseinander zu setzen. Java und C# nehmen da einem zu viel ab, manchmal zu viel...
lol, in KEINER Sprache kann ich auf das Wissen von Datenstrukturen und Algorithmen verzichten, ein O(n^3)-Algorithmus ist nunmal in jeder Sprache langsam, egal ob Java, C# oder C.


Die Frage ist viel eher, Musicsnipper, wenn du jetzt anfängst zu programmieren, was willst du damit machen? Du wirst wohl kaum Programmieren lernen ohne irgendein Ziel zu haben, und nur wenn man dein Ziel kennt, kann mir dir sinnvoll eine Sprache vorschlagen.
Und die ganzen Tipps mit irgendwelchen Argumenten, dass Sprache X besser als Y ist, kannst du getrost ignorieren. Du musst dir die meisten Programmierer wie die übelsten Android/iOS bzw. Nvida/Ati oder Amd/Inte Fanboys vorstellen, da wird immer nur empfohlen, was man selbst macht und es ist das einzig wahre. Das für Anfänger aber eventuell andere Sprachen relevanter sind, wird da ignoriert. Genau wie dann immer Argumente kommen, dass C am schnellsten ist (toll, und am schwierigsten zu entwickeln, das wird jeder zugeben) oder Sprache X besser ist, weil alle Sprachen sich an dessen Syntax anlehnen (klasse, dann kann ich auch gleich Sprache Y nehmen, wenn sie an X angelehnt - die Transferleistung von Y nach X ist die gleiche wie von X nach Y). Du kannst genauso Argumente ignorieren, dass man erst Sprache X gelernt haben sollte, bis man Y lernt. Man kann jede Sprache direkt lernen, und wird genug zu tun haben diese zu lernen, da bringt es nichts vorher noch eine andere zu lernen. Der Hintergedanke der meisten Entwickler ist nur, dass wenn du erstmal eine Sprache gelernt hast, es deutlich leichter fällt eine andere Sprache zu lernen. Es gibt Ausnahmen wie von Daaron beschrieben z.B. von imperativen zu funktionalen Sprachen zu wechseln, aber da hilft dann trotzdem die Programmiererfahrung im allgemeinen, dass man weiß, wie man Fehler eingrenzt, wie man bestimmte Dinge strukturiert löst usw.

Ich enthalte mich hier in dem Beitrag nun einem Sprachvorschlag, bis du ein Programmierziel genannt hat, vorher ist alles sinnlose Fanboy-Empfehlerei der Lieblingssprache.


@palace4d: Das Web-Argument ist wirklich schlecht!. C ist nunmal die für Anfänger am schwersten zu lernende Sprache, warum sollte er eine Sprache lernen, die schwer zu erlernen ist und für sein Ziel ihm gar nichts bringt da er danach eine Web-Sprache lernen kann? Dann kann er auch direkt mit einer Websprache loslegen.
 
Zurück
Oben