(37) プログラミング学習の愚痴+α

サムネイル

( ‘e’ )<入門書から先に進めなかった独学の素人が抱えている愚痴など。
(3年前の関連記事:【供養】作りたかったソフトウェアとアイデア

1. 作り方がわからない

ソフトやアプリ、ツールを作ることが目的で、プログラミングの基礎や言語の習得は手段だと認識している。
だけども、プログラミングの学習環境は良く言えば「充実」、悪く言えば「飽和」していると思う。

世の中にGUIのソフトやツールは存在するのに、作り方がさっぱりわからないのが不満

基礎部分から離れると一気に情報がなくなる。インターネットというものがありながら。
「ソフト開発」というワードで検索すると会社や社員向けの話になりがちで、素人の自分が求めるものとはかけ離れている。

最近になってYoutubeで調べるという発想に至ったものの、ググってもググっても解決できずに10年経ったことが尾を引いている。
(10年前にはVisual Studio(VSCodeではない)にすがったものの、結局外見しか作れなかった。)

2. 実例が知りたい

構文を覚えたくないワケではないが、「どのように関数を組み合わせて処理をしているのか(アルゴリズム)」とか「学んだ構文の使い道」を先に知りたいと思う。
中途半端に経験しているから、入門書で構文を覚えるのも退屈で、「それで何ができるのか」を求めるようになった

ゲームの内部でどういった処理を行われているのか、発売から20年、30年経っても知ることはできない。
サンプルを使った学習を積み重ねて考察できるようになるしかないんだろう。
(企業に入るのは非現実的。)

言語の学習では逆引きの書籍が役に立ちそうだと思っているが、まだ購入していない。
(「逆引き」で検索するとPythonの書籍が主に表示されるが、他の言語学習ではメジャーではないのだろうか。)

今なら「GitHubを見ろ」と言われるんだろう。
学べそうなプロジェクトを見つけられれば、やぶさかではないのだけど。
(軒並み英語なのと、日本人の開発者を探すのが難しい。また、彼らはコードを読めるからいちいちフローチャートやアルゴリズムを載せていないのが壁。)

3. プログラマーの思考が知りたい

例えばオブジェクト指向について。
「開発にそれを採用するかどうか」を「どのように考えているか」を知りたい。

基礎部分のように調べればヒットする表面的なものではなく、プログラマーが「なぜそうしたのか」という経験や判断材料が語られる機会が少ないと思った

4. 不透明な道のりが不安

実力もないし、自信もないし、責任を負う度胸もない。
クラウドソーシングやらフリーランスやら、通用するレベルがどんなものかわからないし、そこまで上達するのにかかる時間もわからない。
今日まで10年以上の時間を失って、自分のやりたいことが叶えられずに生きていたくはない

迷惑をかけないようにタダで細々と成果を発信するくらいしか選択肢がない。

4.1. 「稼ぐ」という衝動がない

技術だけでなく精神的な話。

自覚しているのは、「なりたいものはあるが、同時になれると思ったことはない」ということ。
自信がないし、現実も甘くない。
自分よりすごい人なんていくらでもいるんだから、採用されるわけがない。

プログラミングを上達したい気持ちはあっても、仕事にできる気がまったくしない。
「エンジニアになりたい」という気持ちがない。

作りたいもの/できるようになりたい理由

作りたいものはあるが、完成する保証がない。作り方がわからない。時間を無駄にするのが怖い。

作りたい物に向かって一直線に行けないことを自覚しているから、プログラミングの学習にもっと良い方法はないのか探している。

作りたい物が明確でなくても技術・スキルはほしい。
というのは、出来なくて困るよりも出来たほうが良いし、
新作ゲームのダメージ計算シミュレーターや、ウマ娘の相性表のようなツールを「作りたくなってから学ぶ」より、スキルがあってすぐに実現できる方が自分のためにも他者のためにもなるから

プログラミング言語を学ぶなら…

最初に学習する言語を選ぶなら、Pythonにしたい。
(大学で最初に触ったのがPythonだったし、言語の将来性に期待もしていた。きっかけが違えば他の言語に愛着があっただろう。)

その後はJavaScriptでもPHPでもRubyでもPerlでもいい。
でもまずはPythonで、そして完成までの流れを学びたい。
本番のように要件や仕様を決めて、実用的で一つの完成したプログラムの作り方を学ぶこと。
それが現状の目標。

できることなら、「作りたいと思ったものを作れる人」になりたい。
素人状態の今のように、何からやり直せばいいかわからないような時間を過ごしたくない。

あとがき

完璧主義をやめる状況が整いつつあるのか、地に足を着けて取り組むことを受け入れられるようになった自覚がある。
(というか、これ以上虚しい人生を送りたくないだけなのかもしれない。)

だからちゃんとプログラミングを学んで、これまで行けなかった先の景色が見たい。