用語の理解をあやふやにしない。
高木です。こんばんは。
以前にも書いたかもしれませんが、今月から新人が入社したということもあり、社内で勉強会をやることになっています。
さしあたってはプログラミング言語を中心にする予定です。
今回の新人は実務経験こそ乏しいものの、独学&趣味で結構プログラミングをやっていたこともあり、入門書レベルの内容はもう卒業です。
なので、最初から突っ込んだ内容にしようと考えています。
本人の希望と会社の業務内容から、扱うプログラミング言語はCとC++を考えています。
両者を比較しながら、知っていることと知らないこと、理解していることと理解していないことを明確にしていくことから始めます。
この過程で、用語の理解があやふやになっているものがないかチェックします。
もしあれば、この機会にしっかり理解できるようにしたいと思います。
具体的な事例を挙げましょう。
C(C++もそうですが)の型変換はいくつかのパターンがあり、その中には専用の用語が定義されているものがあります。
たとえば、汎整数拡張(C99以降は整数拡張)、通常の算術型変換、既定の実引数拡張などです。
それらをあやふやにしたまま、例えば「暗黙の型変換」として覚えてしまっていると、いろいろ不都合が起きることがあります。
「暗黙の型変換」というのはより広義の概念です。
先ほど挙げた汎整数拡張、通常の算術型変換、既定の実引数拡張はすべて「暗黙の型変換」です。
配列や関数指示子がポインタになるのも「暗黙の型変換」です。
ほかにも「暗黙の型変換」にはいろいろなものがありますし、それぞれルールが異なります。
まったくの初学者ならともかく、ある程度自分で思うようにプログラミングができるようになったなら、この辺りの知識はしっかりと身につけておくべきです。
そんなに難しい話ではないので、やるかやらないかだけだと思います。
わずかな努力を怠れば、のちのちまで理解があやふやな状態が続きます。
細かい話になるけれど、しっかり用語の定義を理解しておけば、霧が晴れたようにすっきりしますよ。