Murga

個人的に言いたいコト・主張・気持ち。

Objective-C のヘッダファイルって何で要るの?を調べてみた

最近 iOS アプリを開発していて、普段書くのは Swift だが、Objective-C のコードを読むことも多い。

そんな中、Objective-C は拡張子 .h のヘッダファイルと、.m のメインファイル (実装ファイル) を作らされることが解せず、何でこんなモノが要るのか調べてみた。

.h.m というファイルは C 言語の「プロトタイプ宣言」という仕組みの名残らしい。例えば、main 関数から他のメソッドを呼ぶ時、そのメソッドの宣言が main 関数より後にかかれていると、プログラムは「そんな関数ないよ」と困ってしまう。そこで、ヘッダファイルでその関数の存在を知らせておくことで、main 関数の前後どちらに対象のメソッド書いたとしても解釈できるようにする、という仕組みのようだ。

今ほどリソースが潤沢ではない時代に考えられた仕組みなので、ヘッダファイルは別ファイルに切り出されていて、その仕組みがそのまま残っているから、というのが理由なようだ。

詳解 Objective-C 2.0 第3版

詳解 Objective-C 2.0 第3版

入力スピードが遅い人は学習スピードも遅い

物覚えが悪く、指示を正しく聞けず、どうしようもないミスを何度も繰り返す後輩を何人も見てきて、ある共通点に気が付いた。

彼らはブラインドタッチで文章を入力できなかった。入社したての1年目ではなく、2年目・3年目、下手すると4年目の人間でも、「こいつバカだな~」と思った周りの後輩は皆ブラインドタッチができなかった。

タッチタイピングができないことによるデメリット・損失

彼らは薬指や小指が使えず、人差し指と中指ぐらいまででキーを入力する。当然ホームポジションから両手が離れ、キーボードの刻印を見ながらでないとタイプできない。

先にキーボードの刻印を確認しようとしてディスプレイから目をそらすため、「テキストエリアにフォーカスしていないのにタイプしていた」とか「半角モードになっていないのに気付かず打ち続けていた」とかいうしょうもない時間の浪費が発生する。

「キーボードで文字を入力すること」自体に相当な意識と注意力が奪われているので、人の指示を聞きながら作業している時も「タイピングに必死で聞いていない」とか「打つことしか考えていなくて、何をやっているのか分かっていない」といったことが起こる。

こうしたことから、「タッチタイピングができないこと」が、学習スピードや生産性に影響を及ぼすのは明らかだろう。

タッチタイピングができる人とは、こんな差が出る

パソコンを使って仕事をする以上、タッチタイピングは「箸の持ち方」「鉛筆の持ち方」レベルの話であり、そんなことは当たり前に出来てから、その先の効率化や生産性向上といった話をしなくてはならない。

タッチタイピングが当たり前にできるレベルになっていれば、ディスプレイを見ながらタイプするから、入力結果の誤りにもすぐ気が付くし、指示内容の意図を考えながら無意識にタイプできたりする。同じことをやりながらも、意識が「入力すること」ではなく「入力した内容をどう活かすか」といったその先のことを考えられる。

当然、タッチタイピングができちれば、2本指・3本指で打つより入力速度も速い。本質的に「このデータを入力して」といった単純作業の指示は割と多かったりするから、速く・正確に入力できればできるほど、生産性は高い。それも、「たかがタッチタイピングごとき」のことで、出来る人と出来ない人とでは差が生まれるのだ。

まずはタッチタイピングの特訓から

タッチタイピングができないようなヤツは、新人だろうと何だろうと、SE もプログラマも名乗らないでほしい。箸も正しく持てない未熟児と同じだ。まずはタッチタイピングを特訓しよう。「SE の基礎」「プログラミングの基礎」といった話は、それからだ。

特打ヒーローズ 名探偵コナン(最新)|Win対応

特打ヒーローズ 名探偵コナン(最新)|Win対応