Ich kann mich nicht entscheiden, welche programmiersprache mann als anfänger lernen soll, suche allround und software/webentwicklung?

Das Ergebnis basiert auf 27 Abstimmungen

Javascript 48%
Python 22%
C# 19%
Java 11%
Kotlin 0%

13 Antworten

Kommt darauf an worauf du Wert legst. Klassische allrounder wären C# oder Java, Python vermutlich auch noch durch die Fülle an Bibliotheken.
C# ist außerhalb von Windows nicht sehr praktikabel, auf Windows dafür dann umso angenehmer, gerade für klassische Desktop-Apps.
Java ist relativ ähnlich, jedoch nicht so sehr auf Windows beschränkt. Java wäre die klassische Wahl um Minecraft-Plugins zu programmieren, auch Android-Apps gehen relativ gut damit.
Von Python würde ich eher abraten, da die Sprache einem so viel abnimmt dass der Umstieg auf andere Sprachen verhältnismäßig schwer ist. Dafür macht man am Anfang ziemlich schnell Fortschritte.
Mit JavaScript habe ich keine Erfahrung, daran wirst du jedoch nicht drumherum kommen wenn du etwas mit Webentwicklung machen möchtest, jedenfalls Frontend.

Woher ich das weiß:Hobby – Programmiere seit eineinhalb Jahren
Lamanini  24.10.2021, 18:20
C# ist außerhalb von Windows nicht sehr praktikabel

Och ich denke schon. Ist ja Plattformunabhängig. Ich nutz C#-Anwendungen öfters auf Linux.

1
Kaktus258  24.10.2021, 20:06
@Lamanini

Ja, man kann es auf anderen Plattformen nutzen, und das besser als es mal war, trotzdem finde ich dass es unter Windows sehr viel komfortabler ist (z.B. durch VS, auch wenn es VSCode gibt...)

0
C#

Entweder Java oder C# aus den genannten. Die haben meiner Meinung nach die größte Ähnlichkeit zu vielen anderen relevanten Sprachen und sind schnelle Allrounder Sprachen.

Python ist auch gut für Anwendersoftware aber im Standardfall nicht sonderlich performant. Es ist mehr eine "Glue" Sprache.

freejack75  24.10.2021, 17:53

gerade C# würde ich nicht nehmen -- das ist vor allem unter Windows verbreitet, und damit zunehmend ohne Relevanz, da exotische Plattform.

0
PeterKremsner  24.10.2021, 18:01
@freejack75

C# ist schon seit einigen Versionen nicht mehr an Windows gebunden.

.NET Core und ab .NET5 läufts genau so auf Linux und Mac und ist zudem OpenSource.

Ist im Endeffekt also nicht mehr anders als Java außer dass anstatt Oracle da Microsoft dahinter steht.

2
freejack75  24.10.2021, 18:05
@PeterKremsner

Ich weiß. Es hat nur quasi keinerlei Verbreitung dort. Und warum sollte man damit anfangen?

Java hat ein gigantisches Ökosystem, vor allem im kommerziellen Backend Umfeld.

0
PeterKremsner  24.10.2021, 18:11
@freejack75

Warum sollte es keine Verbreitung haben?

Es gibt Software für Linux und Mac die in C# geschrieben sind und es ist derzeit auch eine der meist verwendeten Sprachen in der Industrie.

Gegenfrage warum sollte man nicht damit Anfangen? Die Sytax ist einfach, es ist eine Effiziente Sprache, Multiplattform fähig hat eine Syntax die sehr ähnlich zu anderen Sprachen ist wie Java, C++, PHP usw.

Man kann auch mit Java beginnen wie ich gschrieben habe. Die beiden Sprachen sind derart ähnlich, dass es egal ist ob du mit C# oder Java beginnst. C# hat für mich nur eine etwas schönere Syntax als Java das ist alles. Java hat natürlich eine größere Verbreitung als C# aber direkt dahinter liegt eigentlich C bzw C++.

3
Lamanini  24.10.2021, 18:21
@freejack75
Java hat ein gigantisches Ökosystem, vor allem im kommerziellen Backend Umfeld.

Gerade da ist doch auch C# riesig.

1

Nun die eierlegende Wollmilchsau gibt es nicht. C# wäre das noch am ehesten durch Xamarin für den App-Bereich, ASP fürs Web und mittlerweile einer entsprechen Kompatibilität durch .NET Core.

Ebenso kann man JavaScript mit etwas wie Electron, was unten drunter natürlich kein JavaScript ist, nutzen um Desktopanwendungen zu schreiben.

In jedem Fall würde ich etwas mit einer an C angelehnten Syntax wählen, damit lernst du eine Syntax kennen, die in vielen, vielen Sprachen genutzt wird.

Vermutlich würde ich heute am ehesten mit CS50 von Harvard anfangen. Mich anschließend entscheiden was ich umsetzen möchte, ob erst was im Webbereich oder Desktopbereich und dementsprechend entscheiden. Bei Web würde ich wohl klassisches HTML, CSS und JavaScript lernen und bei Bedarf eine Backendsprache im Anschluss.

Für andere Sachen wohl erstmal C# oder Java aufgrund ihrer Verbreitung und vorhandenen Lernmaterial in Kombination mit der C-Syntax. Am Ende ähneln sich die zwei stark. Persönlich würde ich wohl aufgrund von Visual Studio als Windows-User C# vorziehen. Die aktuellen Entwicklungen mit .NET Core, Crossplattform Kompatibilität usw. sind auch vielversprechend.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012
RopickHD  08.11.2021, 22:53

Was lernt man den dann in C# für Crossplattform? WPF wohl kaum oder? UWP? Wäre sehr nett wenn du mir antworten könntest.

LG

0
apachy  09.11.2021, 00:04
@RopickHD

Da gibt es verschiedenste Möglichkeiten. Xamarin.Forms, MAUI und AvaloniaUI sind wohl die gängigsten, wenn man auch eine GUI haben will. Ansonsten eben schlicht .NET Core. Oder mit Anlehnung an die Webtechonlogien Blazer Desktop.

Ist alles noch ein wenig in den Kinderschuhen aber Microsoft streckt seine Fühler aus, macht immer mehr OpenSource, bietet immer mehr Support für andere Plattformen und vereint die eigenen Sachen in .NET

1
RopickHD  09.11.2021, 00:18
@apachy

Danke für die Antwort. Würdest du mir empfehlen C# weiter zu lernen oder auf Java umzusteigen. Fange voraussichtlich in diesem Sommersemester mit nem Informatikstudium an. Da lerne ich Java , Html, CSS, JavaScript und C/C++. Bin auf deine Meinung gespannt.

0
Javascript

Für den Anfang mach JavaScript Sinn.

Du brauchst keine Entwicklungsumgebung und jeder Browser ist zum Ausführen geeignet.

Der Umstieg auf C-Sprache und Java ist duch die verwante Syntax eher unproblematisch.

Python mag zwar den Einstieg leicht machen, mit seiner "Fragwürdigen" Syntax dürfte der Umstieg jedoch einige Probleme bereiten.

Ich persönlich kann eine Sprache, denen Funktionalität von der Formatierung des Quellcodes abhängig ist, nicht für Voll nehmen.

In C-Sprachen wird zwar auch eingerückt und hübsch formatiert, aber man darf auch mal "sündigen" ohne ohne dadurch Schleifen ihrer Funktionalität zu berauben.

Der Einstieg über JavaScript ist durch die automatische Typisierung von Variablen sehr einfach. Das kann einem Programmierer beim Umstieg auf C/Java erstmal auf die Füße fallen. Den Unterschied diesbezüglich bekommt man jedoch recht schnell "beigebracht".

MaGuLo22 
Fragesteller
 24.10.2021, 19:30

herzlichen dank aber noch eine frage, javascript ist qwasi in der webentwicklung für frontend und backend gut geeignet oder? Und ist javascript sonst auch für andere Sachen wie Anwendungen und softwareentwicklung tauglich?

0
Erzesel  24.10.2021, 20:42
@MaGuLo22

Nee eher nicht...

Man kann zwar mit Note.js auch mit dem Betriebssystem interagieren. Aber für Anwendungen sind C oder Java doch praktikable

Mit Javascript zu beginnen war erstmal nur ein Ratschlag an jemanden, der noch keine Berührung zum Programmieren hatte und erstmal möglichst einfach mit der Logik des Programmierens vertraut werden soll.

Ich wiederhole immer wieder, Programmieren und Programmiersprache sind verschiedene Dinge.

Programmieren ist ein schöpferische Akt. Programmiersprache ist ein Werkzeug um dem Rechenknecht zu sagen was er tun soll.

Ich kann inzwischen in einem Dutzend Sprachen meinen Willen an den Rechner vermitteln. Die logischen Abläufe entwickle ich im Kopf oder meinem Notizheftchen, völlig sprachunabhängig. Zu Sprache werden die Gedanken erst an der Tastatur und inzwischen immer häufiger an Mikrofon.

Die Logik erlernst Du mit dem wenigsten technischen Aufwand in Javascript. Du brauchst nur einen banalen Editor und einen Browser.

Logik, If-Abfragen, Schleifen, Umgang mit Variablen und die meisten Basisfunktionen funktionieren in Javascript in gleicher Weise wie in C.../Java.

Als jemand der noch nichtmal weiß, welche Sprache er erlernen soll, sollte erstmal das erlernen der logischen Abläufe / Zusammenhänge im Vordergrund stehen. Das geht mit JS am einfachsten, da man sich recht wenig Gedanken um die Darstellung der Daten machen muss.(Das übernimmt Html mit ein paar wenigen Zeilen.

In "großen" Sprach wirst Du in der Regel im schwarzen Fenster arbeiten. Mit GUI-Anwendungen zu beginnen wäre da einfach zu kompliziert.

Ein Anfänger sollte sich nicht mit Ereignisverarbeitung herumschlagen, ohne zu wissen wie eine Schleife oder ein Variablenvergleich funktioniert.

Wenn Du für lange Zeit mit Consoloutput leben kannst, steht eigenem Einstieg in C# oder Java nichts im Wege.

Unter W3Schools kannst du ja mal testen, was Dir am besten liegt.

Die dortigen Anfängertutorials verfügen über Onlinecompiler, zum live ausprobieren.

Du wirst auch sehen, das Javascript, C und Java keinen großen Unterschied in der Syntax machen. (Python ist etwas anders) Die Logik ist sogar in Brainfuck die Gleiche.

Mein Steckenpferd ist Batch an der Grenze der Machbarkeit, nicht weil Batch eine tolle Sprache wäre, sondern weil es eine Herausforderung für jemanden ist, der die gleiche Aufgabe mit Leichtigkeit in anderen Sprachen lösen könnte. Logisch ist ein Vergleich oder eine Schleife auch in Batch das gleiche wie in jeder anderen Sprache, aber sprachlich fehlen Batch einige Elemente, welche man mit viel gewurstel zurechtbasteln muss. (Andere alte Herren lösen zur Erbauung Kreuzworträtsel😅)

1
MaGuLo22 
Fragesteller
 25.10.2021, 15:51
@Erzesel

vielen dank für die links und die antwort

0
Javascript

Wenn du irgendwas im Web machen willst, außer du machst rein Backend, ist JavaScript auf jeden Fall hilfreich.

Für alles andere hätte C# und Java vermutlich mit die größte Beliebtheit im kommerziellen Umfeld.

Aber ich muss dich enttäuschen es gibt keine Sprache die für alles passt. Die Sprachen die du listest kann man zwar schon für viel einsetzen aber so funktioniert das einfach nicht. Der Vorteil ist aber sobald du ein mal (praktisch, nicht nur theoretisch) programmieren kannst ist es gar nicht so schwer die Sprache zu wechseln in den meisten Fällen. Beim ersten mal noch etwas schwerer aber die 3. Sprache wird dir dann schon deutlich leichter fallen.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops
MaGuLo22 
Fragesteller
 24.10.2021, 18:01

vielen dank man

1