趣味でプログラミングを勉強したけれど面白くなくて挫折したとか、作り方がわからないから挫折したとかいう人をたまに見ます。
真っ黒い画面に文字が表示されても楽しくないですよね。
「オンラインゲームで○×△□みたいなアプリを作りたい」と検索してもクックパッドじゃ無いんだから当然知識0から作るレシピなんて出て来ません。
僕がプログラミングを始めたキッカケは知り合いの事務所に遊びに行っている時に「こういうソフトあったらいいのに作ってもらったら高いんだよなー」という愚痴?を聞いたのが始まりでした。
簡単な在庫整理のアプリだったので「エクセルでできるんじゃないですか?」って提案したら「いやいや、エクセルって変なとこ触っちゃったらグチャグチャになるんだよねー」って言われたので「HTMLだったら出来るかもしれないですよ、一回出来るか試してみます」ってよく知りもせず安易に引き受け?てしまったのです。
当然ダメでした。単純なHTMLでは入力したデータを保管するなんて無理でした。
そこでMacで開発出来てWindowsでも動くGUIアプリの作り方をググっていくとマルチプラットフォームというとても魅力的なJava言語に出逢いました。
そして僕は調べて行くうちに何故か「Javaは初心者向けの簡易言語」だと勘違いしてしまったのでした。
実はこの大いなる勘違いが後に凄く大事な役割をしてくれました。
「これが解らないと他の言語なんて当然出来ないんだ」と思い込んでいたので「解らない訳が無い!」と自分に言い聞かせることが出来たのです。
HelloWorldにしても「なるほど、コンパイルして実行するだけで動くなんて簡単なんだ。」と思い込んでしまいました。
当然スクリプト言語なんてこの当時は知りません。(苦笑)。
とにかくWindowsで動くGUIアプリを目指してWindowを生成する方法だとかボタンを作ったりテキストを入力したりと「こういうアプリ」という具体的な目標を達成するだけに的を絞って方法をひたすら検索して作り上げました。
当然Javaの基本もクラスの作り方も全く知りません。周りに聞ける人もいません。
enumやinterfaceやjavadocなんて全く聞いた事も無い状態です。
だけど「とりあえず動く」というアプリを作って実際に運用してもらうことに成功しました。嬉しかったです。
後になってもっとキレイに書けるプログラミング方法や便利な方法を知り、ただただ恥ずかしい黒歴史プログラムになってしまいましたが現在も元気に稼働中です。作り直す提案もしましたが「動いてるからこのままで良い」と言われたので作り直していません。
メンテナンスとか深く考えず「とりあえず動く」というプログラムなら別にプロじゃなくても作れちゃうんですよね。むしろ利用者側からしたら内部がどうなってようがエラー無く動いていたら問題無いんです。
「足し算で10を出す計算式を書きなさい」という問題があったとして、仮に1+1しか出来なくても結果を10にする計算式は書けるというのと同じです。
なのでこれから趣味でプログラミングを始めようかと思っている人には
「書き方とかそんなに難しく考えなくても良い。」
とアドバイスしておきます。あくまで”趣味なら”ということですけどね。
そしてJavaは簡易言語ではありません。
合わせて読んでみてください。