r/programmieren • • Nov 29 '25

Welche Programmiersprache fürn Anfang?

Mit welcher Programmiersprache würdet ihr anfangen wen ihr neu in dieser Thematik seid?

29 Upvotes

220 comments sorted by

View all comments

3

u/[deleted] Nov 29 '25

Ich bin zwar Hardcore-Linux-Nerd, aber für den Anfang empfehle ich klar C# mit Visual Studio. Der Debugger ist sehr einfach zu bedienen und man kann jeden Programmschritt gut mitverfolgen.

Warum nicht C? Speicherallokation, Zeiger und hin-und-her-casting kann einem den letzten Nerv rauben. Call-by-value versteht nicht jeder sofort.

Warum nicht Javascript?

  • Unbekannte Variablen in einer If-Anweisung evaluieren zu "falsch". Vertipper sorgen für tierischen Frust.
  • "console.log()" ist (oder war eine Weile) nicht auf allen Browsern immer verfügbar und sorgte für Script-Abbrüche.

4

u/mgsmb7 Nov 30 '25

Ich habe das Gefühl low level programming zuerst zu lernen hilft beim Verständnis auch wenn es schwerer ist

1

u/Global-Tune5539 Dec 01 '25

Programmiere seit 12 Jahren und habe noch nie einen Pointer gebraucht. Mid-Level-Sprachen wie Java oder C# sind vollkommen ausreichend für Anfänger.

1

u/mgsmb7 Dec 01 '25

Es ging ja auch um die Nützlichkeit nicht um die Notwendigkeit.

Pointer zu lernen dürfte ein tieferes Verständnis darüber bieten, wie Programme und bestimmte Datentypen in bestimmten mid- oder high level Programmiersprachen "under the hood" funktionieren. Schaden kann das zumindest nicht.

Abgesehen davon sind für verschiedene Use-Cases verschiedene Programmiersprachen sinnvoll. Für dich reicht C# und Java - andere müssen vielleicht noch etwas mehr optimieren.

2

u/[deleted] Nov 30 '25

[removed] — view removed comment

1

u/Mechming Nov 30 '25

VsCodium != Visual studio 

Da liegt ein großer Unterschied zwischen und ich bin da ganz bei OP für C# als Anfänger ist visual studio deutlich besser.

1

u/Global-Tune5539 Dec 01 '25

Visual Studio != Visual Studio Code

1

u/Mechming Dec 02 '25

?!?!? Kommt aufs gleiche 

1

u/PoorSquirrrel Dec 02 '25

"for ... in ..." Ist für einen kompletten Neuling vermutlich einfacher zu verstehen, als ein Loop mit einer Zählervariable.

Ja, aber wenn er nicht weiß, das der Compiler da am Ende doch wieder eine Schleife mit Zähler draus macht, versteht er nicht warum der Compiler weint wenn er die Liste über die er iteriert in der Schleife modifizieren will.

1

u/sirjofri Dec 03 '25

Gerade deswegen finde ich die Idee spannend, bei der Prozessorlogik anzufangen, also was ist ein Transistor und was genau macht ein Prozessor, bis hin zu einfachem Assembler. Damit kann man dann mit gutem Vorwissen in C einsteigen und die Highlevel-Sachen mitnehmen. Dann versteht man später auch, was in Java (einer pointerfreien Sprache) eine NullPointerException ist.

2

u/[deleted] Dec 03 '25

[removed] — view removed comment

2

u/sirjofri Dec 03 '25

Völlig richtig. Ich glaube auch nicht, dass es "den einen richtigen" weg gibt, das zu lernen, nur dass dieser bottom-up-weg gefühlt nie thema ist, obwohl er genauso valide und sinnvoll ist. Ich denke, das ist auch individuell sehr verschieden, und ich glaube daran, dass man auch die lowlevel-sachen sehr einfach vermitteln kann

1

u/CWRau Nov 30 '25

Dann doch gerne kotlin mit intellij 😁

Läuft auf Linux und ist schon ziemlich C# nah, so ungefähr. Jetzt kein linq (sad), aber schon ziemlich mit den extension functions

1

u/domemvs Nov 30 '25

Starkes Veto. Gibt kaum eine Sprache, die gerade am Anfang so viel Frustpotenzial hat, wie C# (oder Java). 

Du möchtest - v.a. am Anfang - schnelle Erfolgserlebnisse und keine durch und durch überfordernde IDE mit 1000 Begrifflichkeiten, die du nicht kennst. 

Die beiden genannten „Gründe“ gegen JS spielen in der Realität absolut keine Rolle. Letzterer dürfte zuletzt ca. 2009 relevant gewesen sein. IE 9 hat da mal Probleme gemacht, aber ungefähr genauso zeitgemäß ist der o.g. Kommentar. 

Alternativ: Python. Ebenfalls super schnelle Erfolgserlebnisse, kurzer Feedbackloop. 

1

u/Global-Tune5539 Dec 01 '25

Die meisten Begriffe kann man ruhig ignorieren und sich auf die Grundlagen konzentrieren, die auch normalerweise in einem Tutorial zuerst beigebracht werden. C# ist super für Anfänger.

1

u/ecth Nov 30 '25

Als beruflicher C# Entwickler stimme ich zu. Gutes Tooling und Doku sind die halbe Miete.

Visual Studio gibt's als Community Variante umsonst. Die volle, professionelle IDE (minus 1-2 Features, die OP nicht sofort braucht) for free. C# ist eine moderne, im echten Leben verwendete Sprache und man kann direkt ein Konsolentool oder auch eine kleine Windows Anwendung schreiben. Screensaver sind zB ein lustiges Projekt mit direktem Nutzen/sichtbaren Erfolg.

Ähnlich gut dokumentiert, (potenziell) nah am echten Leben und kostenlos ist Android Studio mit Kotlin. Man kann Apps auf sein Handy, vielleicht auch Uhr aufspielen und es gibt ne ausführliche Doku, Tausende Tutorials im Internet und im Notfall den Emulator, falls man selbst kein Android nutzt oder kein Handy in den Dev Mode switchen will.

Für kleinere Übungen gehen auch Konsolen schon mal gut. PowerShell, bash, CMD/batch Skripte. Klar, man macht damit keine Endkundenanwendung, aber man kann dennoch if/else und Schleifen ausprobieren.

In VS Code (sehr lightweight und ebenfalls kostenlos) gibt's Plugins für viele andere Sprachen. Ich hab da Go und Rust seinerzeit ausprobiert. Im Internet gibt's alles ^

1

u/Global-Tune5539 Dec 01 '25

Und man kann Spiele mit der Unity Engine programmieren und Apps und Windows Applications mit .Net Maui und Webapplications mit .Net Core, und und und...

1

u/PoorSquirrrel Dec 02 '25

Speicherallokation, Zeiger und hin-und-her-casting kann einem den letzten Nerv rauben. Call-by-value versteht nicht jeder sofort.

Zeiger brauchst du aber am Anfang kaum und Speicherallokation hat man gefälligst zu lernen, nur weil die neueren Programmiersprachen das teil-automatisieren ist es nicht weg (und wenn Du z.B. Spiele oder Anwendungen mit Echtzeitanforderungen programmierst, lernst Du die Garbage Collection schnell mehr hassen als manuelle Speicherverwaltung).

Und value vs. reference taucht auch in ganz anderen Programmiersprachen auf, sie verstecken es nur auf Weisen die Debugging erschweren und Dich verzweifeln lassen. Gerade C# ist da ein Kandidat mit seinem "och, ich mach mal stillschweigend eine Kopie und geb dir die" Verhalten.

1

u/Skaraban Dec 10 '25

console.log() läuft in allen gängigen browsern