Programmieren lernen: Gleich in die bevorzugte Sprache oder erst eine Sprache lernen und danach zur bevorzugten Sprache wechseln?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Vorerst: Ruby on Rails ist keine Sprache, sondern ein Webframework. Die Programmiersprache, auf die du dich konzentrieren würdest, heißt einfach nur Ruby.

Ruby wurde mit verschiedenen Zielen entworfen. Ein Punkt ist, wie auch bei vielen anderen Sprachen, eine einfache Gestaltung der Sprache an sich. Matsumoto hat noch ein weiteres Ziel formuliert:

(...) Ruby is designed to make programmers happy.

Quelle

Ich sehe daher erst einmal nichts, was gegen diese Wahl sprechen sollte. Literatur lässt sich ja auch einfach zu Ruby finden. Irgendeine andere Sprache musst du davor nicht lernen. Das würde dich nur von deinem eigentlichen Ziel abhalten, denn Ruby hat eine eigene Syntax - eine eigene Art.

Erst wenn du dich später mehr mit der Webentwicklung auseinandersetzen möchtest, wäre es ratsam, sich auch noch mit anderen Tools (HTML, CSS, Datenbanken, SQL, ...) zu befassen. Informationsmaterial dazu findest du vor allem auf MDN, teils auch auf W3Schools.

Guten Morgen regex9,

danke auch Dir für Deine Antwort.

Du hast recht, das war mein Fehler. Ich wollte mich auch "nur" auf Ruby konzentrieren. Das ich "on Rails" dazugeschrieben habe, lag daran, dass ich gerade diese Formulierung im Kopf hatte und unbedacht hintippte.
Ich habe mich übrigens für einen kostenfreien Kursus "Programmieren in Ruby" des Hasso-Plattner-Instituts eingeschrieben.

Ansonsten bin ich auch bei Dir, was HTML/CSS/SQL (wobei mir wiederum jemand sagte, mit Postgre-Datenbanken wäre ich besser bedient, was mich wieder so ein wenig schwanken lässt) angeht: Auch diese Sprachen (jetzt muss ich mal ganz doof fragen: HTML und CSS sind ja Auszeichnungssprachen. Zu was zählt eigentlich Datenbanken? Auszeichnung? Programmierung? Ganz was anderes?) habe ich auf meiner Agenda und will sie lernen :-)

GLG

Tichuspieler

0
@Tichuspieler

Ob MariaDB, MySQL, MSSQL, PostgreSQL, o.ä., für relationales DBMS benötigst du so und so SQL. Auf einzelne Dialekte (abhängig je System) kann man sich später mittels jeweiliger Dokumentation spezialisieren, die Basis ist erst einmal dieselbe.

SQL würde ich einfach nur als Datenbanksprache bezeichnen.

0

Zuersteinmal solltest Du Dir anschauen was Du mit der gewünschten Programmiersprache machen kannst.

Nicht jede Sprache kann alles, bzw. ist für alle Anwendungen geeignet.
Mit C++ wirst Du bspw. schlechter Webanwendungen schreiben können als mit Javascript.

Rails ist ein Framework für webbasierte Software, Du entwickelst damit also Web-Anwendungen.
Für bspw. Spiele nutzt man andere Sprachen (C++, evtl. Java etc.).
Statt dem Bauchgefühl "nachzugeben", wäre es also besser zu Schauen was Du so programmieren willst.

Ansonsten hat jede Sprache zwar seine Eigenheiten (die man auch wissen sollte), es gibt aber ein bestimmtes "Grundwissen", was für alle Sprachen gilt. If-Abfragen, Schleifen etc. sind in so ziemlich jeder Sprache gleich von der Funktionsweise her, nur die Syntax ist anders.
Wenn Du mit einer anderen Sprache anfängst, kannst Du also viel übernehmen.

Hallo Apophis,

danke für die Antwort. Tatsächlich sind es Webanwendungen, die ich umsetzen möchte, wobei ich eher zum Erlernen kleine Programme schreiben würde wollen, bevor ich - sozusagen Step by step - zu den größeren - eigentlichen - Projekten übergehen will. So nach dem Motto: Erst das ABC lernen, dann das Handwerk des Schreibens, danach Kurzgeschichten, gefolgt von Novellen bis dann irgendwann der Roman in Angriff genommen werden kann. Mag sein, dass ich 2 - 3 Jahre brauche, bis ich einigermaßen sattelfest bin, aber in meinen Augen ist dies der vernünftigste Weg.

Auch wenn es gar nicht mal wenige Menschen gibt, die mir erklären, wie großartig JavaScript doch sei, so will ich doch Abstand von dieser Sprache halten, weil ich mir Barrierearmut auf die Fahnen geschrieben habe, und JS ist jetzt alles andere als ein Paradebeispiel dafür, ganz im Gegenteil.

Wovon ich ebenfalls Abstand halten mag, ist die Frage: Mit welcher Programmiersprache soll ich Programmieren lernen? Da befürchte ich, dass ich von 6 Leuten 6 unterschiedliche Antworten bekommen, weil jeder eine andere Sprache präferiert. Einige werden sagen: Nimm C++, andere schwören auf Python, wiederum andere empfehlen mir, dass ich auf jeden Fall mit Perl lernen soll und wieder andere kommen mit Shakespeare (ob die einem das Programmieren vermiesen wollen?)

Ja, ich weiß, ich bin ein merkwürdiger Mensch.

GLG

Tichuspieler

0
@Tichuspieler
(...) Barrierearmut auf die Fahnen geschrieben habe, und JS ist jetzt alles andere als ein Paradebeispiel dafür, ganz im Gegenteil.

Sofern man gänzlich auf Dynamik auf der Webseite (sofortigem Reagieren auf Events, ohne Neuladen der Seite) verzichten möchte und sich dementsprechend strikt reduziert, kommt man gut ohne JavaScript aus, das stimmt.

Wenn man so eine Dynamik aber haben möchte, ist JavaScript allerdings ein wichtiges Tool, welches gerade die Barrierefreiheit sichert. Ich rede hierbei von der Barrierefreiheit für bspw. Sehbehinderte, die auf zusätzliche Tools (wie Screenreader) angewiesen sind, um über eine Seite navigieren zu können.

Als Beispiel kann ein Akkordeon-Element dienen - also aufeinanderfolgende Sektionen, die ein-/aufklappbar sind. Die Funktionalität als solche könnte man leicht mit CSS und einer Checkbox umsetzen, keine Frage. Es wäre allerdings noch keine barrierefreie Lösung, denn die Elemente würden ihren jeweiligen derzeitigen Status nicht eindeutig genug kennzeichnen (dies geschieht üblicherweise über aria-Attribute). Folgend gäbe es nur zwei Möglichkeiten: Entweder, bei jedem auf und zu wird die Seite neu geladen oder man ändert die Zustände via JavaScript.

0
@regex9

Hallo nochmal,

prinzipiell ist Dynamik auf meiner Webseite (mit Ausnahme der Webanwendungen) tatsächlich nicht angedacht, auch eine Akkordeon/Roll-over-Navigation nicht, eben aufgrund der Barrierearmut nicht (ich wehre mich übrigens gegen das Wort Barrierefreiheit; auch wenn man sehr viele Barrieren abbauen kann: es wird nie eine Webseite geben, die wirklich ALLES an Barrieren berücksichtigen kann, deswegen schreibe ich lieber Barrierearmut, auch wenn ich damit bei manchem anecke).

Was mich übrigens an manchen JS-Seiten stört, ist, dass selbst statische Seiten in JavaScript gescriptet sind, und wenn man dann denjenigen nach dem Warum fragt man als Antwort ein "Weil ich es kann" bekommt.
Dass sie damit einen Teil der User ausschließen, interessiert sie dabei nicht.
Ich hatte aber einmal gelernt: Eine Webseite muss nicht überall gleich aussehen, sie muss in erster Linie für 99,99% der User ohne Probleme zugänglich sein (wobei dies unter Umständen wieder knibbelig werden kann, weil es noch immer Nutzer gibt, die zum Beispiel den IE6 benutzen. Nein, ich nicht. Ich nutze die neueste Version des Opera-Browsers).

GLG

Tichuspieler

0

Man lernt am besten, wenn das Erlernte Spass macht. Wenn du meinst, dass du mit Ruby den meisten Spass haben wirst, fang damit an.

Man lernt ja auch nicht Fußball, obwohl man eigentlich Handball spielen will.

Obwohl: Mir hat man früher erzählt "Lern Latein, dann sind die anderen Sprachen viel leichter". Heute kann ich in unserem Dom keine Grabplatte entziffern. Gleich Französisch oder Spanisch und dann im Urlaub üben wäre vielleicht effektiver gewesen.

Der Vergleich mit den Sprachen ist da passender, denn Programmiersprachen sind nichts anderes.

Latein wird als Europäer, der eine andere europäische Sprache lernt jetzt wohl nicht soo viel bringen, weil Deutsch selbst ja die gleiche Abstammung hat.

Schau aber mal nach Asien. Lernst Du eine der Chinesischen Sprachen, kannst Du davon sehr viel (Grammatik, Wortstämme etc.) für andere chinesische Sprachen, eben so wie für die koreanische und japanische Sprache übernehmen. Du besitzt also bereits ein Grundwissen, was Du nutzen kannst.

Oder als anderen Vergleich nimm die Musik.
Wenn Du bereits ein Instrument gespielt hast, hast Du auch vieles gelernt, was Du für andere Instrumente auch brauchst. Noten lesen, Rythmus, Betonungen und so weiter.
Ein Wechsel zwischen ähnlichen Instrumenten, etwa zwischen Geige und Bratsche, Cello und Geige oder Cello und Bass ist nahezu problemlos möglich.

Naja, aber um wieder Bezug auf den Fragesteller zu Nehmen, gebe ich Dir schon recht. Wenn ich Bass spielen lernen will, lerne ich nicht vorher Cello, sondern fange direkt mit Bass an.

0

Danke für die Antwort. Dann ist es sinnvoll, Ruby zu lernen.

0

Ruby gilt als ziemlich einfache Sprache, sollte also kein Problem sein.

Das hört sich schon mal gut an :-) Danke Dir für die Antwort.

0

Was möchtest Du wissen?