das Problem der Sprache

Ich habe kürzlich meine Frustration (auf Tumblr) über die Tatsache, dass ich vor drei oder vier Jahren angefangen habe, Rubin zu lernen, abgelegt. Wenn sich herausstellt, dass das Erlernen von Python aufgrund der Art meiner Arbeit und der häufig verwendeten Tools eine viel bessere Idee wäre.

(Bevor sich jemand entscheidet, einen Flammenkrieg über Rub y gegen Python zu beginnen, mache ich keinen objektiven Anspruch auf eine der beiden Sprachen. Ich spreche buchstäblich über mich selbst, die Arbeit, die ich mache, und die Werkzeuge, die ich am häufigsten benutze. Davon taucht Python eher als Rubin auf. Ich bin der allgemeinen Meinung, dass die „beste“ Sprache vom Kontext abhängt. Bevor ich zur Schule ging In China habe ich kein Spanisch gelernt. Nicht weil Mandarin “besser” ist als Spanisch, sondern weil … nun, Spanisch wäre ungefähr so ​​nützlich wie Englisch in China – überhaupt nicht sehr nützlich.)

Nun liegt die offensichtliche Lösung für mein Problem darin, auf Python umzusteigen, oder? Es ist nicht bekannt, dass es schwierig ist, eine Sprache zu lernen, und ich kenne bereits eine Programmiersprache, oder?

Leider klingt es nicht ganz so einfach. Zumindest nicht für mich. Ich werde nicht alle meine Behinderungen und die funktionellen Grenzen beschreiben, die sie meiner Lernfähigkeit (und wie schnell) auferlegen, aber es genügt zu sagen, dass ich behindert bin und meinem Lernen echte, unüberwindbare Grenzen setzt . Genug, so dass ich ungefähr drei Jahre Selbststudium gebraucht habe, um etwas zu bekommen, was wahrscheinlich einem rudimentären Wissen über Rubin gleichkommt. Das meiste, was ich mache, ist, einmalige Skripte zu schreiben, um mit der Tumblr-API zu arbeiten (zum Spaß wohlgemerkt). Ich bin etwas besser mit Bash-Skripten, weil ich sie bei der Arbeit verwende.

Wieder. Dies sind drei Jahre stetigen selbstmotivierten Studiums von meiner Seite. Ich stelle mir vor, dass einige Leute sich das ansehen und sagen: “Drei Jahre und sie sind noch nicht einmal ein richtiger Programmierer?” Nein, kein richtiger Programmierer.

Als ich über den Versuch sprach, auf Python umzusteigen, kam mir der Gedanke, dass… Eine Menge technischer Rhetorik rund um das Codieren und wie jeder lernen sollte, scheint zu vergessen, dass Programmiersprachen Sprachen sind. Ja, sie sind künstliche Sprachen, aber sie sind trotzdem Sprachen. Wenn man sich einen Moment Zeit nimmt, um innezuhalten und über einige der Auswirkungen nachzudenken, wird plötzlich viel klarer, warum nicht jeder lernen wird, wie man programmiert.

Warum? Weil das Erlernen von Sprachen nicht einfach ist. In der Tat ist es für manche Menschen, Leute wie mich, ziemlich schwierig, neue Sprachen zu lernen. Es ist ein zeitaufwändiger, mühsamer Prozess, der jahrelange Arbeit erfordern kann, bevor Sie funktionale Sprachkenntnisse erwerben. Es könnte für manche Menschen überraschend sein zu erfahren, dass Menschen unterschiedliche Fähigkeiten haben, wenn es um den Spracherwerb geht.

Noch wichtiger ist, dass mir klar wurde, dass die enorme Trennung zwischen dem Unterrichten natürlicher und künstlicher Sprachen wahrscheinlich eine eigene Barriere darstellt. Ich denke plötzlich darüber nach, wie das Erlernen von Code verändert werden könnte, wenn es tatsächlich einige der Beweise und das Know-how aller Horden von Forschungen zum Spracherwerb enthält. Es stellt sich heraus, dass es bereits eine Vielzahl von Forschungsarbeiten zum Spracherwerb und -unterricht gibt.

Ich denke dabei an einige der Coding-Workshops, an denen ich teilgenommen habe. Ich habe eine RailsBridge-Sache für Frauen besucht. Es war ein Nachmittag. Und natürlich haben wir Sachen gemacht. Aber… letztendlich war es unvergesslich. Gleiches gilt für den Python-Workshop, an dem ich teilgenommen habe. Wenn ich die Situation als Spracherwerb betrachte, anstatt zu lernen, wie man programmiert, wundert es mich überhaupt nicht, dass diese Workshops (zumindest für mich) nicht sehr hilfreich sind, um tatsächlich etwas zu lernen.

Ich glaube nicht, dass ich einen einzigen Workshop gesehen habe, um beispielsweise Mandarin zu lernen. Und ich spreche von einem vierstündigen Workshop an einem Nachmittag (wie dem von RailsBridge). Die Python war zwei Tage. Aber auch zwei Tage… Können Sie sich vorstellen, dass jemand versucht, innerhalb dieses Zeitraums eine natürliche Sprache effektiv zu unterrichten? Können Sie sich vorstellen, an einem dieser Workshops teilzunehmen, mit der Erwartung, dass Sie nützliche Sprachkenntnisse haben? Dass Sie ein Gespräch führen können, auch wenn es wirklich einfach ist?

Ich kann nicht. Für Chinesisch… das ist mein Bachelor-Abschluss. Ich habe fünf Jahre oder etwas an der Universität gelernt? Und dann bin ich für ein Jahr in China zur Schule gegangen. Als ich von dieser Erfahrung zurückkam, war mein Chinesisch deutlich besser als bei meiner Ankunft, aber nach Einschätzung von niemandem war ich „fließend“ (schriftlich, lesend, sprechend oder hörend).

Ebenso erinnert mich jemand, der mir (der schlecht im Sprachenlernen ist) sagt, ich solle einfach von Ruby zu Python wechseln, an die Klasse, in der ich gelernt habe, wie man Japanisch für Leute lernt, die Chinesisch können. Eine solche Klasse ist nur aufgrund des gemeinsamen Zeichensatzes möglich, aber hier enden die Ähnlichkeiten. Da jede zu einer anderen Sprachgruppe gehört, sind Grammatik, Syntax usw. völlig unterschiedlich. Diese Klasse hat mir fast das Gehirn gebrochen.

Aber das bin ich. Andererseits kenne ich mehrere Polyglotten. In China habe ich jemanden aus Kasachstan kennengelernt, der Kasachisch, Russisch, Französisch, Englisch und Chinesisch sprach (vielleicht mehr, aber das sind die, die ich kenne). Was für mich wirklich beeindruckend war, ist nicht die Anzahl der Sprachen, die er kannte, sondern seine Fähigkeit, den Code zu wechseln. Einmal gingen wir in einer Gruppe spazieren und er führte drei verschiedene Gespräche gleichzeitig und wechselte nahtlos zwischen Mandarin, Französisch und Englisch.

Er wäre ein großartiges Analogon zu einem 10x-Ingenieur. Er ist geschickt und in der Lage, leicht neue Sprachen zu erlernen, in denen er sich genauso gut auskennt. Sicher, während der ’10x-Ingenieur’ wahrscheinlich eher ein Einhorn als alles andere ist, bleibt der Punkt, dass viele technische Dinge darauf ausgerichtet zu sein scheinen sie trotzdem produzieren. Besonders in Bezug auf den Unterricht und wie ich Leute über das Erlernen von Programmiersprachen sprechen höre.

All dies lässt mich am Ende über Anweisungen, undichte Pipelines und technische Vielfalt nachdenken. In vielerlei Hinsicht bin ich ein perfektes Beispiel für die Konvergenz sozioökonomischer Faktoren, die Rohre undicht machen. Aufgrund meines Alters und meiner Interessen hätte ich einer der Typen sein können, die “Ich habe mir selbst beigebracht, wie man als Teenager programmiert, und zwei Jahre am College verbracht und dann abgebrochen, um viel Geld zu verdienen”. Aber ich war arm, trans, schwul, nicht weiß genug, und das Leben störte mich (ich fing an zu lernen, wie man programmiert, als ich zum ersten Mal in der 10. Klasse aus dem Haus geworfen wurde und den Zugang zu a verlor Computer und Internet).

Aber… auch wenn ich viele Jahre später und im Nachhinein meine eigenen Schwierigkeiten beim Spracherwerb kenne, habe ich den Verdacht, dass ich in einer traditionellen Informatikabteilung nicht sehr gut abgeschnitten hätte. Möglicherweise nicht einmal an einem zweijährigen College für ein Diplom. Die Erwartungen und Unterrichtsstile sind meiner Meinung nach nicht für meine (Behinderung) geeignet.

Stellen Sie sich jedoch die Möglichkeiten vor. Wenn sich die Technik mit dem Umfang der Forschung über Spracherwerb und -unterricht befasst. Wenn wir verstehen würden, dass das Erlernen einer Programmiersprache tatsächlich die gleiche Zeit und Aufmerksamkeit erfordert wie das Erlernen einer natürlichen Sprache. Wenn die Leute aufhören, von Schülern, die bestenfalls nur etwa ein Jahr Unterricht für eine bestimmte Sprache hatten, fließend zu erwarten.

Möchten Sie, dass jeder das Codieren lernt? Dann lerne, wie man * alle * unterrichtet.