Ich möchte diesen Artikel mit der Feststellung beginnen, dass die Entscheidung, eine Sprache aufgrund ihres Schwierigkeitsgrades zu lernen oder nicht zu lernen, ein schlechter Start für eine Karriere als Programmierer ist. Sie werden irgendwann eine andere Sprache lernen müssen, die vielleicht schwieriger ist als die „leichte“ Sprache. Trotzdem gibt es ein gutes Argument dafür, eine Sprache mit der flachsten Lernkurve zu wählen. Diese Sprache kann es Ihnen leichter machen, Paradigmen wie die objektorientierte Programmierung zu verstehen, die das Fundament der modernen Programmierung ist.
So, lassen Sie uns definieren, was eine Programmiersprache leicht macht, bevor wir eine aus dem Hut ziehen. Dies sind nur einige Parameter, die ich mir ausgedacht habe, weil ich irgendwann einmal programmieren lernen wollte. Ich fand, dass diese Parameter zu meinem Verständnis des Programmierens beigetragen haben.
Nebenbei bemerkt: Das ist alles subjektiv. Manche mögen die übermäßige Einfachheit als zu sehr eine Krücke empfinden. Am Ende des Tages hängt es wirklich von Ihrem Lernstil ab.
Community
Eine einfache Sprache hat eine ausgezeichnete Community. Diese Gemeinschaft schafft ein Ökosystem von detaillierter Dokumentation, die Ihnen hilft, Probleme zu lösen. Sie bietet auch Hilfe durch Foren (obwohl Stack Overflow fast jeder Sprache diesen Aspekt der Community gegeben hat). Drittens stellt die Gemeinschaft Module zur Verfügung, die Ihr Leben als Entwickler einfacher machen. Wiederum haben viele Sprachen diese Funktion, aber eine bestimmte Sprache ist berüchtigt dafür, diese Funktion zu behindern (ich schaue Sie an, JavaScript).
Hilfsmethoden
Eine einfache Sprache kommt mit vielen eingebauten Methoden. Das ist ein bisschen wie der Deal mit den mitgelieferten Batterien, den man bei Spielzeug bekommt. Als jemand, der neu im Programmieren ist, möchte man, dass die Sprache die Funktion hat, die man braucht, um eine bestimmte Aufgabe zu erledigen, anstatt gezwungen zu sein, das Rad neu zu erfinden.
Klare Syntax
Eine leicht zu erlernende Sprache ist nicht durch Regeln und syntaktische Feinheiten verworren. Was viele Leute abschreckt, ist der Anblick von geschweiften Klammern und Semikolons und der Gedanke, wie soll ich das jemals lesen, geschweige denn schreiben können?
Glatte Funktionen
Eine einfache Sprache hat keine amorphen Funktionen. Funktionen sind schließlich das Brot und die Butter der Programmiersprache. Der Name sagt es schon. Ohne sie funktionieren Apps nicht. Daher ist es wichtig, Funktionen früh zu verstehen. Manche Sprachen machen das Erlernen von Funktionen einfach, weil sich die Art und Weise, wie Sie diese Funktionen schreiben, kaum ändert. Andere Programmiersprachen haben Zirkusfunktionen, die sich je nach Kontext unterscheiden. Ahem (JavaScript).
Solides Framework
Eine leicht zu erlernende Sprache hat ein starkes Framework. Irgendwann im Laufe Ihres Lernprozesses werden Sie entweder eine Web-App zum Testen Ihrer Fähigkeiten oder eine grundlegende Software erstellen wollen. Diese Sprache sollte ein Framework mit einer Dokumentation haben, die es Ihnen ermöglicht, Ihre jungen Fähigkeiten auf dieses Framework zu übertragen. Gleichzeitig wollen Sie aber nicht von Frameworks ertränkt werden. Sie wollen in der Lage sein, sich für eines zu entscheiden und loszulegen, ohne einen zweiten Gedanken zu verschwenden. Dieser Prozess sollte doch einfach sein, oder?
Die am leichtesten zu erlernende Programmiersprache ist…
Nachdem wir nun also einige höchst subjektive Regeln darüber aufgestellt haben, was eine Programmiersprache leicht macht, lassen Sie uns eine Sprache aus dem Hut ziehen (JavaScript-Entwickler werden hier sicher nicht den Atem anhalten).
Ruby ist wohl die am leichtesten zu erlernende Sprache. Wenn wir alle Faktoren kombinieren, die eine Sprache leicht erlernbar machen, werden Sie feststellen, dass Ruby eine der besten Communities hat, die es gibt. RubyGems ist ein ausgezeichneter Paketmanager. Im Gegensatz zu npm ist er nicht aufgebläht. Sie müssen nur die Gems, die Sie verwenden wollen, in einem .Gemfile angeben und die entsprechenden „Gems“ installieren.“
Die Ruby-Gemeinschaft ist insofern einzigartig, als ihr Ursprung bescheiden war, bevor Ruby on Rails explodierte. David A. Black, der Autor von „The Well Grounded Rubyists“, sagte in Bezug auf die frühe Ruby-Gemeinschaft: „The Pickaxe war das erste englischsprachige Buch über Ruby (es gab bereits viele Bücher auf Japanisch), und die Ruby-Gemeinschaft außerhalb Japans war klein genug, dass es möglich war, die Leute leicht über die englischsprachigen Mailinglisten und Foren kennenzulernen – an denen, das sollte ich hinzufügen, viele japanische Rubyisten, einschließlich Matz, regelmäßig teilnahmen.“
Wenn Sie sich fragen, wer Matz (Yukihiro Matsumoto) ist, er ist der Chefdesigner von Ruby. Black sagte in dem Interview auf die Frage, was sein Lieblingsmerkmal von Ruby sei: „Es klingt kitschig, aber mein Lieblingsmerkmal ist die Community. Ich bin nicht mehr so stark in sie verstrickt wie früher, aber über die Jahre war sie eine großartige Quelle der Unterstützung, Freundschaft und Inspiration.“
Diese Gemeinschaft erstreckt sich auch auf die umfangreichen und gut organisierten Ruby-Dokumente. Alles, was Sie über eine bestimmte Methode oder Funktion wissen müssen, finden Sie in den Dokumenten. Weil Ruby so viele eingebaute Methoden hat, müssen Sie nicht allzu viele Gems installieren, um Aufgaben zu erledigen. Das Lösen eines bestimmten Problems ist in Ruby einfach einfacher, weil man nicht nach einem cleveren Workaround suchen muss.
Syntaktisch gesehen ist Ruby eine der am einfachsten zu lesenden Sprachen. Im Vergleich zu einer Sprache wie C++ sieht Ruby aus wie eine Art Pseudocode. Funktionen werden in Ruby als Methoden bezeichnet und brauchen nur das Schlüsselwort def vor dem Namen, den Sie Ihrer Methode geben wollen, vorangestellt. Es sind keine geschweiften Klammern erforderlich.
Endlich, Ruby on Rails ist ein renommiertes Framework. Nicht viele andere Sprachen sind durch ein Framework so berühmt geworden wie Ruby. Eigentlich kann man gar nicht lange über Ruby reden, ohne dass Rails erwähnt wird. Der Grund dafür ist, dass Rails Sie in einen Assistenten verwandelt. Sie können eine Blog-Site mit ein paar Befehlen einrichten. Das liegt daran, dass die Programmiersprache Ruby es ihren erfahreneren Entwicklern erlaubt, Sprachen zu erstellen. Was das für Anfänger bedeutet, ist, dass eine Sprache, die bereits einfach zu verstehen war, noch einfacher zu benutzen ist, weil man neue Abstraktionen hat, die nicht erfordern, dass man tiefer gräbt.
Das ist nicht unbedingt eine gute Sache, aber man kann sehen, dass es viel einfacher ist, sich mit Ruby kompetent zu fühlen. Während andere vielleicht ein bisschen SQL lernen müssen, um eine Datenbank abzufragen, müssen Sie nur Rubys viel einfachere Plug-and-Play-Version namens Active Record lernen.
Wählen Sie die Sprache, mit der Sie Ihr Ziel erreichen. Wenn Sie nur eine Sprache lernen wollen, um mit Ihren Fähigkeiten vor Freunden und Familie zu prahlen, dann ist es vielleicht der richtige Weg, die am einfachsten zu lernende Sprache zu wählen. Wie bei der Frage nach der „schlechten“ Programmiersprache kommt es auch bei der Frage nach der am leichtesten zu erlernenden Programmiersprache darauf an, was Sie in erster Linie mit der Sprache machen wollen.
Möchten Sie Systemprogrammierer werden? Dann ist Go vielleicht die am leichtesten zu erlernende Sprache, einfach weil der Pool für Systemprogrammiersprachen ganz anders aussieht. Es wird interessant sein, zu hören, was andere denken, was die am leichtesten zu erlernende Programmiersprache ist, da „Programmiersprache“ für verschiedene Menschen unterschiedliche Dinge bedeutet. Ich habe diese Frage in einem offenen Forum gestellt und bekam, Brainf***, Scratch, SQL und Java(?).
Anmerkung: einige mögen sagen, dass Python dort oben mit Ruby sein sollte, aber Pythons Starrheit kann eine schwerfällige Erfahrung für diejenigen schaffen, die neu im Programmieren sind. Das Ethos von Ruby ermutigt zu mehreren Wegen, ein Problem zu lösen. Wenn Sie neu in der Programmierung sind, wollen Sie nicht über Syntaxprobleme stolpern müssen. Natürlich hat die abstrakte Natur von Ruby ihre eigenen Probleme, aber das ist hier nicht relevant.