Ich kann mich nicht entscheiden, welche programmiersprache mann als anfänger lernen soll, suche allround und software/webentwicklung?
28 Stimmen
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.
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.
gerade C# würde ich nicht nehmen -- das ist vor allem unter Windows verbreitet, und damit zunehmend ohne Relevanz, da exotische Plattform.
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.
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.
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++.
Java hat ein gigantisches Ökosystem, vor allem im kommerziellen Backend Umfeld.
Gerade da ist doch auch C# riesig.
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.
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
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
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".
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?
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.
- https://www.w3schools.com/
- https://www.w3schools.com/js/default.asp
- https://www.w3schools.com/cs/index.php
- https://www.w3schools.com/java/default.asp
- https://www.w3schools.com/python/default.asp
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😅)
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.
Och ich denke schon. Ist ja Plattformunabhängig. Ich nutz C#-Anwendungen öfters auf Linux.