見出し画像

言語なんて何でも一緒

野蛮なプログラミング第7回、今日は前フリの終わりというか、プロローグの最終回です。次回からは、具体的なプログラミングと、そのコード解説に入っていく予定。そのコードの詳細は有料にしようと思ってますが、小ネタとか諸々は、無料部分で続けますから、それだけでもお得な筈です。 

【前回】

◆今日の必須ワード

「grep」「コメントアウト」「保守性」

◆今日の進捗

というわけで、前回ちょっと紹介した、本体プログラムから、さらに色々呼べて、かつ、WindowsAPIをコード出来るところまで行きました。

◆今日のIT小ネタ:コメントアウトの方法

例えば、JAVAのソース上で、コメント行はどう書くか。

行01:abc
行02:xyz
行03:123

このソースを修正して、下記のようにするとします。JAVAの例(「//」以降のその行はコメント、複数行にまたがる場合は「/*」~「*/」がコメント扱い)。

/* 行01:abc
行02:xyz
行03:123 */
行01':abd
行02':vyz
行03':124

まず、ひとつ目のポイントとしては、上記のように旧状態の「行01~ 行03」は削除せず、コメントアウトして残しておくという事が、多くの現場で求められます。わざわざ求められなくとも、そうしましょう。が、上記のコメントアウトの仕方は、お勧めできません。

// 行01:abc
// 行02:xyz
// 行03:123
行01':abd
行02':vyz
行03':124

こっちの方がお勧め。というか、こうすべき。何故か。現場で何かの仕様変更等が発生し、影響範囲調査として、過去資産を「grep(複数のソースをまたがる検索)」する事って実に多いわけです。で「grep」結果を残しておいて上長なり、同僚なりのWチェックを受ける。この時、問題になるのが「 行02」。上のコメントアウトのやり方だと、「grep」結果は検索に引っ掛かった行しか見えませんから、「行02」は生きている行に見えてしまう。勿論、実際のソースを参照すれば、ああコメントアウトされているんだなという事は分かるわけですが。

下のように、各行をコメントアウトする事をお勧めします。こういうちょっとした事が「保守性」を高める工夫です。現場で求められるのは、イチ作業者が、こういう工夫を出来るかどうか。つまり、貴方が出来る奴と思われたいなら、そういう事をいつも考えましょうという話。

◆今日の本題:言語なんて何でも一緒

さて本題。タイトル通りです。そう言える境地を目指しましょう。私JAVAしか組めませんとか言わない事。そんな奴はいらないと言われて終わりです。

IT技術者、プログラマーに求められる、一番大切なスキルとは「新しい技術に対応できる能力」です。今までも、そしてこれからも、新しい言語や技術は、どんどん出てきます。それを、サクっと自分で調べて理解し対応する。そこを嫌がらない。自分なりのノウハウを蓄積する。それが、一番大切。

この道で生きていこうと思うなら、一生勉強を継続です。そこに終わりはありません。勉強を続けられる事自体がスキルなんです。

勿論、プログラミング言語には、それぞれ特徴があります。コンパイル(という言い方はあまりしなくなりました、何でもかんでもビルドと言われちゃう事が多い)が必要なのか、インタープリターなのか(という言い方もしなくなりました、スクリプトという言い方で大体通ってしまう)から、始まって、どういう処理が得意で何が苦手かは、言語によって異なっています。

それでも「いやー言語なんて何でも一緒ですから」と笑顔で言いながら、初めての言語でも、サクっと組んでみせましょう。

◆今日のロードマップ

2本のCSVファイルを読み込んで、マッチングするというプログラムをWindowsAPIで作っていこうと思います。これアルゴリズムを鍛える基本例題です。

どの言語で? いや全部です。つまり上記で書いた「Hello World」を出せた環境すべてで、WindowsAPIを使って同じ事をやる。

全部が同じコードになる筈なんです。どの言語でも。同じWindowsAPIですから。ここまでが「工程その1」。

続いて、そのWindowsAPIで書いた機能を、それぞれの言語ネイティブな関数だったり命令だったりに書き換えていこうと思います。そうする事で、それぞれの言語の特徴がみえてきます。これが「工程その2」。

果たしてそんな事が出来るのか! 絶対出来る。多分出来ると思う。出来るんじゃないかな。まっちょっと覚悟はしておけ。

【次回】




サポートよろしく!