Welche Programmiersprache?

  • Ersteller Ersteller DerHddExperte
  • Erstellt am Erstellt am
Danke für die vielen Antworten. Ich lese mir das in Ruhe durch und melde mich wieder. Ich liege gerade mit einer dicken Erkältung flach...
 
  • Gefällt mir
Reaktionen: ZuseZ3
Wenn das Englisch gut ist, würde ich z.B. das Video empfehlen:

Letztendlich sind die Konzepte der Programmierung wichtiger als die Sprache. Ich würde es mir aber nicht zu schwer machen und zu sowas wie Python für den Anfang greifen.
 
  • Gefällt mir
Reaktionen: feynman, ZuseZ3 und DerGoblin2k
abulafia schrieb:
Hast du irgendein Ziel? Wie kommst du drauf zu sagen, dass du Programmieren lernen willst?

Wie ist deine Vorbildung?
Ich habe bisher noch nichts in der Richtung gemacht. Ich bin Mediengestalter und mache bei uns auch die IT, weil das sonst keiner macht. Kenne mich da also ein bisschen mit IT aus. Programmieren wollte ich jetzt als Hobby anfagen. Vielleicht eine App oder ein kleines Programm? Das ist relativ egal. Erstmal die Basics lernen.
Ergänzung ()

schasi schrieb:
Wenn das Englisch gut ist, würde ich z.B. das Video empfehlen:
Wow, danke. Sehr hilfreiches und gutes Video!
Ergänzung ()

Kuestennebel79 schrieb:
Ganz easy ist Javascript.
Hab von einem Bekannten ein paar schlechte Dinge über Javascript gehört. Zum Lernen soll das nicht gut sein, weil man damit unsauberen Code schreiben kann. Ich sollte mir lieber eine typisierte Sprache aussuchen. Eine genaue Empfelung konnte er mit aber auch nicht geben, weil er das vor Jahren nur mal in der Berufsschule hatte.
 
Zuletzt bearbeitet von einem Moderator:
cosmic_hh schrieb:
Hab von einem Bekannten ein paar schlechte Dinge über Javascript gehört. Zum Lernen soll das nicht gut sein, weil man damit unsauberen Code schreiben kann. Ich sollte mir lieber eine typisierte Sprache aussuchen. Eine genaue Empfelung konnte er mit aber auch nicht geben, weil er das vor Jahren nur mal in der Berufsschule hatte.
Ich bin auch ein Fan von typisierten Sprachen und tue mich mit untypisierten schwer, aber das wäre für mich kein Grund gegen Javascript als Anfängersprache. Sie ist verständlich genug und man kann recht schnell was hinbekommen. Außerdem sind Webseiten recht dankbar, weil man einfach neu lädt und direkt das Ergebnis sehen kann.

Ich finde aber, du machst dir zu viele Gedanken. Anfangen ist die Devise, mit einer Sprache die nicht zu kompliziert ist und wo man nicht zu viel Vorwissen braucht. Schau dir ein paar an, entscheide dich und los geht's.

Wegen unsauberem Code etc. würde ich mir dann frühestens nächstes Jahr Gedanken machen. Selbst ich, mit zwei Jahren professioneller Programmiererfahrung, mache mir noch viel zu früh zu früh Gedanken drüber anstatt erst mal die eigentlichen Aufgabe zu lösen :freak:
 
cosmic_hh schrieb:
Hab von einem Bekannten ein paar schlechte Dinge über Javascript gehört. Zum Lernen soll das nicht gut sein, weil man damit unsauberen Code schreiben kann. Ich sollte mir lieber eine typisierte Sprache aussuchen. Eine genaue Empfelung konnte er mit aber auch nicht geben, weil er das vor Jahren nur mal in der Berufsschule hatte.
Das ist genau der Hinweis, den ich Dir darunter geschrieben habe.
 
schasi schrieb:
Wenn das Englisch gut ist, würde ich z.B. das Video empfehlen:

Letztendlich sind die Konzepte der Programmierung wichtiger als die Sprache. Ich würde es mir aber nicht zu schwer machen und zu sowas wie Python für den Anfang greifen.
Sehe ich ähnlich. Einfach mal mit Python anfangen und gut is. Die Sprache ist aktuell sehr beliebt und dementsprechend gibt es im Netz massenhaft nützliche Informationen. Ob Python dann in 10 Jahren noch der angesagteste Shit ist, kann eh keiner sagen.
Aber wenn man die grundlegenden Konzepte mal anhand einer Sprache erlernt hat, ist es dann meist der leichtere Teil der Übung auf eine andere Sprache umzusteigen.

Ich würde empfehlen, dass man sich schon an einer Anwendung mit konkreten Problemen entlang hangelt, statt einfach nur Beispielcode abzutippen. Sonst geht die Motivation vielleicht schnell verloren.

Als Inspiration einfach mal nach so etwas wie "Python beginner projects" o. ä. googeln.
 
Zuletzt bearbeitet:
Ich kann gerade nicht anders, als das mit dem Autofahren zu vergleichen. Du wohnst auf dem Land und möchtest ohne Führerschein auf dem privaten Grundstück Fahren üben.

Manche sagen, du solltest erst mal das Auto selber zusammenschrauben, bevor du fährst (Assembler).

Andere sagen, du sollst unbedingt ein Auto nehmen, das man erst noch reparieren muss, damit du lernst wie was funktioniert (C, C++, ...).

Wieder andere meinen, du sollst einen Schalter nehmen, weil das viel verwendet wird (Java, ...).

Ich sage: Nimm einen Automatik, dann kannst du dich auf die Grundlagen konzentrieren (Python, Karel, ...).

Programmieren zu verstehen ist nicht ganz trivial, da würde ich es mir am Anfang so einfach wie möglich machen. Da wirst du mit den "anfängerfreundlichen" Sprachen noch auf genug Fragen und Probleme stoßen. Und warum schon jetzt überlegen, ob du das richtige Auto hast, ob es zukunftsfähig ist, ob du nicht lieber eines mit anderen Reifen oder mehr PS haben solltest etc.?

Ein Freund hat vor nem halben Jahr mit Karel angefangen und ist dann über Python zu Kotlin. Jetzt macht er einen Kurs zur Androidentwicklung. Ich merke, dass es da teilweise immer noch an Grundlagen hakt. Dazu kommt das ganze Zeug, was man über Android etc. wissen muss. Und Kotlin ist auch keine einfache Sprache.
 
Kuestennebel79 schrieb:
Das ist genau der Hinweis, den ich Dir darunter geschrieben habe.
Sorry, hab ich überlesen. Ich sollte nicht verschnupft und mit Kopfschmerzen hier lesen/schreiben. Ich pack mich wieder in Bett.
 
  • Gefällt mir
Reaktionen: Kuestennebel79
wenn du das autodidaktisch versuchen willst, dann würde ich empfehlen du erarbeitest dir ein Ziel, findest existierende Projekte, und versuchst dort Änderungen zu machen. Bis etwas fehlschlägt. Dann weisst du automatisch wie der Fehler zu beheben ist, denn du brauchst einfach nur einen Schritt zurück gehen.

Andersrum ist es schwerer ohne konkretes Ziel etwas aus dem nichts zu erschaffen. Du produzierst code der nicht läuft und findest nie raus warum.

Die Programmiersprache ist relativ egal wenn man erstmal ein gespür dafür bekommen will.
 
... zum wiederholten Male, niemanden interessiert die verdammte Programmiersprache :D

Die arbeiten eh alle gleich. Klar, es gibt Unterschiede im Detail, aber am Ende des Tages leisten Javascript und C beide exakt dasselbe.

Daher: Ansätze studieren und verstehen, wie nehme ich ein Problem auseinander, worauf muß ich achten, wie unterscheiden sich Mathematik (aus der Schule) und Berechnungen (auf der CPU) voneinander, und so weiter.

Plus Kontrollstrukturen. So viele gibt es nicht, aber man muß sie kennen und verwenden können.

Der Rest ist wumpe und kommt dann von ganz allein.
 
  • Gefällt mir
Reaktionen: BAGZZlash
RalphS schrieb:
... zum wiederholten Male, niemanden interessiert die verdammte Programmiersprache :D
Das sehe ich anders. Auch, wenn du im Grunde Recht hast (siehe auch https://pilabor.com/blog/2021/05/learn-concepts-not-frameworks/): Es gibt Sprachen, die sind für Anfänger mehr oder weniger gut geeignet. Insbesondere in Puncto Verständlichkeit und Motivation. Man schreibt in C selten Web-Anwendungen oder Apps. Wenn man ein solches Ziel formuliert, ist die Wahl der Sprache nicht ganz so unwichtig.
 
  • Gefällt mir
Reaktionen: T. Smith und KitKat::new()
sandreas schrieb:
Man schreibt in C selten Web-Anwendungen oder Apps.
Wobei Du das ganz am Anfang ohnehin nicht machst. Da geht es eher darum die Grundlagen zu erlernen. Meine ersten Programme waren mehr oder weniger nur kleine Snippets wo es darum ging zwei Zahlen zu addieren und solche elementaren Sachen. Da ist es tatsächlich mehr oder weniger egal. Und die Sprache dann mal zu switchen ist auch nicht das übergroße Problem, wenn man erst mal bestimmte grundlegende Dinge verstanden hat.

Ob es sinnvoll überhaupt mit C was zu machen wenn irgendwie das Ziel WebApps sind darf natürlich bezweifelt werden. Aber ist jetzt nicht so, das wenn das überhaupt nicht geht.

sandreas schrieb:
Es gibt Sprachen, die sind für Anfänger mehr oder weniger gut geeignet. Insbesondere in Puncto Verständlichkeit und Motivation.
Jaein. Also klar. Man kann jetzt Javascript unterstellen eine einfache Sprache zu sein. Man muss sich um viele Dinge nicht kümmern. Das macht viele Dinge zunächst scheinbar einfacher. Allerdings ist es eben auch zu beobachten, das eben dadurch auch viele Dinge gar nicht vermittelt werden. Um bei Javascript zu bleiben solche Konzepte wie Datentypen usw.
Eine strenge "Compilersprache" wird ja gern mal als nervig empfunden aber eigentlich ist es eine super Hilfe um bestimmte Dinge zu verstehen und gewisse Fehler erst gar nicht zu machen.

Insofern sehe ich solche Sprachen die einen (vermeintlich) einfachen Einstieg bieten durchaus zwiegespalten. Ich sag nicht, das man die nicht nehmen sollte oder das "schwierigere" Sprachen nicht auch ihre Nachteile haben. Aber ich würde jetzt auch nicht sagen, das das ein oder andere zu nehmen tatsächlich einen klaren Vorteil bringt.

Insofern kann ich mit der Aussage das es grundsätzlich egal ist mit welcher Sprache man anfängt durchaus mitgehen.
 
  • Gefällt mir
Reaktionen: KitKat::new()
andy_m4 schrieb:
Insofern sehe ich solche Sprachen die einen (vermeintlich) einfachen Einstieg bieten durchaus zwiegespalten. Ich sag nicht, das man die nicht nehmen sollte oder das "schwierigere" Sprachen nicht auch ihre Nachteile haben. Aber ich würde jetzt auch nicht sagen, das das ein oder andere zu nehmen tatsächlich einen klaren Vorteil bringt.
Damit liegst du aus meiner Sicht goldrichtig. Ich meinte auch etwas anderes mit "Motivation". Mir geht es bei einer Sprache primär um "Produktivität". In C hat man in den meisten Anfänger-Tutorials am Ende eine kleine Kommandozeilenanwendung, die zwar durchaus anspruchvoll sein mag, aber wirklich motivierend ist das für die wenigsten Einsteiger. Außerdem ist die "Boilerplate" ziemlich hoch (man muss einen Compiler installieren, sich mit der Kommandozeile auskennen oder eine IDE benutzen, etc. - Texteditor macht auch nicht wirklich Spaß)

In JavaScript (mit HTML, CSS und unter Zuhilfenahme eines Browsers) kann man sehr schnell recht ansprechende Oberflächen basteln oder auch kleine Spiele. Man kann das ganze Lokal oder auch auf einem Server laufen lassen - Frontend und Backend. Die Boilerplate ist recht gering und es läuft auf jedem Betriebssystem.

Mir ging es also um die Zeit, die es braucht, um was "ansprechendes" zu entwickeln, was man woanders laufen lassen kann und was man anderen zeigen kann. Da ist man mit Sprachen wie JavaScript recht vorne mit dabei.

Ich habe lange Azubis und Studenten betreut und alle haben sich darüber beschwert, dass man ja mit Java und C in der Uni "nix gescheites" anfangen kann, ohne wirklich tief in der Materie zu sein und das das mit JavaScript ganz anders sei.

Außerdem ist der Schritt von JavaScript über Typescript zu einer Art kompilierten (transpilierten) Sprache gar nicht mehr so weit.

Ich empfehle Anfängern inzwischen meistens:
  • JavaScript und danach Typescript
  • Python
  • PHP, C# oder Java für Objektorientierung
  • Go für den Einstieg in "echte" typisierte und kompilierte Sprachen
  • C oder Rust für die erfahreneren, die mal Systemprogrammierung machen wollen (Kernel und so n Zeug)
  • Lisp für die, die mal eine ältere Programmiersprache mit tollen Konzepten in Aktion sehen wollen ;-)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Boa-P
sandreas schrieb:
In C hat man in den meisten Anfänger-Tutorials am Ende eine kleine Kommandozeilenanwendung, die zwar durchaus anspruchvoll sein mag, aber wirklich motivierend ist das für die wenigsten Einsteiger. Außerdem ist die "Boilerplate" ziemlich hoch (man muss einen Compiler installieren, sich mit der Kommandozeile auskennen oder eine IDE benutzen, etc. - Texteditor macht auch nicht wirklich Spaß)
Auch das kann man so oder so sehen. Das gehört einfach dazu. Wenn Du irgendwas handwerkliches lernst geht es ja auch nicht nur darum ein Loch in die Wand zu bohren. Sondern Du musst richtig messen. Richtig anzeichnen. Alles Dinge die Du machen musst, bevor Du überhaupt eine Bohrmaschine in die Hand nimmst.
Oder auch Musikinstrument lernen. Da gehört auch ne Menge dazu bevor Du überhaupt dazu kommst zu spielen.
Insofern würde ich das nicht zu hoch aufhängen. Möglicherweise ist das aber auch der heutigen Zeit geschuldet. Da darf halt nix mehr aufwendig und muss möglichst niederschwellig sein. Also mit minimalen Aufwand maximalen Output.

Was dabei immer vergessen wird, das man sich früher oder später doch mit den Sachen auseinander setzen muss die evtl. weniger Spaß machen. Die sogenannten Einstiegssprachen erkaufen sich das, indem sie solche Dinge eher nach hinten schieben.
Das führt dann gerne auch dazu, das man dann am Anfang mit Freude dabei ist aber dann die Lust verliert, wenns ans Eingemachte geht. Was letztlich bedeutet das man die Zeit zuvor umsonst investiert hat weil man erst später merkt, das das eigentlich nix für einen ist.

sandreas schrieb:
In JavaScript (mit HTML, CSS und unter Zuhilfenahme eines Browsers) kann man sehr schnell recht ansprechende Oberflächen basteln oder auch kleine Spiele
Ich hatte ja im Thread schon mal das Taschenrechnerbeispiel gebracht. So ein Taschenrechner mit GUI und so weiter macht natürlich optisch was her und ist auch leichter entwickelt, aber wenn wir mal ehrlich sind lernt man dabei nicht allzuviel im Gegensatz zu einem Rechner der direkt mathematische Ausdrücke auswertet.

Wenn ich so an meine ersten kleinen Progrämmchen zurück denke. Die waren jämmerlich. Der Aufwand war unverhältnismäßig hoch. Die Produktivität war extrem mies, wie Du sagen würdest. Aber ich hab ne Menge gelernt und vor allem jede einzelne Minute genossen.

Von daher fällt es mir schwer da mit zu gehen, das es unbedingt einen einfachen Einstieg braucht. Das man das drum herum minimieren sollte usw.
Das mag sein, das das bei vielen Neulingen hilfreich ist. Aber das als alleinigen Königsweg zu "verkaufen" das sehe ich halt nicht.
 
  • Gefällt mir
Reaktionen: lemon03
Wir hatten in der Technikerschule (Informatiktechniker) in Softwareentwicklung erst mit C angefangen (~1,5 Jahre) und dann Java.

Ich würde es heutzutage jederzeit wieder so machen. Ich finde mit C lernt man ein sehr gutes Fundament, fällt oft auf die Fresse und nimmt sehr viel mit für später. Java finde ich auch ein sehr gute "Einsteiger" Sprache, die Syntax ist gut zu lesen, es ist nicht alles so "versteckt" und abgekürzt wie bei anderen Sprachen und ist eine sehr gute Bereicherung zu und mit C.

Auch wenn ich nicht als Softwareentwickler arbeite sondern als Systemadministrator, habe ich sehr gutes Grundwissen in Softwareentwicklung/Programmierung und kann überall bisschen mitreden und kann Programmiercode lesen. Man kann einfach vieles ableiten, deswegen auch immer der Spruch "Die Sprache ist egal"

Habe mir schon überlegt nebenbei oder als Hobby mehr zu machen, dann aber schon eher die C/C++ Schiene - ist halt was anderes als das 0815-Phyton-Javascript Zeugs.
 
Ich bin mal so frei und hänge hier mal an, ohne dafür nochmal n neuen Thread zu erstellen. Ich bin gerade auch neu in einer Stelle als Sysadmin, und auch privat mach ich mittlerweile mehr mit Code als früher. Jetzt bin ich mir auch nciht sicher in welche Richtung ich gehen soll, privat mach ich mehr mit Linux (als OS, für Smart Home und co.) und in der Arbeit zu 90% Windows.

Von daher würde ich jetzt eigentlich ein bisschen mehr Richtung Python tendieren, halte aber C durch die Windows Umgebung in der Arbeit auch sehr sinnvoll. Gibts da evtl. ne Empfehlung von einem von euch, der ähnliche Voraussetzungen hatte?
 
Nochmals - lies Dir den Thread komplett durch - es kommt auf Deine Anwendung an, was Du genau wo in welchem Umfeld programmieren willst.
 
@WhiteHelix: Naja, "SysAdmin" ist ein extrem weites Feld. Das kann ja alles Moegliche sein ;)
Da du aber von 90% Windows sprichst, solltest du dir die PowerShell mal genauer anschauen. Von vielen grossen Drittanbietern in der Windows Welt gibt es da auch fertige SnapIns.

C wage ich zu behaupten, duerfte als Windows Sysadmin eher selten vorkommen. Das Programmieren sollte man den Programmierern ueberlassen ;)
 
  • Gefällt mir
Reaktionen: KitKat::new()
@WhiteHelix Ich würde das an deiner Stelle nach Bedarf machen, wie es gebraucht wird. Eine Sprache solide lernen und den Rest entsprechend.

Es gilt: Das beste Tool für den Job, aber ein Tool gut können ist meist besser als keins oder mehrere nur schlecht als recht.
 
Zurück
Oben