Programmieren lernen - wie, wo und selfmade möglich?

vram78

Lieutenant
Registriert
Dez. 2015
Beiträge
717
Hallo,

Ich habe mich entschieden mit Java anzufangen. Nur weiß ich leider nicht , wo ich anfangen soll. Und vor allem wie?

Hatte mal ein paar Freunde gefragt und die hatten unterschiedliche Meinungen dazu..

Ich weiß halt nicht wie und wo ich mit dem Programmieren anfangen soll.. bin bisschen orientierungslos.




Kann mir wer auf die Sprünge helfen?



MFG
 
Was genau willst du programmieren? Programme die was tun, für welche Plattform? Wo liegen deine Interessen?
Kannst du Englisch?
 
Programmiersprachen lernen ist wie ne neue Sprache lernen und keine Wissenschaft. Man kann sich das selbst beibringen, gibt ja ausreichend Homepages und Bücher mit allen möglichen Ausrichtungen und Themata. Vorher solltest du dir aber erst mal ein Ziel setzen, Hinweis: "Java lernen" ist kein sinnvolles Ziel. Also: Projekt aussuchen, Fahrplan zum Ziel basteln, loslegen, abbrechen, neu anfangen, abbrechen und von vorne. ;)
 
Zuletzt bearbeitet:
Ich nehme an, du hast schon selbst nach "Java Tutorial" gegoogelt?

Wenn solche Tutorials schon zu trivial sind oder zu unvollständig, kann ein "Lehrbuch" (so nannte man das früher) durchaus einen systematischen Zugang ermöglichen. Wie bei jedem Lehrbuch kommt es hier auf persönlichen Geschmack, Vorwissen, Zielsetzung und die Lernweise an. Also am Besten schauen, ob man in einer sog. "Bibliothek" etwas ausleihen kann. Einfach mal ein paar durch probieren.
 
http://math.hws.edu/javanotes/ Wenn du Englisch kanst, als IDE kannst du Intelij Community Edition, Eclipse oder NetBeans verwenden. Alle IDE (Integrierte Entwicklungsumgebung) haben ihre Vor und Nachteile, ich verwende z.B. Intelij das ist aber Geschmacksache.
 
Ich denke ich möchte ganz einfache Programme schreiben, bsp. einen Taschenrechner oder ein 2D Minigame. Später möchte ich auch etwas für Android programmieren. Spiele beispielsweise.

Ich kann relativ gut Englisch verstehen, Sätze zu formulieren gelingt mir nicht immer.
 
@alle: es ist ein großer Unterschied "einfach eine Programmiersprache" zu lernen oder die Konzepte die hinter dem Programmieren stehen zu lernen.
Deswegen ist es eben auch nicht gleich wie eine natürliche Sprache zu lernen (ausser man ist ein Kleinkind).
 
@HominiLupus: Wenn die Lektüre gut aufgebaut ist, lernt man auch die Konzepte dahinter.
 
Deswegen ist es eben auch nicht gleich wie eine natürliche Sprache zu lernen (ausser man ist ein Kleinkind).
Eine Programmiersprache lernen ist wie eine Sprache lernen, Programmieren lernen ist was anderes. Unschärfe im ersten Beitrag ist korrigiert.
 
Ich hatte mich mal mit Java versucht.. Hatte die Objektorientierung nicht verstanden sowie was Parameter in einer Klasse sein sollen also generell das mit der Objektorientierung hatte ich nicht verstanden. Ich weiß nur was Operatoren sowie Variablen sind und eben die anderen Sachen
 
vram78 schrieb:
Ich denke ich möchte ganz einfache Programme schreiben, bsp. einen Taschenrechner oder ein 2D Minigame. Später möchte ich auch etwas für Android programmieren. Spiele beispielsweise.

Ich kann relativ gut Englisch verstehen, Sätze zu formulieren gelingt mir nicht immer.

Betreffend Spieleentwicklung, habe ich in der Vergangenheit eine art Videolernserie gemacht (Leverman Devlog) -
allerdings gehe ich in der Serie davon aus, das Java-Kenntnisse bereits vorhanden sind.

Generell bevor du überhaupt mit Spiele -und oder Web/Appentwicklung anfangen kannst, solltest du erstmal die Grundlagen lernen. Es macht keinen Sinn mehr als kleine Konsolenanwendungen zu bauen, da man am Anfang erstmal ein wenig überfordert ist.

Aber es gibt ja unzählige Tutorials (auch auf Youtube) :-) Pick dir was raus.

Und bitte vergiss erstmal sämtliche Entwicklungsumgebungen, Eclipse, IntelliJ oder sonst was - nimm nen Texteditor zum Einstieg und kompiliere deinen Code von Hand. Das ist nicht schwer und du lernst tatsächlich wie aus "Text" auszuführbarer Code wird. Du bist am Anfang eh erstmal ab die Konsole gebunden, da macht das auch deutlich mehr Sinn.

Du solltest lernen:
- Wozu ist PATH und CLASSPATH da, vor allem CLASSPATH.
- Helloworld in einer .java Datei
- Eine .java Datei in .class Datei zu kompilieren
- Eine java Klasse ausführen > Hello world ausgeben
- ...

Ganz Wichtig:

Vergiss am Anfang Klassen, Objekte und Objektorientierung - das ist am Anfang einfach nur zu verwirrend.

Mach am Anfang alle Methoden "public static" und vergiss Klassen erstmal - das kommt erst wenn du weißt was Lokale Variablen, Datentypen, Methoden und Argumente, Operatoren, Bedingungen, Schleifen, Arrays sind und du auch damit umgehen kannst.

Klassen sollen für dich erstmal nur einen Rumpf darstellen, den du brauchst damit du Methoden definieren kannst - mehr nicht.

Projektetechnisch kann ich nur empfehlen, bau dir Schritt für Schritt nen Textadventure.
Danach dann nen einfachen Plus Taschenrechner, da in nem Textadventure meistens nicht sehr viel Mathematik drin vorkommt ;)

Bis hierhin solltest du auch keinen einzigen Import brauchen.

Danach kannst du dann gern Eclipse installeiren und mit Imports, Klassen, Sichtbarkeit etc. anfangen und dich dann an herausforderende Sachen wagen:
- Tool welches bestimmte Dateitypen in einem Verzeichnis inkl. aller Unterverzeichnisse durchsucht und ausgibt
- Tool welches dir ausgibt wieviel Speicherplatz ein Ordner inkl. aller Unterverzeichnisse belegt
- Generell einfach was mit Dateien machen und am Anfang nicht schwer, aber man "tut" auch gleich was mit dem Code
- Textdateien lesen und schreiben
- Binardateien lesen (z.b. nen Bitmap Header, AVI Header, etc.)
- Bitmap Pixel Manipulation (z.b. Invertieren) und dann als neues Bitmap speichern
 
Kenny [CH] schrieb:
http://math.hws.edu/javanotes/ Wenn du Englisch kanst, als IDE kannst du Intelij Community Edition, Eclipse oder NetBeans verwenden. Alle IDE (Integrierte Entwicklungsumgebung) haben ihre Vor und Nachteile, ich verwende z.B. Intelij das ist aber Geschmacksache.

Bin ja eher ein Netbeans/Eclipse fan....;-)
 
hier interactive:
https://www.codecademy.com/

HTML & CSS
JavaScript
jQuery
PHP
Python
Ruby

entscheid dich am besten zwishen PHP, Python, Ruby die müssten rein von der Funktion her ziemlich ähnlich sein. Die Syntax selbst kann natürlich sehr unterschiedlich sein. Glaube das PHP da noch am nähesten Java ähnelt.
Und wenn du da durch bist, kannst du dich an Java machen dann solltest du Java um einiges schneller verstehen können. Die Konzepte sind meist sehr ähnlich.


Zur Objekt Orientierung kann ich dich verstehen die Erklärungen sind meist nicht so dolle, hatte ich auch immer Probleme.
Ich versuchs dir mal kurz und ganz einfach zu erklären.
Anstatt Variablen um Funktionen herum zu schreiben, also außerhalb und denn ganzen Programm ablauf hier zu machen.
Code:
$variable1;
$variable2;
function function1 ($Fvariable1, $Fvariable2) {
....
return $ergebnis
}

$variable3 = funciton1 ($variable1, $variable2);

Wird bei der OOP alles in eine Klasse gekappselt und kann ausgeführt werden.
Eigentlich ist es das selbe. Aber Variablen in einer Klasse werden dann oft anders bezeichnet und Funktionen auch.
Eine Funktion wird dann zb. zur Methode und Variablen zur Eigenschaft.
Das ganze wird dann erstellt und in eine Variable gespeichert.

Code:
class Klasse1 {
    $variable1;
    $variable2;
    function function1 ($variable1, $variable2) 
    {
        ....
        return $ergebnis
    }
}

$klasse1 = new Klasse1;
$variable3 = $klasse1->function1;

Der Code entspricht hier keiner Expliziten Sprache und funktioniert auch nicht, wenn dann ist er sehr an PHP angelehnt.
Es soll dir nur ganz einfach gezeigt werden, wo der große Unterschied ist. (Es fehlen natürlich Werte für die Variablen etc. pp. ......)


Vorteil dabei ist du kannst den Code halt sehr oft wiederverwenden und funktionen der Klasse temporal austauschen (überschreiben) und den ganzen Code sehr komplex verkapseln. Dadurch ist bestimmter Code immer nur 1x vorhanden und nicht 10x der gleiche Teilcode in verschiedenen Funktionen.
Wenn du jetzt zb. einen Fehler findest musst du den nur einmal ausbessern und nicht in 10x verschiedenen Funktionen.

Aber am Anfang wird es dir denke ich schwer fallen Szenarien zu finden wo du das gebrauchen kannst


Hier ist noch ein ziemlich gutes Tutorial, hier hab ichs dann wirklich verstanden:
http://www.peterkropff.de/site/php/oop_einfuehrung.htm
 
Zuletzt bearbeitet:
Es gibt z.Z. hier bei HPI einen ziemlich guten (und kostenlosen) Online-Kurs.
M.E. perfekt für den Einstieg.
 
Ich bin selber noch nicht so lange unter der programmierenden Bevölkerung.
Ich kann einige Kommentare hier bestätigen. Egal welche Sprache du lernen möchtest, du brauchst ein Ziel.
Ich hatte vor 5 Jahren mir ein Buch gekaufen, um mit Perl zu starten. Das war auch ganz net am Anfang, aber irgendwann so nach 4-5 Kapiteln kam ich nicht mehr weiter. Da ich ohne konkreten Grund begonnen hatte und ich auch keinerlei Ideen zu diesem Zeitpunkt hatte, hab ich mir Aufgabenstellungen von https://projecteuler.net/ gesucht.
Mit fortschreitendem Schwierigkeitsgrad der Aufgaben, kommt man so ziemlich mit jedem Bereich in Bereich der Sprache in Berührung.

Ich hatte damals auch mit einem einfacherem Editor begonnen, welcher wenigstens Syntaxhighlighting unterstützte.
Eine moderne IDE wäre wahrscheinlich aber besser gewesen. Du bekommst schon beim Schreiben deines Codes hinweise, ob es so geht oder nicht und ggf. auch gleich nen Lösungsvorschlag. Die hier angeführten IDE habe ich alle einmal ausprobiert. Bleibt letztenendes deine persönliche Entscheidung.
 
Also egal wie und wo ich das lerne, ich brauche dafür immer ein bestimmtes Ziel?
 
Zurück
Oben