danke schon mal für die Vorschläge, jetz ist die Frage: Python oder Java
werde am Wochenende mal zu beidem recherchieren
Programmieren lernen
Moderatoren: Moderatoren, Redakteure
Ich würde dir von Python als erste Sprache abraten. Python mischt mehrere Programmierparadigmen, so kann es leicht passieren dass du als Anfänger Dinge vermischt und keine klaren Design-Richtlinien vor Augen hast.
Ich rate dir entweder zu C, dann C++. Oder Java, meiner Meinung nach noch immer am besten geeignet für den Einstieg wegen dem starken OO-Ansatz, der großen Bibltiothek und der "Noob-Protection" (kein Call by Reference, kein manuelles Allokieren von Speicher, auf deutsch: Es ist viel schwerer Mist zu bauen in Java im Vergleich zu zB C/C++).
PS: Hier mal der momentane (Entwicklungs-)Stand zu den Programmiersprachen:
http://www.tiobe.com/index.php/content/ ... index.html
Ich rate dir entweder zu C, dann C++. Oder Java, meiner Meinung nach noch immer am besten geeignet für den Einstieg wegen dem starken OO-Ansatz, der großen Bibltiothek und der "Noob-Protection" (kein Call by Reference, kein manuelles Allokieren von Speicher, auf deutsch: Es ist viel schwerer Mist zu bauen in Java im Vergleich zu zB C/C++).
PS: Hier mal der momentane (Entwicklungs-)Stand zu den Programmiersprachen:
http://www.tiobe.com/index.php/content/ ... index.html
- JesusOfCool
- Beiträge: 34685
- Registriert: 27.11.2009 09:55
- Persönliche Nachricht:
ich würde dir auch von java abraten. auch wenn hier alle auf technischen universität damit beginnen, es ist schlecht, dass sie das tun. die leute verlieren den fokus worum es geht und kommen dann beim obkejt orientierten teil nicht mehr mit weil sie es nicht gewohnt sind.
zum lernen empfehle ich dir pascal. damit hab ich begonnen. die sprache wurde prinzipiell auch dazu gemacht um programmieren zu lernen. vom konzept her ist es wie C, aber die syntax ist für leien einfacher zu lernen und zu verstehen. wenn man dann mal weiß wie es funktioniert ist die leicht andere syntax von C auch kein problem mehr, und die von allen anderen sprachen somit auch nicht.
danach kannst du sicher gut auf java umsteigen fürs objekt orientierte.
skriptsprachen wie python würd ich dir erst danach empfehlen. die sind eher durchmischt und haben teilweise recht coole, komfortable und weit entwickelte funktionen (ich denke da an eval bei js, hui ist das genial), aber die verwöhnen für den anfang zu viel und lenken vom fokus des verstehens ab.
ich programmier ja am liebsten in C++ (momentan muss ich in der arbeit leider mit C# arbeiten, aber das ist ne ausnahme) wegen der handlungsfreiheit. C++ mischt ja auch einige paradigmen, wenn du bock drauf hast kannst du dir das nach java ansehen. hoffentlich schrecken dich dann nur die pointer und die strings nicht ab ^^
zum lernen empfehle ich dir pascal. damit hab ich begonnen. die sprache wurde prinzipiell auch dazu gemacht um programmieren zu lernen. vom konzept her ist es wie C, aber die syntax ist für leien einfacher zu lernen und zu verstehen. wenn man dann mal weiß wie es funktioniert ist die leicht andere syntax von C auch kein problem mehr, und die von allen anderen sprachen somit auch nicht.
danach kannst du sicher gut auf java umsteigen fürs objekt orientierte.
skriptsprachen wie python würd ich dir erst danach empfehlen. die sind eher durchmischt und haben teilweise recht coole, komfortable und weit entwickelte funktionen (ich denke da an eval bei js, hui ist das genial), aber die verwöhnen für den anfang zu viel und lenken vom fokus des verstehens ab.
ich programmier ja am liebsten in C++ (momentan muss ich in der arbeit leider mit C# arbeiten, aber das ist ne ausnahme) wegen der handlungsfreiheit. C++ mischt ja auch einige paradigmen, wenn du bock drauf hast kannst du dir das nach java ansehen. hoffentlich schrecken dich dann nur die pointer und die strings nicht ab ^^
Also angefangen habe ich durch meine schulische Ausbildung mit C#. War eigentlich recht einfach rein zu kommen, was aber natürlich auch daran liegt, dass wir darin unterrichtet wurden
Auf der Arbeit programmieren wir mit Delphi und ich muss sagen, dass es an einigen Stellen einfacher ist als C#. Trotzdem muss man sich reinarbeiten und einiges durchlesen, aber es gibt mehr als genug Seiten zu diesen Themen
Für ein Schulprojekt habe ich vor kurzem ein kleines Spiel in VB.NET programmiert und war überrascht wie einfach das alles ist. Ob man damit allerdings weit kommt, kann ich nicht sagen, so wie ich das mitbekommen habe ist es eben mehr für Einsteiger gedacht.
C++ empfang ich ebenfalls als recht einsteigerfreundlich, allerdings kann ich das nicht mehr so gut beurteilen, da ich halt schon Erfahrung in dem Bereich habe.
Wie gesagt, ob VB.NET das richtige ist, kann ich nicht sagen, aber für den Anfang würde ich dir das empfehlen. Auf der Microsoft Seite gibt es die kostenlose Express Version. Ansonsten würde ich wirklich zu C oder C++ greifen.
Auf der Arbeit programmieren wir mit Delphi und ich muss sagen, dass es an einigen Stellen einfacher ist als C#. Trotzdem muss man sich reinarbeiten und einiges durchlesen, aber es gibt mehr als genug Seiten zu diesen Themen
Für ein Schulprojekt habe ich vor kurzem ein kleines Spiel in VB.NET programmiert und war überrascht wie einfach das alles ist. Ob man damit allerdings weit kommt, kann ich nicht sagen, so wie ich das mitbekommen habe ist es eben mehr für Einsteiger gedacht.
C++ empfang ich ebenfalls als recht einsteigerfreundlich, allerdings kann ich das nicht mehr so gut beurteilen, da ich halt schon Erfahrung in dem Bereich habe.
Wie gesagt, ob VB.NET das richtige ist, kann ich nicht sagen, aber für den Anfang würde ich dir das empfehlen. Auf der Microsoft Seite gibt es die kostenlose Express Version. Ansonsten würde ich wirklich zu C oder C++ greifen.
Da du ja schon gesagt hast dass du dich zwischen Java und Python entscheiden wirst (wie gesagt womit du anfängst ist wirklich egal, weil der Anfang in so ziemlich jeder Sprache sehr ähnlich verlaufen wird) will ich dir mal kurz die Vorteile von Java etwas auflisten (von Python habe ich keine Ahnung, aber vllt. findet sich ja wer der das für Python macht):
- Java besitzt eine relativ mächtige und sehr gut dokumentierte Bibliothek an vorgegebenen Funktionen somit muss man nicht jeden kleinen Kram selbst programmieren sondern kann erstmal auf ein relativ gutes Grundgerüst aufbauen (Was ich hier meine sind z.b. fertige Operationen für Strings oder Datumsangaben etc.)
- Java ist strikt objektorientiert d.h. du kommst garnicht groß in die Bredouille dass du ausversehen zwischen verschiedenen Programmierparadigmen springst
Meiner Meinung nach ein wichtiger Punkt für Einsteiger ist auch:
- Java bietet für Einsteiger sehr aussagekräftige Fehlermeldungen, wenn man Fehler gemacht hat (oftmals wissen Anfänger ja nicht was ihnen Fehlermeldungen sagen, aber bei Java hab ich bisher die Erfahrung gemacht, dass einem dort am genauesten gesagt wird was eigentlich das Problem ist)
Mal aber ganz unabhängig von der Sprache:
Es ist ein langer steiniger Weg Programmieren zu lernen. "Spiele programmieren" (im sinne von grafik und sound und mauseingaben etc.) ist dann nochmal ein weiterer mindestens ebensolanger Weg dahin. Wichtig ist daher durchhaltevermögen und das setzen kleiner Ziele, an denen du dann auch deine Erfolge sehen kannst.
Solche Ziele wären z.b. ein Zahlenraten auf der Kommandozeilenebene schreiben, dann ein Tic-Tac-Toe, ein Schiffeversenken (hier könntest du erste versuche mit KI machen) dann irgendwann übergehen zu einer richtigen Grafischen Oberfläche.
Direkt ein 2d Strategiespiel als Ziel zu haben wäre nämlich der Overkill... ehe du da was hast woran du dich dann wieder motivieren kannst können monate vergehen.
Kurz:
Mach kleine Schritte, so dass du etwas von deinen Erfolgen hast (etwas ausprobier und vorzeigbares) und siehst was du geleistet hast (z.b. mal ne Weile deine ersten kleinen Spiele spielen kannst).
PS: Falls du dich für Java entscheiden solltest kannst du dich auch gern per PN an mich wenden. (Das in meinem Vorpost genannte Buch empfehle ich dir dann aber wirklich wärmstens, weil es einfach mal sehr motivierend und anfängernah geschrieben ist ohne diese ganze Programmiertheorie langweilig rüberzubringen)
- Java besitzt eine relativ mächtige und sehr gut dokumentierte Bibliothek an vorgegebenen Funktionen somit muss man nicht jeden kleinen Kram selbst programmieren sondern kann erstmal auf ein relativ gutes Grundgerüst aufbauen (Was ich hier meine sind z.b. fertige Operationen für Strings oder Datumsangaben etc.)
- Java ist strikt objektorientiert d.h. du kommst garnicht groß in die Bredouille dass du ausversehen zwischen verschiedenen Programmierparadigmen springst
Meiner Meinung nach ein wichtiger Punkt für Einsteiger ist auch:
- Java bietet für Einsteiger sehr aussagekräftige Fehlermeldungen, wenn man Fehler gemacht hat (oftmals wissen Anfänger ja nicht was ihnen Fehlermeldungen sagen, aber bei Java hab ich bisher die Erfahrung gemacht, dass einem dort am genauesten gesagt wird was eigentlich das Problem ist)
Mal aber ganz unabhängig von der Sprache:
Es ist ein langer steiniger Weg Programmieren zu lernen. "Spiele programmieren" (im sinne von grafik und sound und mauseingaben etc.) ist dann nochmal ein weiterer mindestens ebensolanger Weg dahin. Wichtig ist daher durchhaltevermögen und das setzen kleiner Ziele, an denen du dann auch deine Erfolge sehen kannst.
Solche Ziele wären z.b. ein Zahlenraten auf der Kommandozeilenebene schreiben, dann ein Tic-Tac-Toe, ein Schiffeversenken (hier könntest du erste versuche mit KI machen) dann irgendwann übergehen zu einer richtigen Grafischen Oberfläche.
Direkt ein 2d Strategiespiel als Ziel zu haben wäre nämlich der Overkill... ehe du da was hast woran du dich dann wieder motivieren kannst können monate vergehen.
Kurz:
Mach kleine Schritte, so dass du etwas von deinen Erfolgen hast (etwas ausprobier und vorzeigbares) und siehst was du geleistet hast (z.b. mal ne Weile deine ersten kleinen Spiele spielen kannst).
PS: Falls du dich für Java entscheiden solltest kannst du dich auch gern per PN an mich wenden. (Das in meinem Vorpost genannte Buch empfehle ich dir dann aber wirklich wärmstens, weil es einfach mal sehr motivierend und anfängernah geschrieben ist ohne diese ganze Programmiertheorie langweilig rüberzubringen)
Zuletzt geändert von Aron_dc am 25.03.2010 17:08, insgesamt 1-mal geändert.
signed @aron.
@dennütz ich möchte dich nochmal auf meinen Video Kurs aufmerksam machen (siehe mein erster Post in diesem Thread).
Dadurch dass Zuhören/Zusehen ja im Vergleich zum Lesen recht schnell von der Hand geht hast du da auch eine ziemlich steile Lernkurve.
Und es stimmt zwar was aron über die Spieleprogrammierung schreibt, aber wenigstens hast du mit Java noch die besten Chancen relativ schnell so ein Game zu entwickeln, da die Bibltiothek einfach alles bietet was du dafür brauchst.
In anderen Sprachen müsstest du dir da erst mühsam die passenden Resourcen zusammensuchen, das bremst halt aus und senkt die Motivation.
@dennütz ich möchte dich nochmal auf meinen Video Kurs aufmerksam machen (siehe mein erster Post in diesem Thread).
Dadurch dass Zuhören/Zusehen ja im Vergleich zum Lesen recht schnell von der Hand geht hast du da auch eine ziemlich steile Lernkurve.
Und es stimmt zwar was aron über die Spieleprogrammierung schreibt, aber wenigstens hast du mit Java noch die besten Chancen relativ schnell so ein Game zu entwickeln, da die Bibltiothek einfach alles bietet was du dafür brauchst.
In anderen Sprachen müsstest du dir da erst mühsam die passenden Resourcen zusammensuchen, das bremst halt aus und senkt die Motivation.
dies ist eigentlich so ziemlich bei allen höheren sprachend er fall, so auch python oder meinetwegen auch php, ruby etc.Aron_dc hat geschrieben:- Java besitzt eine relativ mächtige und sehr gut dokumentierte Bibliothek an vorgegebenen Funktionen somit muss man nicht jeden kleinen Kram selbst programmieren sondern kann erstmal auf ein relativ gutes Grundgerüst aufbauen (Was ich hier meine sind z.b. fertige Operationen für Strings oder Datumsangaben etc.)
dies stimmt im übrigen nicht, java ist keinesfalls strikt objektorientiert. schau dir mal im vergleich scala oder smalltalk (und auch ruby) an, die sind wirklich objektorientiert, da ist alles ein objekt, auch funktionen, operatoren und primitive datentypen gibt es ebenso nicht.Aron_dc hat geschrieben:- Java ist strikt objektorientiert d.h. du kommst garnicht groß in die Bredouille dass du ausversehen zwischen verschiedenen Programmierparadigmen springst
ich will hier java nicht ausreden, aber neben dem, das java angeblich so wahnsinnig leicht ist, muss man auch dazu sagen, das java sehr vieles extrem umständlich macht. aber für die erste sprache ist es dennoch geeignet, ich präferie aber nach wie vor python, da es "leichtgewichtiger" ist.
Ich werde mich nicht streiten ob Java nun strikt objektorientiert ist oder nicht. Vorallem weil es auch nirgends eine einheitliche Definition gibt was "strikt" nun genau im Zusammenhang mit Objektorientierung bedeutet. In meinen Augen ist das so, in den Augen eines Anderen mag es anders erscheinen.
Das Funktionen etc. wiederrum Objekte sind treibt das objektorientierten Programmierparadigma nur noch etwas weiter.
Falls es dazu noch Gesprächsbedarf gibt bitte eine PN an mich.
Das Funktionen etc. wiederrum Objekte sind treibt das objektorientierten Programmierparadigma nur noch etwas weiter.
Falls es dazu noch Gesprächsbedarf gibt bitte eine PN an mich.