エンジニアの方に質問です。
過去に、プロジェクトの担当ディレクターの方がプログラミング用語の理解度が低く、色々と気を使いながら、噛み砕きながら説明したという経験ってありませんか?

如何なるプロジェクトであろうとも、携わるメンバーが専門用語を理解しているといないとでは、プロジェクト進捗・完成度に大きな差が生じてしまいます。理由は単純で、理解していればスムーズにコミュニケーションとれ、仕事もはかどるからに他なりません。
でも、ディレクターの方からすれば、「一長一短に学べるものでもないですし、専門分野ではないプログラミングについて学習するのはハードルが高い」という声が聞こえてきそうです。

そこで、今回はエンジニアの方がディレクターに最低限知ってほしいプログラミング用語を厳選しました。きっと今よりスムーズに業務が進むはずです。ぜひご覧ください。

ディレクターがプログラミング用語を知るメリットとは?

仕事に限らず、人と人がコミュニケーションを図る際、大切なことの一つに共通の話題を持つことが挙げられます。これはWeb制作の現場においても一緒です。ディレクターとエンジニアの双方が、”共通の話題”としてプログラミング用語を自然と使えるようになれば、互いの意思疎通がよりスムーズになります。

例えば、エンジニアがディレクターに「Aの部分、コードが不味かったので、変更してコミットしますか?」と伝えたとします。しかし、ディレクターは「コミット」という用語を理解していなかったため、その時点でこの会話が成立することがありません。
ただ、仮にディレクターがプログラミング用語を理解していたとします。すると、「変更はいいけど、コミットの前にチェックしたいから変更したらリクエストして」という小気味良い会話が生まれるわけです。

このように、ディレクターがプログラミング用語を知ることは、エンジニアとの意思疎通をスムーズにし、プロジェクトを円滑に進めるのに必要不可欠な要素だということが見えてきます。

エンジニアが語る!ディレクターに知ってほしいプログラミング用語

実際、エンジニアの方がプロジェクトを進めていく上で、最低限ディレクターの方に知っていてほしいプログラミング用語を厳選しました。より円滑なコミュニケーションを生み出すためには重要なエッセンスです。
ディレクターの方、はたして、あなたはいくつの用語を理解できてますでしょうか。

1. サーバーサイドとクライアントサイド

Webサーバーを「サーバー側」もしくは「クライアント側」のどちらに設けているのかを示している用語です。文字どおり、サーバーサイドは、サーバー側でアププログラムの実行やデータ管理を行うことで、反対にクライアントサイドは、サーバーではなく、利用者のPC(ブラウザ)上で行うことを指します。

2. アプレット

他のプログラムに組み込まれて動く小さなプログラムです。多くの場合、Webブラウザに組み込まれて動くJavaアプレットのことを指し、他のプログラム上で動くのでプログラムサイズが小さく、動作が軽いのが特徴となります。クライアント上で動作します。

3. 重い・軽い

プログラムのサイズが小さくて動作処理が速い(軽い)か、サイズが大きくて動作処理が遅い(重い)かの違いを表した言葉です。近年は、スマートフォン対応も求められており、レスポンシブデザインを採用する際は注意が必要です。画像やスクリプト次第では、PCではスムーズでもスマートフォンでは表示速度が遅いということも考えられ、Googleの評価にも影響が出るといわれており、当然軽いほうが好まれます。

4. サーブレット

Webサーバー上でWebページなどを動的に生成したり、データ処理を行うため、Javaで書かれたプログラムおよび仕様のことを指します。Webブラウザから呼び出されて動作し、一度動くと待機状態になり、他のクライアントからの呼び出しに対しては高速に動作します。Javaサーブレットと同意です。

5. シンタックスエラー

プログラムの文法・構文に関連するエラーで、コンパイルする際にソースコードの記述に誤りがある場合、発見・警告されるコンパイルエラーの一種です。

6. 正規表現

ある文字列を検索したり、操作したりするのに有効な表記方法です。例えば、AAABBCCという文字列の中からABという部分を抜き出してDGに置き換えることが正規表現であれば簡単にできます。

7. スクリプト

スクリプトは、端的にいうとテキストエディタ等で記述したソースコードを簡単に実行できるプログラム言語です。コンパイルとは異なり、一度にコンピュータが解釈できる機械語などに変換する必要があるのですが、スクリプトの場合は1行ずつ機械語にし変換しながら処理されます。代表的な言語は、Ruby,Java,JavaScript,Perlです。

8. デバッグ

開発しているプログラムが仕様書等と照らした際、開発者側が想定していない(誤った)動作をする際に発生するプログラム上の欠陥や誤りのことをバグといいます。このバグを見つけ出して、修正することを指します。

9. パス

PC上やインターネット上において、閲覧もしくは送受信させたいファイル・フォルダのありかを示すものです。インターネット上でいうと、主に「相対パス」「絶対パス」「フルパス」という3種類の表示方法があります。また、PC上でいうと、例えばPCのCドライブのworkというフォルダ内にあるtest.txtのパスは「c:\work\test.txt」となります。

10. パッチ

プログラムの不具合を修正するための更新版としてリリースされる小さなプログラムのことです。通称、パッチ処理とも言います。例えば、MicrosoftのWindowsやAppleのMac OS XといったOSに不具合が生じたとします。その際、修正するために必要なデータがオンラインで提供されますが、それがパッチに該当するものです。

11. インデックス

Gitは、SEやプログラマーの方にとって必需品というべきツールの一つです。「誰がどのファイルのどの部分を修正したのか?」や「リリース予定の機能追加で更新するのは、どれとどれか?」といったことを管理するツールです。複数人でプログラミングを行う場合、ソースコードを効率的に管理・運用する必要があり、システム開発の現場では一般的に使われています。
Gitでは作業をする場所のことをワークツリーと言い、実際に完成したものをリポジトリと言います。インデックスはワークツリーで編集したファイルをリポジトリに適用するための置き場所です。

12. コミット

ファイルを変更し、リポジトリに適用することをコミットと言います。コミットすると、変更履歴やその内容が管理され、必要に応じてロールバックすることも可能になります。

13. ヘッド

今自分がいるブランチでの最新のコミット内容を示します。

14. プッシュ

自分のローカルにある内容をリモートリポジトリにアップロード適用することです。

15. プル

プルは、他の開発者がリモートリポジトリした内容を、自分のローカルに適用するためのものです。これによってサーバー側との差異がなくなります。

16. リクエスト

プロジェクトを進めるにあたり、ある開発者が1人で作業してしまうと、他のメンバーが対応内容を知らずに……という状況に直面してしまいます。そこで、そうした事態に陥らないように、他のメンバーに対応内容などを共有する必要があります。リクエストとは、変更した内容について他のメンバーに伝える機能をいいます。