こないだのお話の続きなんですが、プログラミング教室に通っていた経験から自分の意見を少々。
そういえば過去の経験談を話すのは今回が初めてでしょうかね。
自分は正直、プログラミングを習得すればIT関連の知識を網羅的に取り込めると思ってました。
というか多くの人がプログラミングスキルのある人間=IT知識なんでも知ってるという認識があると思います。
実態は「やりたいこと・実装したい機能を己の手で公式ドキュメントを検索して調べる。」という姿勢が基本なようです。
ドキュメントとはプログラミングをつくったコミュニティ・企業が機能を網羅した文書なんですが、これがどれから手をつけたらいいかわからない代物なのです。
試しにjavaのAPIドキュメントというのをみてほしいんですけど、
(参照:Java公式APIドキュメントページ)
階層構造は深部にいくほど、モジュール>パッケージ>クラス名・メソッド名という風になって行きます。
java上の専門用語の意味はここではおいておくんですけど、モジュールだけでもうんざりするんですけど、パッケージで更なる量の種類を見せられるわけです。
よくハッカーが淀みなくプログラムのソースコードを書き上げるシーンなんかがあるんですけど、その場で即興で組み上げるのは嘘も嘘ですね。
さっきも言ったように、何を実装したいかという目標をベースに調べながらやるのが普通らしいです。
ここまでくるとさすがの自分でも「必要になりそうな情報群とそうならなそうな情報群とを分ける作業をするための下支えとなる知識」が必要になってきそうなのは何となくわかってきます。
八年前くらいになるのか、ピアノを習っていたもののコード理論のあれこれをしっかりやってこなかったなと思って本来ならダイアトニックコードという下地を基にどのコード(和音)を選択するかっていう部分を重要視するのを完璧に頭に入っておらず、さらに基本の三和音・四和音の+αであるテンションコードというものも一緒くたにした上でド〜シの十二の音程のコードを網羅しようとしたことがありました。
それで挫折した後、また気まぐれでコード理論をyoutubeで学んでみようとした時しっかりとダイアトニックコードの下地も逃げずにやった結果、嘘のようにすんなり理解できてしまいました。
今の自分にはこのダイアトニックのように情報の取捨選択をしやすくなる下支えがないような状態なのです。
コロナ禍でプログラミング方面の授業をしっかりやりきる前に卒業することになりまして、補強するには自分でその続きをやらねばならないのです。
話しながら思い出したんですけど、学校言ってた時のプログラミングの授業の時に「プログラミングにおいて、本を買わずとも公式のドキュメントさえ読めれば大丈夫」という担当教諭の人の言葉を思い出しました。
お世話になった人ではあるんだけどもこの言葉に関しては間違ってるとは言わずとも、指針を立てながらゴールを目指すのが苦手な発達障害とかなり食い合わせが悪いのではないかと今では思いつつあります。
さきほどjavaと言いましたが、他にもPythonと色々なプログラミング言語があって、それならば様々なプログラミング言語に共通の処理に関するソースコードの雛形みたいなのがないかと調べてみたことがあります。
そしてヒイコラ検索した結果「イディオム」あるいは「デザインパターン」という単語を発見しました。
ですが、こちらも単語を特定したその先にいけず仕舞いなのです。
というかイディオムとデザインパターンを取り扱ったトピックがあんまり見つかりませんでした。
あるいは公式ドキュメントをすらすら読めるための前段階として不適という可能性もあります。
考えたら頭痛くなってきました。
ちなみにこれがクリアできたとしても、プログラミングにはフレームワークという更に上の段階があったりします。これにも基になるプログラミング言語自体の向き不向きとは別の向き不向きを自分で精査しなくてはなりません。
プログラミングを学んだ時これらの課題があるとは思わなかったためか、血色がよくなったといわれたこともあるました。上手くやれればこんな自分でも社会にコミットメントできる道があるかもしれないと、裏があるとも知らずにカルト宗教にのめりこむかのように信じれていたからかもしれません。
その信仰心の仲立ちである宗教という牙城が崩れれば何があるかは言うまでもないと思います。
結局自分は社会の歯車になるのでさえも、そうなるためにある種の能動さが必要になってくることだけを学んで終わってしまった感じがあります。
正直発達障害だのASD・ADHDにプログラマーは向いてるという言説を吹聴した人間に一発殴りたいレベルです。
いやもしかしたらやりこめば向いてるのがわかるかもしれません。
ただやりきれたらやりきれたで自力で及第点までいけたらそれはもう発達障害をものともしない生き方を最初からできるんじゃないかしらと思います。
そうそう最後にこれにも言及しなきゃなんですけど、ITを勉強する上で「IT戦略とマネジメント」という教科書が自分の場合あったんですけど、これが想像以上に知識のウェイトを占めることになります。
ABC分析がどうたらプロジェクトの形態がどうたらとか結構経済やストラテジの話も載ってました。
多分世間でイメージされる十何倍商業や社会にかかわるアレコレを叩き込まれます。
あれ振り返るとますます発達障害にプログラマー向いてるとか言いだしたの誰だよと思います。