Wie am besten Programmieren lernen?

TriggerThumb87 schrieb:
Und Python ist leider drin.
Im Wissenschaftlichen Bereichen (Datenanalyse, ML) wird viel damit gemacht. Für manche Dinge macht Python einfach Sinn, da macht C in jeglicher Form einfach keinen Spaß mehr wenn man sich in seinem eigenen Code verirrt.
 
@evilnear
Nö, ist Python nicht. Aber auch nicht schlechter als andere. Um die "beste" erste Programmiersprache wird ein viel zu großes Geschiss gemacht.

Gerade für Anfänger unterscheidet sich bei den imperativen Programmiersprachen doch erstmal eh nur der syntaktische Zucker (außer bei so Ausreißern wie C oder Assembler).
 
  • Gefällt mir
Reaktionen: Raijin und Nilson
Warum muss jeder Thread über Programmieren früher oder später in einen "Glaubenskrieg" über Sprachen ausarten? X ist besser als Y, warum habt ihr Z nicht empfohlen und ABC ist sowie so Mist.
 
  • Gefällt mir
Reaktionen: Raijin, Der Lord, Hayda Ministral und eine weitere Person
Nilson schrieb:
Ich poste es immer wieder gerne:
Neben Rust fehlt auch Swift und TypeScript, und Objective-C und Python sind zu praesent.
Die Uebersicht ist einfach veraltet
 
  • Gefällt mir
Reaktionen: ZuseZ3
evilnear schrieb:
klar, python ist zum einsteigen mit am besten
Aua...

Nilson schrieb:
Warum muss jeder Thread über Programmieren früher oder später in einen "Glaubenskrieg" über Sprachen ausarten? X ist besser als Y, warum habt ihr Z nicht empfohlen und ABC ist sowie so Mist.

Weil jeder Thread über Programmieren früher oder später, eher früher, nicht genug Diskussionsgrundlage hat und/oder nicht genug Problem.
 
Nilson schrieb:
Warum muss jeder Thread über Programmieren früher oder später in einen "Glaubenskrieg" über Sprachen ausarten?
Das ist der Wunsch, einmal ein Sprachkonzept und am besten nur eine Sprache zu lernen und sich dann nie wieder weiterbilden zu müssen, weil diese Sprache sich doch bitte auch nicht weiterentwickelt...
Mensch, bei solchen Diskussionen fühlt man sich wie im Heiseforum :D

Gerade als Anfänger würde ich die Sprache nehmen, die im besten Tutorial verwendet wird, das zu meinem Einstiegsprojekt passt.
 
Nilson schrieb:
Warum muss jeder Thread über Programmieren früher oder später in einen "Glaubenskrieg" über Sprachen ausarten? X ist besser als Y, warum habt ihr Z nicht empfohlen und ABC ist sowie so Mist.
Na weil jeder die Weisheit mit Löffeln....ach egal...

Kleiner Tipp: (@ Threadstarter): Überlege was du machen willst (consolen spaß, webseiten spaß, deine excel files pimpen, kleine Spiele) - dann google'st Du und findest tutorials. Dann geht's los.
Sprachen sind relativ einfach, kompliziert usw.

Du kannst mit allen Spaß haben - TS, JS, C#, Python, VBA, VB.net usw. und von mir aus auch java. Bevor Du richtig (geht eh nicht) programmieren lernst kannst Du noch diverse mal wechseln.
Mein Tipp:
  • Projekt ausdenken
  • googlen
  • 20,- in hand nehmen und auf udemy 2-3 kurse kaufen
 
KitKat::new() schrieb:
Neben Rust fehlt auch Swift und TypeScript, [...]
Es gibt über 700 Sprachen:
https://en.wikipedia.org/wiki/List_of_programming_languages
Sollten die alle in solch eine Übersicht, dass auch ja keiner mehr sagen kann XY würde fehlen?

Ich bin weiterhin der Meinung, für den Anfang ist die Sprache eigentlich egal, aber für jemanden, der absolut keine Ahnung hat, ist das eine der besseren Übersichten sich immerhin für eine Richtung zu entscheiden.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Raijin
pseudopseudonym schrieb:
Das ist der Wunsch, einmal ein Sprachkonzept und am besten nur eine Sprache zu lernen und sich dann nie wieder weiterbilden zu müssen, weil diese Sprache sich doch bitte auch nicht weiterentwickelt...

Ich habe schon seit 5(?) Jahren keine Weiterentwicklung bei einer Sprache mehr gesehen.
Nur noch Modefeatures.

1 Problem + 20 Lösungswege = 21 Probleme
Beispiel C#:
Zuerst Async, dann Task, dann Backgroundworker, dann wasauchimmerichachtenichtmehrdrauf.
LINQ ist auch "ganz toll".
Oder nachträglich eingefügtes Ducktyping.

Man will ja immer im Trend sein.

Bei Smartphone-Apps ganz schlimm: Da fallen Features auf einmal weg, oder API-Funktionen kosten auf einmal etwas, dann viel. Alles im Namen der Akkulaufzeit etc..
 
  • Gefällt mir
Reaktionen: Raijin
@TriggerThumb87
So geht's mir mit Fußball, immer das gleiche, seit Jahren. Nur eben immer komischer serviert. Deswegen gucke ich heute das Finale nicht, sondern mache mir nen netten Abend mit nem Kollegen, der ähnlich denkt.

Manch einer wird jetzt sagen, dass ich bei Fußball nicht im Thema bin und bei dir scheinen es eben andere Themen zu sein.
 
Nilson schrieb:
Es gibt über 700 Sprachen:
https://en.wikipedia.org/wiki/List_of_programming_languages
Sollten die alle in solch eine Übersicht, dass auch ja keiner mehr sagen kann XY würde fehlen?
Als waere Swift, TS und Rust einfach x-beliebige Sprache 😀
Swift im Applebereich und Rust+TS in ihren Bereichen aussen vorzulassen finde ich schon grob-fahrlaessig.
(ja auch wenn es besser als nix ist... )
 
Bei Rust frage ich mich tatsächlich öfter, ob sie nicht eigentlich gut für programmier Einsteiger wäre.
So Sachen wie ownership sind eigentlich super trivial (Entweder ich habe ein objekt, ich habe das objekt verschenkt, oder ich habe es gerade mal verliehen). Dazu sind die Korrekturhinweise vom Compiler top.
Hängt aber natürlich davon ab, was der TO jetzt genau vorhat mit seinen kommenden Programmierkentnissen.
 
Dummerweise haben Programmiersprachen nichts mit "Programmieren lernen" zu tun. Das ist, als würde einer fragen, "Wie lerne ich Bäume zu fällen?" und die Antworten sind dann, "Es gibt diese Säge und jene Säge und meine Säger ist besser als deine Säge, einself".

Programmiersprachen sind Tools, die man bedienen können muß.

Deswegen: Erstmal die Grundlagen anschauen. Was sind Variablen, Zuweisungen, Conditionals, Schleifen, Funktionen (im weitesten Sinn)? Das sind Dinge, die man überall braucht.

Dann: Wie bekomme ich ein zu definierendes Problem in eine Form, daß der PC es "versteht" und für mich lösen kann? Das kann so simpel sein wie f(x) = ax + b, wo man zB eine Funktion f(a: int, b: int) : int drüberlegen kann. Oder auch f(x) = x!, wo man rekursiv rangehen kann und so mehr oder weniger automatisch Herangehensweisen lernt.

Strukturen für Objektorientierung ergeben sich weder aus C# noch aus Java. Ganz im Gegenteil muß man dieselben Strukturen in beiden Sprachen implementieren (können).

Daher: Vergiß irgendwelche Programmiersprachen zum Lernen des Programmierens.
ERST Programmieren lernen. DANN die Programmiersprache auswählen.

Für schnelle Erfolgserlebnisse eignet sich dann parallel irgendeine Script- oder sonstige Interpretersprache. Powershell in Windows. Shellscript auf anderen Systemen. Oder ähnliches. Solche Sprachen müssen nicht aufwendig kompiliert werden und man muß nicht erst vorher durch fünf Ringe hupfen, wo dann natürlich wieder X viel schiefgehen kann... und man als Anfänger dann natürlich nicht einschätzen kann, warum das Hello World nicht geht.

Wenn man dann ein bißchen besser versteht, wie und was und wo und ob, und ein paar Präferenzen entwickelt hat... DANN kann man hergehen und sich zB zwischen C# und JAVA entscheiden, oder ob einem Python eher liegt, oder wie oder was.
 
  • Gefällt mir
Reaktionen: Maviapril2, ###Zaunpfahl###, sh. und eine weitere Person
RalphS schrieb:
Daher: Vergiß irgendwelche Programmiersprachen zum Lernen des Programmierens.
ERST Programmieren lernen. DANN die Programmiersprache auswählen.
In der Theorie hast du bis zu der Stelle im Text recht. In der Praxis ist diese Herangehensweise allerdings der beste Weg, schnell die Lust zu verlieren.
Da es hier um keine Fahrschule geht und auch nicht um Kettensägen, kann man ruhig direkt mit der Säge in der Hand auf die Bäume zugehen.
 
  • Gefällt mir
Reaktionen: ZuseZ3
Dann muß man sich aber gut überlegen, wo man hin will.

-- Einfach nur mal so eben aus Spaß an der Freude? Kein Thema. Wen interessiert sowas wie SQL Injection wenn man eh nur selber damit arbeitet? Folgefehler sind dann die eigenen.

-- Applikationen entwerfen (und implementieren) die belastbar was leisten sollen? Keine Chance. Da muß man wissen, was man tut.

Ja klar kann man - und sollte man! -- gleich zu anfang an sich in der Praxis anschauen, was bei irgendeinem Konstrukt rauskommt. Sich freuen daß if A then B else C je nach A was verschiedenes dasteht oder daß " foreach (item in list) echo item " jedes Element der Liste ausspuckt.

Aber man muß sich wie bei jeder anderen angeeigneten Kompetenz - insbesondere Sprachen, nicht nur Programmiersprachen -- im Klaren sein: was man grundlegend "falsch" gelernt hat, das wird man später nur sehr schwer bis nicht wieder loswerden.

Und dann sind wir an dem Punkt, wo es einem praktisch unmöglich wird, mit seinen "Kenntnissen" auch wirklich etwas anzufangen.
 
Lern lieber eine Sprache an sich bevor du auf z.B. Microcomputer oder -controller begibst.
Als erstsprache sind C oder C++ nicht schlecht, bevor man sich zu Sprachen wie Java oder Python begibt. Du hättest dann im besten Fall ein besseres Veständniss für die Programmierung.

Was Projekte anbelangt, Projekte bzw. Übungen einiger Dozenten und profs einiger Hochschulen bzw. Unis sind frei zugänglich. Dies wäre evtl. ein erster ansatzpunkt für projekte. Einige Lehrbücher haben auch Übungen hinter den einzelnen Kapiteln.

Bei C++ wäre evtl. Breymann ein guter Autor.
 
Zurück
Oben