プログラミングというオアシス
今月のわたくし
今月もギリギリの投稿準備をしていますが、今日は歌川国芳の蛸が絡まる作品を表紙に持ってきました。今日のテーマになんとなくイメージが繋がる感じがしたのですが、今日はプログラミングのお話なのに、はてさて。
同時にむかーし昔、お仕事をサポートしていただいていた年配の紳士が「ヨーコ先生のスカートになんとかしがみついてついていきたい」って冗談混じりに言っていたことをチラリと思い出したりしました。彼はタコの如く逃げ足早かったです、笑
講座のために大阪に滞在したり、本当にめまぐるしい時間でしたが無事に認定講師になることができました。
大阪にいる間にお友達であるお姉さんにハッパかけていただき、運動をはじめました。体力がなかったらやりたいことができない!という気持ちで体力作りと仕事を精一杯努めています。
注:今から書くプログラミングのお話は、万年入門者によるものですので、プログラミングをお仕事にしていらっしゃる方のご苦労やわたしの計り知れない問題については一切触れることなく、入り口にすら立っていないような初心者が感じる「美しさ」と「憧憬」ですのでプロフェッショナルの方がお読みになって「何を言ってるのだ」と思われたらごめんなさい。でもそう見えてるんですってことでご笑覧くださいませね。
あぁ、Python
はじめて、Choimiraiスクールでプログラミングの勉強を始めたのは一体何年前のことでしょう・・・。まだAIはテレビドラマの中で観る世界線だった頃の話です。一応全部やり通したのですが、概念的な理解はできても自分でプログラミングするというには程遠い世界線。
でも「退屈なことは全部Pythonにやらせよう!」
という本を手に取って、Pythonという名前の由来やそこに出てくるモンティ・パイソンのコントネタの話なども目にすることで斜め下からPythonを眺め出した最初の頃でした。
そもそも40代後半の文系しか歩いたことがないわたくしにとって、プログラミングってずっと眺めている美しい山みたいな、登ることはないだろうと思っていた山だったのです。
多分、Choimiraiでサンミンさんに英語やRoamResearch、Logseqを教えてもらわなかったら、この山が自分に登れると思う日は決してこなかったと思います。
とはいえ、翻訳業で培った検索能力?と割とロジカルな思考を持ち合わせているおかげで、自分でサーバーを構築してワードプレスでホームページを作っていたりしたおかげで、プログラミング言語のロジカルな思考については自分なりに理解しているつもりでした。
数学者の人たちが言う「美しい数式」と言う表現と繋がる「美しい言語」で書かれたプログラミングを今も昔もわたしはほとんど理解できないのですが、彼らが讃える「数式やコードの美しさ」の意味は自分なりにイメージで理解していました。
ですが、数学で扱う数式ではなく、「プログラミング言語」そうです、言語なのです。言語というのはコミュニケーションツール、わたしがフィールドとしてきた世界だったりします。
誰かと繋がるための言語。
言語はわたしが長く接していたフィールド、しかもこのプログラミング言語は世界のある地域に住む何千万人かにだけ通じるのとは全く違う、世界中の誰とでもこの言語を通じてコミュニケーションがとれる言語です。
「自分で書けるようになったら世界が広がるよ」という言葉に背中を押されて「できるんかいな」という気持ちも抱えながらその門を叩きました。
ハーバードのオンラインクラスの次は100日でPythonできるよというクラス。毎日やったら3ヶ月ちょっとのはず。ですが、日々のあれやこれやに埋没するうちに全然毎日なんてできない、言語を学ぶのはとにかく毎日やることなのに、やらないので久しぶりに開けては「えーと、これなんだっけ」って感じ(これはいまだにそう)なのですよね、これではできるようになるわけがない。
そしてこのPythonのクラスは宿題がだんだん難しくなります。この宿題をこなせないと勉強した気にならないので結局忘れては最初からやり直し(だって覚えられないから)を何回もやって20日ぐらいまでは3回ぐらいやって、いまだに100日到達できていないのです、お恥ずかしい話。
そんなわたしに救世主が
そんなわたしにちょっとだけコードを書く作業が身近になったのはやっぱりAIの登場のおかげ。100日でPythonできるようになるクラスにはAIに質問できる機能を実装していたので、
「こうやってやってコードも聞いたら書いてくれるんですよね」
「エラーはどこが間違っているかも教えてくれます」
と、デモンストレーションしてもらった時の驚きを今でも覚えてます。
どうせなら、AIさんとPython勉強して、サラサラとコードを書く能力を身につけたいのだけれど、Pythonの勉強が後回しになりがち。
その結果、手っ取り早くやってしまいがちなこと、それは、最初の頃に覚えたAIとのやり取りのひとつ、「コード書いてもらうこと」。
カンニングよろしく、AIさんにリクエストしてコードを書いてもらって、実行するのはわたし。
ターミナルを開けてコピーしたものをペーストするだけの簡単なお仕事、なのです。
もちろん、AIさんに頼んでいるとはいえ、エラーは出ます。エラーが出るたびエラーメッセージをコピーしてはAIさんにどこが悪いかを確認して修正するわけです。もちろん、最初に書いたような美しいコードの世界とはまったく似ても似つかない、程遠い世界です。
それでも、楽しい
エラーが出たら「何が悪いん?」などと言いながらじーっとコードを眺めます。何をしたかったのかを考えたり、解らなかったら、これは何をしたいのと聞いたりしてトライアンドエラーを繰り返し続けます。
でもそれを続けていると、そのひっかかっていたところが外れて、急にサーっと実行されていくのです。
その瞬間こそが、カタルシスです。自分の中に滞っていた何かが、ざーっとたくさんの文字列と一緒に流れていく感じがします。
そのうまくいかない理由がほんの小さなスペースのずれだったり、行の頭が合っていないっていう理由だったりもするんです。たとえばこんな風に。
print("Hello, World)
解決方法:
print("Hello, World")
このエラーは、文字列を囲む閉じカッコ `")"` が欠けているために発生します。正しいコードでは、開きカッコと閉じカッコが対になっている必要があります。
それがわからないと、ずーっと通らない。でもそれさえ理解すればもう2度とその問題は起こらない。そんなシンプルで絶対的なルールに魅了されたりしています。
原因と結果に理由がある世界。
今の社会や世の中には、プログラミングの世界のように何かを順番に正しく積み上げて行っても「それって個人の感想ですよね」みたいなことでひっくり返されたり、「忖度しろよ」って言われたりしがちな、やたら美しくない部分も目につく社会だなと思うんです。そんな世界にあってプログラミングの世界ってそういうことが限りなく少ない世界なんじゃないかな、って感じていて。
理不尽さとは無縁の世界を自分の中に持っておける、論理を積み重ねていくことでゴールにきちんと辿り着くことができる世界っていうのがプログラミングの良いところだと万年ビギナーのくせに思っています。
Hello, World
先ほどのエラーの例でも出しましたが、
Pythonの勉強を始めた人がまず最初に書くコード。
世界中とコミュニケーションする扉を君も開いたんだよ、そういう気持ちが込められているような気がして何度入門をしても(笑)ここで胸が熱くなります。
そして、ただAIに教えてもらったコードを書いたり、書き直したり調整しているだけなのに、心身がなんだか穏やかに落ち着いてくる感じがあるのはある種の写経効果というか不思議な感覚。
時間制約がなかったらもっとずっとやっていたいのに、と思ってしまう。
もっと前に知っていたら、自分の人生はもっと違う人生にシフトしていたろうと思うけれど、今この美しいと新たに感じるものに少しでも触れる機会を得ているだけでもピュア・文系のわたしにしては御の字と言えるのかもしれない。
世の中のオアシス
だから小学校で、プログラミングの授業が始まったっていう話を聞いて、子供の時に、合理的な世界というエスケープルームがあるってなんて素敵なんだろうって思ったんですよね。
合理的で論理的なものって文句なく美しい。自分で作ったプログラムは自らの手で構築した秩序であり、価値観の表出。
それが世界の文化や政治、すべてを乗り越えて自らを表現する手立てになるなんてなんて素晴らしいんだろう。
この世界という混沌の砂漠の海に浮かぶ、整合性のある美しい秩序で作り上げられた世界につながるポータルを備えたオアシスのように感じられる。
だからきっと万年初心者であったとしても、学び続けるだろうし、美しいコードの一端を理解したり(自分で書きたいとは言わないけど)、少なくとも世界中の年齢も住む場所も環境も全く違う人々と通じあえる「ツール」の使い方をAIで多少ズルさせてもらいながらでも、学び続けて理解を深めていきたい。あわよくば、それで世界中の人とコミュニケートできる、なんて日が来たら生きててよかったなというつもりで。
だからあなたももし、世の中の不条理に疲れているのなら簡単なコードを書いてみたらどうかな、と思う。わたし以上にその合理的で整合性のある在り方に心が休まるかもしれないから。
この記事が気に入ったらサポートをしてみませんか?