プロジェクトを進める中で、エンジニアから「これは無理です」と拒否されてしまうケースがあります。原因は、発注者側の“無茶ぶりオーダー”。プロジェクトの進行を遅らせ、エンジニアのモチベーション低下させるオーダーは避けたいもの。今回は、発注者側の典型的な無茶ぶりオーダーとその背景、そしてそうした事態を避けるためのアドバイスです。

プログラミング言語が、人間とコンピュータを橋渡しする

コンピュータは、電気で動く機械です。電気で動く機械は、電気がついているか、ついていないかしか検知できません。つまりコンピュータは、1(オン)か0(オフ)だけが存在する、二進法の世界で生きています。よって、コンピュータに指示を与えるときは、二進法の電気信号を送る必要があります。

では、あなたが二進法でコンピュータに話しかけるところを想像してみてください。かなり単純化した例ですが、仮に「あ」を00、「い」を01、「う」を10、「え」を11、「お」を100……と表現してみると、「あいうえお」と言うだけでも、「00011011100」となってしまいます。私たち人間が0と1の羅列を自分で書いてコンピュータに伝えるのは、ほとんど不可能です。

0と1だけでは理解できない人間と、0と1でしか理解できないコンピュータの橋渡しをするために作られたのが、プログラミング言語です。一定のルールに従って指令を入力すると、コンパイラやインタープリタという特殊なプログラムがこの指令を0と1からできた言葉(機械語)に翻訳し、コンピュータに指令が伝わる――これが、プログラミング言語の仕組みです。

プログラミング言語は、人間が話す自然な言葉からはまだかけ離れていますが、0と1の羅列よりは人間が使いやすい言葉になっていることは、間違いありません。