新しい言語でプログラミングをやってみる
わく☆すた,美月です。
最近,久しぶりに開発してます。PHP&MySQLでWebシステム作ってますが,なにげに苦戦してました。といっても,日本語変換がうまくいかない部分にひっかかってただけですが。うまく動き出すと楽しくって,いろいろ学ぶのが面白くなります。私は,プログラミングが大好きなので,プログラム作ってる間は幸せです。
今回,PHPでのシステムは初めてだったので,いろいろ本で調べながらやってました。そこで,意外と役だったのが,「Head First PHP & MySQL ―頭とからだで覚えるWebアプリケーション開発の基本」でした。
プログラミング言語って,共通の部分も多いので,1つ知っていれば結構応用はききます。でも,それで「他の言語もOK」だと思ってしまうと,思わぬところで落とし穴があったりします。新しい言語をやるときには,軽くでいいので,ひととおり本などで勉強すると,後がスムーズです。
そこで,「Head First PHP & MySQL ―頭とからだで覚えるWebアプリケーション開発の基本」を使って学習してたのですが,順を追ってプログラミングしながらやっていくと,すごくスムーズに頭に入ります。
単純に言語の解説だけじゃなくって,「この仕組みだと何がいいのか」とか,「サーバーとクライアントとのやりとりの仕方」など,原理的なところも詳しく書いてあります。なんといっても,入門書なのにちゃんと「Webアプリケーションのセキュリティ」について詳しく触れられているところが素晴らしいです。この本読んだら,SQLインジェクションの仕組みがよくわかりますし,Webアプリケーションセキュリティの基礎としてもいい感じです。
改めて,PHPでプログラミングしてみると,よくセキュリティの専門家の友人が,「PHPは危ない」と言っていた感覚はよくわかります。気をつけてセキュリティを意識したプログラミングをしないと,確かに危ない感じではあります。実際にプログラミングすることで,感覚的に理解すると言うこともあるのだと思います。
プログラミングが嫌いなら,無理にやる必要はないかな,とは思っていますが,一度やってみると,感覚的に理解できて,勉強は格段にやりやすくなると思います。
応用情報技術者試験のアルゴリズムは,プログラムを組んでみるのが正攻法で,結果的にはそれが一番近道のような気がします。情報セキュリティスペシャリストの人も,セキュリティを意識したプログラミングは,問題を解く上でとても役立ちます。ネットワークスペシャリストだったら,Webアプリケーションを1つ作ってみると,ネットワークの上の階層(アプリケーション層~トランスポート層)あたりの理解が深まると思います。
このとき,自分の知ってる言語じゃなくって,新しい言語でやると,視点が変わって得られるものが大きいです。
時間がかかることなので,無理にやることではないですが,時間に余裕があったり,仕事で使う機会があるのでしたら,自分の器を広げるためにも,新しい言語でのプログラミング,おすすめです。