Programmiersprache lernen aber wie?

Bl4cke4gle schrieb:
Bevor der threat hier wieder geschlossen wird, da es schon mindestens 1000 anfragen dieser Art gab (ja, die Suchfunktion hätte man nutzen können):
Buch besorgen, z.b. c++ für dummies, und komplett durcharbeiten. Danach dann eigene Projekte starten.
Achja, hoffentlich Kannst du englisch, denn den besten support wirst du im englischsprachigen finden, wie z.b. auf stackoverflow.com
Viel Spaß!

Danke für die Antwort. Die Suchmaschine habe ich auch benutzt nur fand ich keine wirkliche Hilfe.
 
TheRepatriate schrieb:
Wie schon einige hier angedeutet haben ist das Aufwendige nicht die Programmiersprache an sich zu lernen, sondern die Konzepte der Programmierung, gutes Softwaredesign, Strukturierung von Code, richtige Anwendung von Tools (z.b. Entwicklungsumgebungen) und APIs etc.
Von daher ist das Erlernen von mehreren Programmiersprachen durchaus nicht so schwierig, aber das ganze "Ökosystem" hinter einer Programmiersprache zu verstehen und zu nutzen ist viel komplexer als du scheinbar denkst

Dafür gibt es ganze Studiengänge und Ausbildungsberufe!

Programmieren ist soetwas wie Kunst!
 
TheRepatriate schrieb:
Dann solltest du das mit dem programmieren nochmal überdenken

Wieso? Habe nur nach C++ Tuts geschaut. ^^ Werde mir mal so ein Buch zulegen. Und in der Schule werde ich das Programmieren auch noch lernen.
 
Meiner Meinung nach sind viele Antworten hier nicht besonders gut. Vielleicht bin ich aber auch nur ein konservativer Purist ;).

Das allerwichtigste: Programmieren ist nicht mit "Code schreiben" gleichzusetzen. Es geht viel mehr darum WIE man eine Aufgabe am EFFIZIENTESTEN löst. Effizienz muss dabei nicht immer dasselbe heissen.

Ich empfehle folgendes:

1) Linux installieren (Fedora oder meinetwegen auch Ubuntu) und dich damit beschäftigen -> Die Konsole / Das Terminal benutzen! So lernst du als erstes mal über "Text" mit dem Computer zu kommunizieren und nicht über die Maus und Bilder.

2) Ein Programmierbuch besorgen - Die Sprache ist nicht so wichtig, für die ersten Schritte kann man auch Python nehmen, das eine sehr sehr einfach Syntax aufweist und nicht kompiliert werden muss. Wichtig ist es die Programmierkonzepte zu verinnerlichen. Zu Beginn sind natürlich die Standardbausteine wie Schleifen oder If/Else Blöcke wichtig. Objektorientierte Programmierung ist DER ZENTRAL PUNKT und erleichtert dir dein späteres Programmiererleben massiv -> es gibt viele schlechte Beispiele im Netz.

3) Zum Anfang keine IDE verwenden sondern einen einfach Editor wie bspw. GEDIT oder EMACS unter Linux. Du solltest dich am Anfang so oder so auf kleine und Kleinstprogramme konzentrieren. Da brauchst du die ganze Funktionalität der IDEs nicht. Als positiven Nebeneffekt lernst du die Syntax meiner Meinung nach viel schneller und besser.

4) Tutorials sind schön und gut, aber an eigenen Problemen wächst man am meisten. Vor allem schult man damit sehr das eigentliche "Programmiergehirn": Irgendjemand hat sicher irgend eine Teilaufgabe die es zu bewältigen gibt schon gelöst (Google!) - Vielleicht nicht in derselben Programmiersprache... aber Übersetzen ist auch eine gute Übung.
 
RePnaIx schrieb:
Wieso? Habe nur nach C++ Tuts geschaut. ^^ Werde mir mal so ein Buch zulegen. Und in der Schule werde ich das Programmieren auch noch lernen.

Ich meine nur das eine der wichtigsten Fähigkeiten am Anfang ist, gut und schnell Lösungen zu Problemen zu finden (z.b. durch Suchen im Internet) oder zu erarbeiten. Hättest du das gemacht wäre dieser Thread hier nicht entstanden, denn alle notwendigen Informationen zur Beantwortung deiner Frage lassen sich durch zwei Klicks finden.
 
Zuletzt bearbeitet:
Habt doch etwas Nachsicht mit ihm. Fachoberschulreife heisst doch, dass unser Fragesteller wohl um die 14 Jahre alt ist. Da kann man etwas Naivität doch verzeihen. Mit euren Anmerkungen habt ihr natürlich recht - aber in diesem Alter ist es sicher nicht ganz einfach sich am Anfang zurechtzufinden - v.a. da das hier scheinbar das erste Thema ist, das unseren Fragesteller wirklich so stark interessiert, dass er sich auf die Suche nach konkreten Infos macht ;)
 
invveritas schrieb:
Linux installieren (Fedora oder meinetwegen auch Ubuntu) und dich damit beschäftigen -> Die Konsole / Das Terminal benutzen! So lernst du als erstes mal über "Text" mit dem Computer zu kommunizieren und nicht über die Maus und Bilder.
Warum Linux? Ich bin auch ein Linux Fan, aber warum 2 Dinge auf einmal lernen?
invveritas schrieb:
2) Ein Programmierbuch besorgen - Die Sprache ist nicht so wichtig, für die ersten Schritte kann man auch Python nehmen, das eine sehr sehr einfach Syntax aufweist und nicht kompiliert werden muss. Wichtig ist es die Programmierkonzepte zu verinnerlichen. Zu Beginn sind natürlich die Standardbausteine wie Schleifen oder If/Else Blöcke wichtig. Objektorientierte Programmierung ist DER ZENTRAL PUNKT und erleichtert dir dein späteres Programmiererleben massiv -> es gibt viele schlechte Beispiele im Netz.
Es gibt auch einige schlechte Bücher ;) Und Objektorientierung ist bei weitem kein MUSS.
invveritas schrieb:
3) Zum Anfang keine IDE verwenden sondern einen einfach Editor wie bspw. GEDIT oder EMACS unter Linux. Du solltest dich am Anfang so oder so auf kleine und Kleinstprogramme konzentrieren. Da brauchst du die ganze Funktionalität der IDEs nicht. Als positiven Nebeneffekt lernst du die Syntax meiner Meinung nach viel schneller und besser.
Auch hier wieder, warum mit Dingen quälen die gegeben sind? Beispiel Java: System.out.println(), System.println(), Sysout.println()... Alles egal.. Wen interessierts? Syntax ist Nebensächlich, wenn man programmieren lernen will, es geht um den Aufbau, das Verständnis und das abstrakte Angehen an Probleme.
invveritas schrieb:
4) Tutorials sind schön und gut, aber an eigenen Problemen wächst man am meisten. Vor allem schult man damit sehr das eigentliche "Programmiergehirn": Irgendjemand hat sicher irgend eine Teilaufgabe die es zu bewältigen gibt schon gelöst (Google!) - Vielleicht nicht in derselben Programmiersprache... aber Übersetzen ist auch eine gute Übung.
Stimme ich komplett zu

Nebenher: Wer im Internet keine Hilfe zu C++ findet, hat entweder kein Internet oder noch nie was von google gehört.

Da kann man etwas Naivität doch verzeihen.
Naivität oder provokation? (Schriftgrösse als beispiel)
 
thecain schrieb:
Warum Linux? Ich bin auch ein Linux Fan, aber warum 2 Dinge auf einmal lernen?
Wie gesagt finde ich es sehr hilfreich um sich von der Vorstellung des "Bilder Klickens" zu lösen - ich hatte bei mir das Gefühl, dass es bei mir im Kopf etwas ausgelöst hat, was für das Programmieren sehr hilfreich war. Zusätzlich muss man sich dabei auch immer zwei Dinge überlegen: 1) Was genau will ich tun und 2) Wie muss ich eine Suchanfrage zu schreiben um die passende Anleitung dafür zu finden.


thecain schrieb:
Es gibt auch einige schlechte Bücher ;) Und Objektorientierung ist bei weitem kein MUSS.
Logisch gibt es auch schlechte Bücher (und davon nicht zu knapp).
OOP kein muss? Recht hast du natürlich, aber ohne es zu verstehen kommt man meiner Meinung nach nicht weit. Um zu entscheiden, wo OOP Sinn macht und wo nicht, muss man ja auch wissen wie man ein Problem objektorientiert lösen würde.

thecain schrieb:
Auch hier wieder, warum mit Dingen quälen die gegeben sind? Beispiel Java: System.out.println(), System.println(), Sysout.println()... Alles egal.. Wen interessierts? Syntax ist Nebensächlich, wenn man programmieren lernen will, es geht um den Aufbau, das Verständnis und das abstrakte Angehen an Probleme.
Ich bin der Meinung, dass man wesentlicher besser und tiefer lernt, wenn man sich auch mit der Syntax auseinandersetzen muss. Am meisten habe ich auf der Suche nach vermeintlichen Fehlern gelernt, die schlussendlich "nur" Syntaxprobleme waren... Natürlich gilt der Rat nur für die ersten Schritte im Programmierleben - hat man sich mal die Grundlagen angeeignet gilt es die entsprechenden IDEs einzusetzen und anwenden zu lernen.

thecain schrieb:
(Schriftgrösse als beispiel)
Da war ich wohl zu spät um das mitzubekommen ;)
 
RePnaIx schrieb:
Danke für die Antwort. Die Suchmaschine habe ich auch benutzt nur fand ich keine wirkliche Hilfe.
Nein, du hast sie nicht benutzt. Gebe ich hier im forum in der suche "programmieren lernen" ein, dann bekomme ich sofort threats mit Themen wie "welche Programmiersprache für Anfänger?", "kleine spiele programmieren, wie?" etc pp.
Hier in _diesem_ unterforum ist sogar ein threat mit links angepinnt, die sich an Anfänger wenden. Schon mal reingeschaut?
Naja, das ist halt typisches schülerverhalten. Kannst du auch nichts dafür, man bekommt in der Schule ja auch alles vorgekaut. Gewöhnt man sich erst im Studium ab.
 
wer lernt denn heutzutage denn noch ernsthaft c++? vorallem "spieleprogrammierung" :D nimm einfach ne engine und verwende die dortige scriptsprache..
zum einstieg java um einfach die ganzen konzepte kennen zu lernen.. später wenn du etwas kannst benutzt du die sprache die für das problem das du hast am besten geignet ist.. dann wahrscheinlich nicht java ;)
 
Es gibt so viele Programmiersprachen und so viele Möglichkeiten ein Problem zu lösen. Im Grunde ist es egal was man nutzt. Am Ende zählt nur das das Problem gelöst wuerde.

Im Spielesektor sind alle 3D Engines in C++ programmiert.
Pixel und Vertex Shader sind in C programmiert.

Um mal eben ein Schachspiel zu Programmieren reicht sicherlich auch Python mit Textausgabe... Aber macht das einer? Macht das Spaß ?


Und Linux? Das größte Textadventure der Welt. Lenkt eigendlich nur vom eigendlichem Problem ab.
 
Bl4cke4gle schrieb:
Nein, du hast sie nicht benutzt. Gebe ich hier im forum in der suche "programmieren lernen" ein, dann bekomme ich sofort threats mit Themen wie "welche Programmiersprache für Anfänger?", "kleine spiele programmieren, wie?" etc pp.

Habe nur in Google gesucht und nicht hier im Forum. Habe auch nicht daran gedacht hier im Forum zu suchen sorry...
 
RePnaIx schrieb:
Hallo,

ich wollte euch mal fragen wie ich am besten eine Programmiersprache(Anfänger) lernen kann. Speziell möchte ich C++ lernen da ich Softwares und Spiele programmieren möchte. Ich mache auch meine Fachoberschulreife im Fach IT. Könnt ihr mir Links zu guten Tutorials oder zu Seiten schicken wo man ALLES Erfahren kann wie man es lernen kann.(C++). Da ich aber auch den Wunsch habe Spääääter mal ein eigenes OS zu programmieren (sobald ich die nötige Erfahrung gesammelt habe) wollte ich fragen ob man mehrer Programmiersprachen lernen kann (ca. 2-3) da ich gehört habe das man ein OS nicht mit C++ programmieren kann und dazu noch Assembler können muss.

Hoffe jemand kann mir helfen.

C++ ist eine relativ langsam zu erlernende Programmiersprache. Um da interessante Ergebnisse zu erzielen muss man eine Menge Zeit investieren. Alleine ein Grundlagenbuch zu studieren kostet Zeit und Kraft. Interessante Ergebnisse kann man dann immer noch nicht abliefern, weil dazu muss man sich beispielsweise mit der Windows-API auskennen. Empfehlen kann ich die kostenlose Entwicklungsumgebung Dev C++. Und es gibt auch allerhand kostenlose Übungsmaterialien im Netz zu finden. Wenn Sie nicht einmal das selbständig schaffen, Google zu nutzen, erscheint es mir unklar wie sie den Rest erlernen möchten. Ich persönlich habe den Eindruck, dass man nicht unbedingt möchte, dass jeder beispielsweise C++ programmieren kann, der von seiner Intelligenz dazu in der Lage wäre, man möchte auch nicht unbedingt, dass jeder höhere Mathematik beherrschen kann, der dazu in der Lage wäre. In der Mathematik beispielsweise hat man sich darauf geeinigt in Lehrbüchern nichts zu erläutern und ne Art Geheimsprache zu verwenden, die mühselig ist zu entziffern, wenn man sie von niemanden beigebracht bekommen hat. Und ich war auf einem Gymasium. Ich hatte zwar nicht Mathe Leistungskurs, aber trotzdem. Offenbar ist es nicht erwünscht, dass jeder so etwas kann. Und bei C++ ist es vermutlich ähnlich. Vermutlich braucht man da gute Kontakte und man braucht Geld, wenn man wirklich sehr gut werden möchte. Das ist meine Vermutung. WEnn man hart an sich arbeitet und das jahrelang studiert, was einem so angeboten wird. Und dank des Weltnetzes wird einem relativ viel angeboten, wesentlich mehr als vor der Erfindung des weltweiten Netzes und wenn man natürlich sehr intelligent ist, dann kann man vielleicht relativ gut werden, aber vermutlich nicht Spitzenklasse. Leider ist das gesamte Bildungssystem so aufgebaut, dass es zu einem erheblichen Teil nicht auf Talent, sondern auf Kontakte, Bildung im Elternhaus und Geld ankommt. Weil die Schulen machen meiner Meinung nach keine sonderlich gute Arbeit. Es fängt im Prinzip bei unfähigen Lehrern an und hört bei idiotischen Lehrplänen und schlechten Lehrmaterialien auf.

Um in der Lage zu sein primitive Spiele zu programmieren, dürfte das eine Menge Zeit in Anspruch nehmen. Um Spiele zu programmieren sollte man sich dann auch mit Engines auseinandersetzen, beispielsweise Unity oder der CryEngine, die beide kostenlos beziehbar sind im Netz. Eine gute Anfängerprogrammiersprache ist im Übrigen XProfan, hat aber nichts mit C++ zu tun. Der Vorteil diese Sprache ist relativ schnell erlernbar, man erzielt sehr schnell ansehnliche Ergebnisse und sie ist sehr mächtig.

Dazu möchte ich sagen, ich bin kein Programmierer. Hobbymäßig habe ich mich etwas mit Programmierung beschäftigt, beispielsweise habe ich in WoW ein Addon in Lua und mit der WoW-API geschrieben.
 
Deutscher schrieb:

Du hast vergessen zu erwähnen dass Programmiersprachen nur erfunden wurden um uns unsere kostbare Lebenszeit zu rauben und programmieren allgemein schlecht für die Gesundheit ist, was natürlich von den Entwicklern gewünscht ist. Auch vermisse ich dass von den Entwicklern beabsichtigt Fehler eingebaut werden um Betrug beim programmieren zu fördern.
 
Zuletzt bearbeitet von einem Moderator:
Deutscher schrieb:
Habe lange nicht mehr einen derartigen Schwachsinn gelesen. Aber gut, wenn schon jemand im Internet Leute mit "Sie" anschreibt und dann Worte verwendet wie "das weltweite Netz", muss ich leider von einer gewissen Beschränktheit ausgehen. Getoppt wird das dann noch von der "Geheimsprache in der Mathematik" :lol:
 
Ach komm. Wenn ich bei Google nach Lua suche, sind die ersten vier Treffer zur Programmiersprache "Lua".
 
kling1 schrieb:
wer lernt denn heutzutage denn noch ernsthaft c++? vorallem "spieleprogrammierung" nimm einfach ne engine und verwende die dortige scriptsprache..
Was spricht denn dagegen, C++ zu lernen? C++ deckt praktisch alles ab - OOP, funktionale Programmierung, ein (komplett funktionales) Template-System zur Metaprogrammierung und die Möglichkeit, absoluten Low Level-Code bis hin zum eigenen Memory-Allocator zu schreiben. Es ist meiner Meinung nach nur keine tolle Einstiegssprache, eben wegen dieser Komplexität und einer fummeligen, monströsen, aber trotzdem recht beschränkten Standardbibliothek.

kling1 schrieb:
vorallem "spieleprogrammierung" nimm einfach ne engine und verwende die dortige scriptsprache..
Damit man bloß keine Ahnung hat, was da vorgeht. Eine komplette Engine stampft man zwar nicht mal eben so selbst aus dem Boden, aber 2D-Brettspiele mit KI oder sowas wären mE für den Anfang weitaus sinnvoller als sich "einfach" irgendeine Engine zu besorgen und sich dann neben der Programmierung auch noch mit Sound- und Grafikdesign herumschlagen zu müssen.

Und gerade für sowas böte sich Python an, und PyQt für die Oberfläche. Schnell zu lernende Sprache für den schnellen Erfolg.

kling1 schrieb:
zum einstieg java um einfach die ganzen konzepte kennen zu lernen.. später wenn du etwas kannst benutzt du die sprache die für das problem das du hast am besten geignet ist.. dann wahrscheinlich nicht java
Konzepte lernt man aber nicht von einer Sprache, die nur ein einziges Konzept kennt, nämlich "OOP oder stirb". Und das ist dann noch nicht einmal sonderlich toll umgesetzt, was man spätestens an der Existenz der Wrapper-Klassen erkennen sollte.

invveritas schrieb:
Natürlich gilt der Rat nur für die ersten Schritte im Programmierleben - hat man sich mal die Grundlagen angeeignet gilt es die entsprechenden IDEs einzusetzen und anwenden zu lernen.
Wobei ich persönlich immer noch am liebsten mit Texteditor (Kate) + Konsole programmiere. gdb kann manchmal etwas nervig sein, aber dafür ist da auch gleich das gesamten Feature-Set zugänglich.

Liegt aber auch daran, dass es unter Linux kaum eine brauchbare C++-IDE gibt. kdevelop ist unglaublich lahmarschig (Code-Ansicht zur Debugger-Ansicht? Dauert mehrere Sekunden) und Code::Blocks ist GTK only und bestenfalls "ganz nett" (gibts da überhaupt git-Integration?) - mir fällt eigentlich nur noch der Qt Creator ein, und mit dem hab ich nie wirklich gearbeitet.

invveritas schrieb:
Das allerwichtigste: Programmieren ist nicht mit "Code schreiben" gleichzusetzen. Es geht viel mehr darum WIE man eine Aufgabe am EFFIZIENTESTEN löst. Effizienz muss dabei nicht immer dasselbe heissen.
Das Wichtigste wäre vor allem erstmal, Code hinzubekommen, der funktioniert - da ist Effizienz (egal ob nun im Sinne von Laufzeit, Speicherbedarf, Codegröße, ...) erst mal relativ egal. Das kommt dann, wenn man
a) die Sprache verstanden hat
b) sich mit entsprechenden Datenstrukturen und Algorithmen befasst hat.
 
Zuletzt bearbeitet:
Barron schrieb:
Auch ein Grund wieso ich nur ein PC-Techniker wurde.


@Deutscher stimmt das etwa? Welche Geheimsprache?? Aber dachte mir schon so was, da muss man ja ein Einstein sein um das zu begreifen, gelle?


Welches den? Was ist Lua?

Ich gib gerne ein Beispiel. Wir haben eine Formel der Form:

Lamda * psilon * omega

Im Buch wird erst mal nicht darauf eingegangen, dass wir es mit griechischen Buchstaben zu tun haben, es wird auch nicht berichtet, dass psilon und omega Vektoren sind und Lamda ein Skalar. Das heißt das Buch möchte niemanden etwas erklären, sondern vielmehr Leuten, die ebenfalls schon Bescheid wissen, mitteilen, dass der Autor es ebenfalls kann. Schwachsinniger Beitrag von Ihnen also, aber das Al Bundy Bild passt zu Ihrer geistigen Beschränktheit und Ihrem Arschlochcharakter sehr gut.
 
Zurück
Oben