Programmierenanfänger - Tipps und Vorschläge?

AusdemOsten

Newbie
Registriert
Sep. 2013
Beiträge
3
Hallo Leute :)

Ich glaube jeder Jugendliche kommt einmal aus der Phase raus, in der es am PC nur um Zocken und Chatten geht und will die Zeit sinnvoll nutzen!
So auch ich!
Schon seit mehreren Monaten versuche ich (leider vergebens) programmieren zu lernen!
Ich habe mit PHP & MySQL angefangen (HTML & CSS konnte ich schon, aber zählen ja beides nicht als Programmiersprachen).
Ich habe mit C# angefange, da ich aber an manchen Stellen nicht weiter kam und frustriert war, habe ich damit aufgehört und mit C++ angefangen.
Das gleiche dann bei C++, als ich an einer Stelle angelangt bin, die mich frustriert hat, hab ich auch damit aufgehört und mit C weiter gemacht!
Das gleiche ein weiteres mal, und aus frustration habe ich dann eine Woche nichts gemacht und nach dieser Woche habe
ich dann mit Java angefangen.
Und wieder einmal das gleiche - ich kam an einer Stelle nicht weiter und habe damit aufgehört :(
Seit gestern bin ich mit Python beschäftigt!
Nun ich würde von euch gerne wissen, wie ihr programmieren gelernt habt und was ihr gemacht habt,
falls ihr mal nicht weiter wusstet und ob ihr auch bei frust eine neue Sprache begonnen habt?
Ich weiß nicht ob es daran liegt, dass ich noch 14 bin und deswegen einiges nicht verstehe!

Mit HTML war das auch so - ich habe mit 11 Jahren HTML lernen wollen aber ich habe nichts davon verstanden.
Als ich mich dann nach genau einem Jahr wieder an HTML rangewagt habe (mit 12 Jahren) , habe ich es dann schon nach 2 Wochen gelernt!

Also könnte es theoretisch auch möglich sein, dass ich, wenn ich etwas reifer bin, das Programmieren mit den schwierigenSprachen verstehen werde?

Hat einer von euch gleiche Erfahrungen gemacht?
In welchem Alter habt ihr programmieren gelernt?
Und welche Bücher, Tutorials, Tipps, Vorschläge und Tricks könnt ihr mir zum lernen Empfehlen?


Danke schon mal im Voraus! :)
 
Aus Frust eine neue Sprache anzufangen finde ich persönlich nicht gut. Lieber eine Sprache rauspicken und diese lernen. Ich hab mich für C++ entschieden, einfach weil es auf mich den besten Eindruck gemacht hat. Anfangs habe ich es geliebt, dann kamen Pointer und ich hab es gehasst.

Bei mir ist es einfach eine Art Hassliebe. Programmieren fasziniert mich, die Möglichkeiten die sich einem ergeben usw., aber von Zeit zu Zeit hab ich einfach mal 2-3 Monate absolut keinen Bock auf den Scheiß. Also, such dir eine Sprache die dich interessiert oder die einfach zu lernen ist(Python finde ich persönlich nicht so gut, allein wegen der ganzen dummen Formatierung) und bleib dabei bis du sie gut beherrschst.
 
Das hat weniger was mit dem Alter zu tun, sondern mit der Komplexität und dem Willen sich da einzuarbeiten. Durch language hopping wirst du nicht weiter kommen, die Sprachen ähneln sich alle etwas, sie basieren großteils auf den selben Paradigmen. Meine Empfehlung ist es, sich auf eine Sprache zu beschränken und sich dann durch die Probleme durchzubeißen. Die Probleme sind normal und gelegentlicher Frust ist auch bei einem erfahrenen Programmierer natürlich.

Programmieren lernt man, indem man die Bücher von A nach B durchmacht, es vlt. ein zweites mal macht (nicht nur lesen, auch abtippen!) und dann versucht zu verstehen, was das Buch über die Theorie dahinter sagt. Du musst nicht auf Anhieb verstehen, was genau Objektorientierte Programmierung ist, das kommt mit der Zeit, wenn du sie einsetzt, jedoch musst du "auswendig wissen" was die Theorie sagt, wie was heißt und wofür das Buch sagt, es nützlich ist. Anders geht es nicht.

Die Sprachen C und C++ sind "old school" und dadurch schwer zu erlernen und verstehen (Stichwort: Pointer). Moderne Sprachen wie C# (Microsoft) und Java (Oracle) sind da deutlich einfacher und bieten auch bessere Umgebungen um einfacher Anwendungen (z.B. grafische Oberflächen) zu erstellen. C# oder Java halte ich daher für eine gute Wahl, wenn du den Fokus auf Praxis und nicht Theorie legen möchtest. Andere Sprachen sind natürlich auch eine Option, aber C# und Java sind "einfach", mächtig und weit verbreitet.
 
Zuletzt bearbeitet:
Okei, Danke!

Ich habe im Internet gelesen, dass Python für jugendliche eher geeignet ist, als C++, C, Java undso!
Ich habe das Buch 'C++-Programmierung verständlich erklärt' von jürgen Wolf,
aber irgendwie verstehe ich da schon nach den ersten paar Seiten nichts mehr,
weil er auf manche Dinge eingeht aber sie dann erst 4-5 Seiten später erklärt
und ich finde seinen schreib-stil nicht so gut :)

Trotzdem, werde versuchen mich an eine Sprache ranzuhängen!
freue mich sehr über weitere antworten!
 
es ist echt voll egal welche sprache mehr oder weniger für anfänger oder jugendliche geeignet ist.alle sind am anfang schwierig.

aus meiner sicht lohnt sich am meisten C++, wenn man was für windows machen will.


edit: aber grundsätzlich ist es gut wenn man als junger mensch programmieren anfangen will. aktuell sind informatiker z.b. sehr gesucht und verdienen gut.
 
Zuletzt bearbeitet:
Hallo,
Ich habe ungefähr in deinem Alter mit php angefangen. HTML und css konnte ich - da war php der nächste Schritt. Wenn du das Grundprinzip verstanden hast, brauchst du nur noch die (sehr gute) Dokumentation von php.net. Angefangen hab ich erst mit ganz einfachen Sachen wie Schulaufgaben per Formular ausrechnen und sowas, also nur mit einfachen if-abfragen. Später kommen dann schleifen dazu, bis du merkst, dass du für deine Website eine Datenbank brauchst. Dann geht's mit mysql oder heute schon sqlite weiter.
 
Programmieren hat nix mit dem Auswendiglernen von Sprachen zu tun, sondern mit dem Verstehen und Analysieren von Abläufen. Entweder du kannst eigenständig Algorithmen zur Problemlösung erarbeiten, oder du rennst permanent gegen Wände.
 
Daaron schrieb:
Programmieren hat nix mit dem Auswendiglernen von Sprachen zu tun, sondern mit dem Verstehen und Analysieren von Abläufen. Entweder du kannst eigenständig Algorithmen zur Problemlösung erarbeiten, oder du rennst permanent gegen Wände.
trotzdem muss man einiges auswend wissen, oder man schlägt in einer tour nach. mathematik muss man ab einem bestimmten zeitpunkt auch auswendig lernen
 
Kaum jemand wird durchs Lesen von Büchern allein zum guten Programmierer. Ich würde nicht das lernen der Sprache in den Mittelpunkt stellen sondern irgendein Ziel/Projekt. misa555 hat ja einen Thread verlinkt wo jede Menge gute Ideen gesammelt sind. Dann eine Sprache wählen die das ermöglicht und dranbleiben. Ich wollte mit 14 z. B. unbedingt Spiele entwickeln (ok eigentlich immer noch :D) und habe deswegen C++ gelernt. Da dort die Erfolge zunächst ausblieben habe ich dann erstmal ca. ein Jahr an einigen Mod-Projekten für das Spiel Gothic 2 als Scripter mitgearbeitet (dort musste noch jede Quest von Hand gescriptet werden in einer obskuren Scriptsprache, ich nehme mal an dass das bei modernen Engines eher über einen grafischen Editor läuft).
 
Also C++ ist sau schwer. Vielleicht die schwerste ernsthafte objektorientierte Programmiersprache überhaupt.

Python, Java oder C# ist schon ganz gut, die haben gute Standard-Libraries, das ist wichtig.

Mein erstes Programm war ein QBASIC Textadventure. Ich mochte das damals, weil es maximal einfach war. QBASIC würde ich heute nicht mehr machen, aber wenn du schon etwas HTML kannst, könnetst du auch Javascript lernen. Benutz einfach jsfiddle.net und programmier dort:

http://jsfiddle.net/jMvcb/
 
Zuletzt bearbeitet:
Emer schrieb:
trotzdem muss man einiges auswend wissen, oder man schlägt in einer tour nach.
Ja, aber das kommt auf natürlichem Wege. Irgendwann kennst du die gängigen Befehle in den jeweiligen Sprachen. Oder du verwendest eine anständige IDE mit Auto Complete.
Was dir kein auswendig lernen abnehmen kann ist das Lösen von Problemen. Problemlösungsstrategien kann man durchaus lernen, aber am Ende muss man sie adaptieren für die jeweiligen Probleme.
 
Wir lernen in der Schule grad Java und ich muss sagen, es ist nicht das Schlechteste zum Anfangen. Da Java nicht so Fehlertolerant ist, wie z.B. C, lernt man einfach "sauberes" Programmieren. Java meckert bei jedem Sch*** :D
Klingt erstmal frustrierend, aber wie oben schon gesagt, bei einer Sprache bleiben und bei Problemen nicht aufgeben und zur nächsten Sprache springen, sondern dem Problem nachgehen.
Was Java betrifft, wurde mir ein Buch empfohlen, was sich extrem gut für Anfänger eignet, weil es sehr anschaulich und verständlich geschrieben ist: Java von Kopf bis Fuß
Wenn du iTunes hast, gibt es dort noch eine Handvoll Videos von der RWTH Aachen, in denen Java auch sehr gut erklärt wird.
Hab's mal im YT rausgekramt, allerdings in schlechterer Quali: http://youtu.be/SRBu_zsSWco
(Dieses Video ca. ab der Hälfte und die 14 nachfolgenden, allesamt in der rechten Liste verlinkt)

Vorteil von Java: Kann man Java, kann man fast alle anderen gängigen Sprachen mit viel weniger Lernaufwand beherrschen.
 
Z1dane schrieb:
Da Java nicht so Fehlertolerant ist, wie z.B. C, lernt man einfach "sauberes" Programmieren. Java meckert bei jedem Sch*** :D
Wo bitte ist C fehlertolerant? Reden wir hier über dieselbe Sprache? Die Sprache, die dir permanent Memory Allocation Error um die Ohren pfeffert, wenn du dich bei nem malloc() vertippst?
Java ist, durch die automatische Speicherverwaltung, ja wohl um Welten friedlicher als C.

Vorteil von Java: Kann man Java, kann man fast alle anderen gängigen Sprachen mit viel weniger Lernaufwand beherrschen.
Das hat nix mit Java zu tun. Fast alle wichtigen Sprachen verwenden eine C-artige Syntax. Außerdem sind die Programmierkonzepte für all diese Sprachen identisch. Bei einer heißt der Befehl, der die Länge einer Zeichenkette ausgibt, eben strlen(), bei der nächsten String:length() oder sizeof(). Spielt das eine Rolle?

Aber zeig mri mal, wie du mit deine Java-Kenntnissen etwas in Prolog, Lisp oder Haskell schreibst... *g*
 
Fang mit einem dünnen Buch für Anfänger an. Es bringt nichts dir direkt am Anfang einen 1000 Seiten Schinken zu holen. Wie schon gesagt besser du lernst C# oder Java. C++ erschwert dir den Einstieg, weil du dort noch viele Dinge erlernen musst, die C# automatisch erledigt....
 
Daaron schrieb:
Wo bitte ist C fehlertolerant?

Was Z1dane meint ist wohl "nicht so fehlertolerant zur Compilezeit". Bei C und C++ kann man schon eine ganze Menge Blödsinn hinschreiben, was am Ende compiliert, bei Java und C# ist das schon weiter eingeschränkt.
 
andy_0 schrieb:
Die Sprachen C und C++ sind "old school" und dadurch schwer zu erlernen und verstehen (Stichwort: Pointer). Moderne Sprachen wie C# (Microsoft) und Java (Oracle) sind da deutlich einfacher und bieten auch bessere Umgebungen um einfacher Anwendungen (z.B. grafische Oberflächen) zu erstellen.

Also ich wage mal zu behaupten, daß idiomatisches C++ spätestens seit dem neuen C++11-Standard um einiges weniger "old-school" ist als das "moderne" Java.
 
Du willst n Vorschlag?

Als erstes: eine der einfacheren Sprachen wählen, eine die ohne aktive Speicherverwaltung auskommt. Das schließt C & C++ schon einmal aus.
Java ist schon nicht übel. Ich persönlich mag schwache Typisierung, in dem Sinne sind auch PHP oder auch JavaScript gute Optionen. Gerade wenn man HTML eh schon "kann" (sorry, aber man lernt HTML nicht in 2 Wochen... Ich arbeite seit ein paar Jahren professionell damit und entdecke immer noch neue semantische Konstrukte) ist es nur logisch, als nächstes JavaScript zu benutzen und HTML das Laufen zu lehren.

Als nächstes: Die Sprache wieder weg packen!
Bevor man programmiert muss man erst einmal Kontrollstrukturen verstehen. Selbige nehmen sich in allen C-artigen Sprachen nix. Was macht eine If-Abfrage? Wie funktioniert Switch/Case? Wo liegt der Unterschied zwischen Do-While und While-Do?

Der korrekte Ansatz ist:
- Such dir ein halbwegs komplexes Problem.
- Teile und herrsche: Zerlege es in weniger komplexe Probleme.
- Skizziere die Lösungsansätze für diese Teilprobleme... und zwar mit BLEISTIFT auf PAPIER!
- Folge deiner Problemlösung durch deine Skizzen. Kommst du korrekt da raus, wo du rauskommen müsstest? Nein? Also noch einmal neu. Ja? JETZT darfst du dir eine Programmiersprache heraussuchen.

Der erste Schritt sollte immer ein Programmablaufplan (oder ein ähnlicher Ansatz) sein. Stures Abtippen von Tutorials oder Video2Brain bringt gar nix.
 
Kann mich nur Caphalor anschliessen. Ein Buch einfach nur durchlesen und evtl. Quellcode abtippen wird eher früher als später langweilig. Viele Bücher haben zwar nach jedem Kapitel einige Aufgaben, um das gelesene praktisch anzuwenden, aber ich fand das trotzdem wenig spannend. Such Dir ein Projekt, das Dich interessiert, da ist die Motivation einfach viel größer.

Da Du schon HTML/CSS kannst, würde ich irgendwas webbasiertes wählen und mich mit PHP beschäftigen. Klar gibt es "schönere" Sprachen, aber da PHP ziemlich viele Fehler/Unsauberkeiten verzeiht, erzielt man auch relativ schnell erste Erfolge, was für die Langzeitmotivation in meinen Augen entscheidend ist.

Mittelfristig dann weiter mit MySQL (Datenbank) und evtl. jQuery o.ä. für Frontend-Geschichten.

Falls Du halbwegs englisch verstehst, kann ich Dir außerdem Stack Overflow ans Herz legen, ich glaube, da gibt es für so ziemlich jedes Problem in so ziemlich jeder Programmiersprache bereits eine Antwort, oder zumindest eine Diskussion, die Lösungsansätze bietet.

Wichtig ist aber vor allem, dass Du Spaß dabei hast. Wirklich programmieren gelernt habe ich ehrlich gesagt erst nach dem Studium, als die ersten größeren Projekte kamen, bei denen nur ein Ziel vorgegeben war, und ich den Weg dorthin selbständig finden musste. Zumindest mir fällt es schwer, mich intensiv mit etwas auseinanderzusetzen, das mich nicht interessiert.

Und wie schon mehrfach gesagt wurde: Konzentriere Dich auf eine Sprache. Wenn Du die Konzepte verstanden hast, ist die Sprache irgendwann (zumindest relativ) egal. Bei der ersten Hürde die Sprache zu wechseln ist auf jeden Fall der falsche Weg!

Abgesehen davon, wie alt bist Du denn jetzt? Dein Einwand mit dem Alter ist nicht ganz verkehrt, man wird einfach mit dem Alter auch geduldiger (so war es zumindest bei mir ;)).
 
Zurück
Oben