今更ですが、学習をしています。
何に役立つかと言えば、何もです。
ただ、自分の知識欲を満たして、自分の思う通り動作するソフトウェアを作りたいという、単純な動機です。
大学では、物理を専攻していたことから、最初は、無理矢理、Fortranを学ばせられました。
科学技術計算を目的に開発された言語であり、現在ある様々なプログラミング言語の始祖となる存在です。
しかし、面白くありませんでした。
次に、C言語。
そして、C++。
C++は、時代に応じて様々な拡張をしてきた現在進行形のプログラミング言語です。
ただ、膨大な量に圧倒させられ、簡潔でない文法に嫌気が差しているところに、Javaが生まれました。そして、世に出た当初は、JavaアプレットというWebサイトで動作する「アプリケーションのようなもの」しか作ることは出来ないと思っていました。
しかし、C++から概念として導入された「オブジェクト指向」(それまでは「手続き型指向」)という、「変数データ」と「処理を行うメソッド」を「オブジェクト」として扱うことで、それまでバラバラに管理されていたものが1つになり、とても判りやすくなりました。
しかしながら、この「オブジェクト指向」は、それまで、BASIC等の手続き型言語で開発してきた人にとっては、受け入れがたい壁のようなものがありました。
今でこそ、ネットで「オブジェクト指向とは」で検索すれば、簡単に上述した通りの解説サイトが山ほどあります。
私は、様々なプログラミング言語に興味がありまして、それぞれ、当然のことながら文法が似て非なるものや癖のある記述が存在します。
マシン語、Assembly、BASIC、VB、.NET、C、C++、Java、Ruby、Python、Ruby、Javascript、Perl、PHP、表記ではHTML5、Texなどなど、書籍を購入しては、何かをしたいという強い目的がないため、いつの間にか興味を失い、必要に迫られて学んだ、法律や会計学へと比重を置かざるを得ませんでした。
とにかく、規則的なものが大好きなのです。
エラーが出れば、自分が間違っているという(たまには開発ソフトウェアが包含しているバグもあります)。
とても解りやすいのです。
今は係争もなく、落ち着いていますので、そして、最近知ったのですが、Webサービスとして学習出来るサイトが存在するのです。勿論、開発環境も完備されていますので、開発ソフトウェアを揃えてインストールして環境変数を設定してといった面倒な作業から解放されて、すぐに学習作業に取りかかることが出来ます。
そして、数年前にも全く同じサイトで学んでいたのですが、講義形式である以上、避けて通れないものがあります。それは、「解説者の滑舌の良さ」です。
そこで、どうやら、プロの声優さんへ仕事を依頼されたようで、講義内容は全く同じなのに見違えるほど素晴らしいものへとなったのです。
サービス提供側もボランティアではありませんので、月額料金を徴収するようになりました。当然ですよね。
しかし、数日前、登録メールアドレス宛に、期間限定でJavaの基礎講座が無料開放されていると知って、あと数日で期間は終了してしまいますので、敢えてリンクは貼りません。
つい先日はRubyの基礎講座が無料開放されていまして、それを知ったのが最終日だったので、数時間で突破しました。まぁ、所詮は基礎ですからね。
でも、収穫はありました。それまで疑問に思っていたクラス変数の取扱いが理解出来たのです。これは大きかったです。
後は、書籍で何とかなります。
要は、切っ掛けが大切ですね。
切っ掛けで躓くと、全く理解不能な領域が書籍には存在します。
ネットで調べても同様です。
今回はあと数日あるので、最初は飛ばして、あとは余裕の見直しでもしようかと思います。
そして、発見してしまったのです。そのサービスの演習問題のバグをw
全く同じ結果になるように、何度となく文法を変えて採点しても、エラーが返ってきます。出力結果は提示されているものと全く同じなのです。はぁ。何だかなぁと思いつつ、後味が悪いですが、先のチャプターへと飛ばしました。
今回も書籍だけで躓いている理解不能な部分をなくしたいです。
後は、所持している書籍なり、ネットの情報なり、好きに学べるのです。