C# oder Python?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich würde Dir C# anraten. Dazu später...

Python ist sehr leicht zu lernen. Für etwas Anfängerbastelei , das ansteuern Externer APIs oder Datenanalyse ist das ok, da die Sprache bei letzerm primär nur eine handliche Schnittstelle darstellt. (Auf einem Windosrechner bekommt man das Gleiche jedoch wesentlich einfacher mit Powershell bewerkstelligt. )

Wie im richtigen Leben ist dass, was leicht zu haben ist jedoch mit Pferdefüßen behaftet, an denen man sich später die Zähne ausbeist. 🤕😭

Alles was bei Python erstmal als Vorteil angepriesen wird, stellt beim Umstieg auf Sprachen mit der gängigen C-Sytax und strenger Typisierung, Objektorientierung etc... , eine extreme Hürde dar.

Der Mensch ist ein Gewohnheitstier. Hat man sich erstmal an Abläufe gewöhnt wird man sie nur schwer wieder los.

Ich habe mit Assembler und Basic begonnen. Auch wenn die ganze Logik (Schleifen, Vergleiche etc.) überall gleich ist, die Syntax war so verschieden, dass das Umlernen auf C-Syntax einem Neulernen nahe kam. Die Hände tippen weiterhin keine (unbewusten) Klammern...🤢 (Bis das "Muskelgedächtnis" kapiert, dauert es ewig)

C# ist etwas schwieriger zu lernen, dafür bekommst Du aber das Rundumpacket. Mehr noch... Wenn sich in der Zukunft neue Jobs anbieten welche Java, JavaScript, Rust, C++ usw , erfordern, musst Du Dich nicht mit Kleinigkeiten wie Klammern oder Datentypen herumschlagen...

Lerne C#

...und wenn Du nur ein wenig unter Windows-Basteln möchtest machs un Powershell, das ist effizienter als Python und garantiert Objektorientiert...Powershell kann sogar onthefly C#-Codeblöcke nutzen.

(So ein Powershellscript läuft garantiert ohne was zu installieren auf jedem Windosrechner)


BeamerBen  05.05.2023, 12:41
Alles was bei Python erstmal als Vorteil angepriesen wird, stellt beim Umstieg auf Sprachen mit der gängigen C-Sytax und strenger Typisierung, Objektorientierung etc... , eine extreme Hürde dar.

Also das Statement ist Qautsch, jemand der die Konzepte von Python versteht wird sich bei der Umgewöhnung zu einem C ähnlichen Syntax absolut nicht schwer tun.

Zu den anderen Punkten kann man nur sagen, warum soll der Umstieg von einer Sprache die strenge Typisierung und Klassenbasierte Objektorientierung nutzt auf andere Sprachen die ebenfalls strenge Typisierung und Objektorientierung nutzen schwer fallen? Python nutzt beides.

Vermutlich verwechselst du static/dynamic typing mit strongly/weakly typed, aber auch da ergibt nicht wirklich Sinn, warum sich jemand der das Typensystem in Python versteht plötzlich damit schwer tun sollte.

Und eine "extreme Hürde" stellt es so oder so ganz sicher nicht da.

0
Erzesel  05.05.2023, 16:11
@BeamerBen

Hast du schon mal nach jahrelanger Nutzung umgelernt? dabei rede ich nicht von C nach Java oä. , sondern komplett physisch andere Abäufe. zB Basic -> Delphi , Basic -> C++.

Selbst wenn Du das Ganz in der Birne sicher im Griff hast, Deine ganze Motorik macht genau das, was sie zuvor immer gemacht hat und Deine gesamte Konzentration geht dafür drauf , nicht die gesamte "Mechanik" im griff zu behalten. (was glaubst Du weshalb es beim Führerschein die "Automatik"-beschränkung gibt?)

Die meisten kommen schon mit eiener US-Tastatur ins Schleudern

Frag mal einen Pianisten warum er nicht Cello spielen kann, Er kennt die Noten, er weiß um die Stimmung der Saiten und all den übrigen Kram aber muss trotzdem die Ganze "Mechanik" neu erlernen.

Ich denke Du hast es inzwischen längst vergessen und bist in ohnehin in wechselnselnden Sprachen unterwegs.

Mich juckt dergleichen auch nicht mehr ... aber es wär zumindest unangenehm, wenn Klammern plötzlich eine andere Bedeutung haben oder ich Blöcke nach Delphiart wieder mit begin/end begrenzen , oder gar in Basic zu programmieren.

0

Wenn du dich konkret für so was die Data Science, Neuronale Netze und so interessierst, dann ist Python keine schlechte Wahl. Aber man muss dazu sagen, Python ist da halt auch nur ein Werkzeug mit dem du wissen musst was du tust. Python ist keine schwere Programmiersprache, aber du musst dich halt dann vor allem in den Themen wie Data Science und Neuronale Netze weiter bilden.

C# ist meiner Meinung nach so ziemlich die sinnvollste general Purpose Sprache für Einsteiger die auch an so was wie Client Programmen, Web oder Spielen interessiert wären.

Python ist auch eine gute Einsteigersprache, aber in vielen Bereichen in denen Python professionell eingesetzt wird geht es eben weniger um das Programmieren selber und mehr um eben diese Themen wie Data Science, Automatisierung und so weiter.

An sich sind beides verbreitete general purpose Sprachen mit denen du theoretisch auch so ziemlich alles machen kannst, egal ob jetzt KI in C# oder Python im Web - andersherum ist es halt populärer.

Ich persönlich würde mit Python starten, hat eine recht einfache Syntax etc. Mit KIs kannst du aber im Grunde in jeder Sprache arbeiten.

Kommt drauf an wie weit du schon programmieren kannst.

Ich würde mit C# anfangen, das ist strukturierter und tendenziell effizienter.

Python hat den Vorteil relativ locker mit Variablen Typen zu sein und es gibt viele Bibliotheken und Beispiele fast dafür. Doch ist die Freiheit auch eine Einladung zu schlechtem Stil und kann mMn damit das lernen anderer Sprachen erschweren.

Woher ich das weiß:Berufserfahrung – Software Entwickler