「プログラミングを勉強しようと思ったらわからない用語が多すぎる」
「IT関連の専門用語って難しそう」
上記のような経験をして、プログラミング学習を敬遠している人もいるのではないでしょうか。
わからない用語に出くわしたとき、その都度調べて理解していけば、学習をすすめられます。
しかし調べた先で、わからない言葉が出てくることがよくあるでしょう。
またスキルに関係なく、基礎的な専門用語は、解説文の文中で当たり前のように出てくるのです。
この記事では、プログラミング初心者が理解しておきたい基礎的なIT用語や、プログラミングの記述方法に関する用語を紹介しています。
「自分で調べてみたけどよくわからなかった」という方は、スムーズにプログラミング学習を行うために、ぜひ最後まで読んでもらえると嬉しいです。
なおこの記事では、以下の4つのテーマに分類して専門用語を紹介しています。
- 基礎的なIT用語
- プログラミングスクールの基本編
- プログラミングの記述に関する用語
- プログラミングツール
それではつぎの見出しから、さっそくプログラミングに関連する専門用語を紹介します。
【プログラミングの悩み】の記事一覧(内部リンク)
基礎的なIT用語
最初にプログラミングを始める前に知っておくべき、基本的なIT用語を12個紹介します。
「意外と意味を知らなかった」という方は、この機会に紹介する用語の意味を理解しておきましょう。
- コンピュータ
- ネットワーク
- インターネット
- ソフトウェア
- ハードウェア
- クラウド
- サーバー
- OS
- UI
- UX
- GUI
- CUI
「聞いたことがあるけれど、意味を知らなかった」という用語もあるかもしれません。
それではそれぞれ紹介していきます。
コンピュータ
コンピュータとは、与えられた手順に従って複雑な計算を自動的に行う機械をいいます。
「コンピュータってなに?」と問われると、はっきりとした答えが出ない方も多いのではないでしょうか。
たとえばパソコン以外にも、駅の改札機や券売機などがコンピュータに該当します。
電子回路を用いることで、デジタルデータの入出力や演算などを連続的に行える特徴があります。
詳細な処理(命令)手順を、人間が記述してあげることで、さまざまな用途に用いられるのです。
ネットワーク
ネットワークとは、【網】という意味の英単語が由来となっています。
複数の要素が、互いに接続された網上の構造にたとえられ、ネットワークと呼ばれているのです。
IT分野では、複数のコンピュータや電子機器などをつないで、信号やデータなどの情報のやり取りができる、通信ネットワークのことを意味しています。
たとえばスマホとテレビがネットワークでつながることで、テレビでYouTubeを観ることが可能になります。
インターネット
インターネットとは共通の通信仕様を用いて、全世界の膨大な数のコンピュータや通信機器を相互につなぐ、巨大なコンピュータネットワークをさします。
たとえば電子メールは、インターネットの代表的なサービスです。
インターネットを使用し、利用者間で手紙のようにメッセージやファイルを送受信できますね。
またインターネットが普及し、情報やサービスの多くがWebを通じて提供されるため、日常的にはWebのことをネットと呼ぶことも多いですね。
ただし厳密には、Webはインターネット上の機能のひとつに過ぎないと認識しておきましょう。
ハードウェア
ハードウェアとは、パソコンやスマートフォンなどの機器や、機器を構成しているパーツのことです。
たとえば以下のようなものがハードウェアです。
- マウス
- キーボード
- ディスプレイ
- プリンター
- PS5
- 任天堂Switch
ハードウェアのように実体のあるものを、ソフトウェアが制御して操作するという関係性にあります。
PS5や任天堂Switchなどのゲーム機もハードウェアに含まれます。
ソフトウェア
ソフトウェアは、コンピュータ上で動くプログラムや命令の集まりです。
アプリケーションもソフトウェアに分類され、略して【ソフト】とも呼びます。
たとえばゲームもゲームソフトと呼びますよね。
PS5というハードウェアに、モンスターハンターというソフトウェア(ゲームソフト)をインストールすることで、操作が可能となり遊べます。
「IT用語だから」と難しく難しく考えず、日常で使用しているようなものに置き換えるとイメージがつきやすいですよ。
クラウド
この記事を読んでいる人の中にも、【クラウド】という言葉を耳にした人がいるのではないでしょうか。
クラウドとは、通信ネットワークを介して、ユーザーが遠隔でサービスを利用するシステム形態のことをいいます。
雲の向こう側のサービスを利用しているため、クラウドと呼ばれるようになったのです。
インターネットなどの、ネットワークに接続されたコンピュータが提供するサービスを、ユーザーはネットワーク経由で手元のパソコンやスマートフォンで使用できます。
たとえばデータを管理することに用いられています。
クラウド上にデータを管理することで、データの消失のリスクの軽減や、データの共有が行えるようになりました。
またスマホのデータも、クラウド上でバックアップしておくことで、消してしまった写真をクラウドからダウンロードすることが可能ですね。
サーバー
サーバーとは、データや情報を提供するコンピュータのことをいいます。
もともと【Serve(提供)】の意味に由来しており、コンテンツの提供という役割をになっているため、サーバーと呼ばれています。
たとえば【コーヒーサーバー】というものがありますよね。
コンビニの多くで設置しているため、利用した経験がある人も多いはず。
「コーヒーを入れてほしい」という要求に対して、カップを入れボタンを押すとコーヒーを自動で注いでくれます。
ネットも同じように、【プログラミング 用語】という知りたい情報を提供してくれているのです。
OS(オペレーティングシステム)
OSとはソフトウェアの一種で、機器の基本的な管理や制御の役割があります。
パソコンを操作したり、アプリを使ったりするための土台となる基本のソフトウェアです。
たとえばパソコンで電卓を使用したとき、実はOSがクリックしたマウスの操作内容を電卓に伝えてくれています。
OSの存在があるからこそ、ユーザーはハードウェアを意識することなくソフトウェアを使えるのです。
ちなみにスマートフォンを制御している【iOS】や【Android】もOSの一種です。
UI(ユーザー・インターフェース)
interfaceは接触面・接触という意味があります。
IT業界で使用されるときには、ユーザーとコンピューターのあいだで情報をやり取りする、さまざまな機器や入力装置を指します。
そのためキーボードやマウスなどもUIに含まれているのです。
また装置だけでなく、製品の外観やユーザーの操作性をさす機能のこともいいます。
ちなみに世にあふれる製品や商品もUIで解説ができます。
ビールでたとえてみましょう。
引用 : アサヒビール | アサヒスーパードライ生ジョッキ缶
- ビールをイメージしやすいパッケージ
- 生ビールの泡を再現する独特な蓋
外観を見たときに、上記のように飲んだときのイメージがしやすいですよね。
つぎの見出しでは、UX(ユーザーエクスペリエンス)を紹介します。
UX(ユーザー・エクスペリエンス)
UXはユーザーが、製品やサービスを通じて得られる体験や経験を指す言葉です。
見た目(UI)の先で得られる、心地よさやサービス全体をとおして得られる満足などのさまざまな体験を指します。
UIと同様にビールでたとえてみましょう。
「缶ビールなのに泡が出てくるなんて最高」
「キンキンに冷えていて飲み心地が良い!」
上記のような満足感を得られ、また飲みたいと思わせられるのがUXですね。
CUI(キャラクター・ユーザー・インターフェース)
CUIは画像やアイコンを使用せずに、テキスト(文字)だけで操作する表示システムのことです。
代表的なCUIとして、Windowsに搭載されているコマンドプロンプトがあります。
WindowsPCをお持ちの方は、スタート画面もしくは検索でコマンドプロンプトと検索すれば、以下の画像のようにコマンドプロンプトが起動します。
テキストだけで操作する表示システムなので、パソコンのキーボードのみの操作となります。
GUI(グラフィカル・ユーザー・インターフェース)
GUIはCUIと対称的な意味で、テキストのほかに画像などが表示できるグラフィカルな表示システムのことです。
マウスやタッチパネルで操作できるものが、GUIと認識してもらうとイメージしやすいでしょう。
たとえば以下のようなものがGUIとして分類できます。
- スマートフォン
- カーナビ
- 電車の券売機
ちなみにマウスを使用して、コンピュータを動かせるGUIを開発したのがApple社です。Microsoft社は、Apple社を追うように開発に乗り出した歴史があります。
プログラミングの基本編
基礎的なIT用語のつぎは、プログラミング用語を覚えていきましょう。
紹介するプログラミング基本用語は以下の14個です。
- プログラミング
- コーディング
- プログラミング言語
- 機械語
- ソースコード
- コンパイル言語
- インタプリタ言語
- プログラム
- ライブラリ
- フレームワーク
- ビルド
- デバッグ
- テスト
- デプロイ
それぞれ順番に紹介していきます。
プログラミング
プログラミングはプログラムを作る作業をさします。
なおプログラムとは、人間がコンピュータに命令を伝えるための指示書です。
コンピュータは自分で考えたり、想像したりできません。
たとえばバットを振ったことがない人に、「バットを振って」というだけでは、自分が理想とする動作が伝わりません。
「持ち手は右手が上で、左手をしたにした状態で、肘を90度に曲げて・・・」と教えてあげれば、正しいフォームでバットを振れます。
バットを振るという目的を達成するために、1つ1つの動きを順番に説明する必要があります。
上記内容をコンピュータ相手に行うのがプログラムです。
プログラミング言語
プログラムを作るときに用いられるのが、プログラミング言語となります。
機械は人間の言葉を理解できません。
たとえば私たちが使用している言葉も、国が変われば使用する言語が異なりますよね。
そのためコンピュータが理解できる言葉に変換作業をしてくれる、プログラミング言語を使用します。
ソースコード
ソースコードとは、プログラミング言語を使って記述された文章のことをさします。
プログラムを動作させるための設計図ともいえるもので、コンピュータはソースコードに書かれた処理(命令)手順に従って、上から下へと順に命令を実行します。
機械語
機械語は0と1が羅列した数列です。
そのため人間が機械語だけを見て、どのような動作をするのか理解するのは難しいとされています。
たとえば以下のような画像が0と1が羅列した機械語です。
コンパイラ言語
コンパイラ言語は、ソースプログラムをいったん機械語に翻訳し、機械語になったプログラムを実行する言語です。
たとえば英語の本をいったん日本語に翻訳し、翻訳された本を読むようなイメージです。
すべて日本語に翻訳されているため、プログラムの実行速度が速いというメリットがあります。
インタプリタ言語
インタプリタ言語は、プログラミング言語の命令を1つずつ、機械語に解釈しながら実行する言語です。
たとえば外国人俳優のインタビューをイメージしてみましょう。
外国人が通訳を介しながら、外国語をそのまま話して質問に回答する光景がありますよね。
通訳を介して日本語に変換しているため、会話に若干タイムラグがあります。
インタプリタ言語も同じで、機械が1文ずつ機械語に解釈しながら実行するため、コンパイラに比べるとプログラムの実行速度が遅いのです。
ライブラリ
ライブラリとは、頻繁に使うプログラムの部品を寄せ集めたファイルです。
ソフトウェア開発では、似たような機能を実装することがよくあります。
そのため毎回開発者が、一から実装するには非効率的です。
そこでライブラリのファイルをコピペのように使用することで、開発効率を向上してくれます。
フレームワーク
フレームワークとは、骨組み・枠・構造という意味をもっています。
IT分野では、ソフトウェア開発やアプリ開発をする際の土台のようなものです。
たとえばチームでアプリ開発するとしましょう。
AさんとBさんが同じ言語を使用して開発に取り組んでくれています。
しかし作り方がバラバラなのでソースコードに統一性がなく、メンテナンス性が悪くなってしまいました。
上記のような状況を防ぐため、フレームワークを利用します。
フレームワークに従って開発するため、書き方に統一性がうまれます。
以上のことから開発効率やメンテナンス性が向上するのです。
ビルド
ビルドとは、記述したソースコードに問題がないか解析を行い、問題なければ実行可能なファイルに変換する作業のことをいいます。
プログラミングによって記述されたコードは、ビルドによってアプリケーションとして実行できるようになります。
料理にたとえると、自作のレシピどおり調理し、できあがった料理の味見をするまでの行程がビルドです。
ビルドは一つの作業のことをさすのではなく、解析〜実行可能ファイルに構築する一連の流れをいいます。
ソフトウェアの多くは、異なるソースコードを使って構成されています。
それらをつなぎ合わせて組み合わせて、実行可能ファイルに構築することがビルドです。
デバッグ
デバッグは、コンピュータプログラムに潜むバグ(欠陥)を探し出して、取り除くもしくは修正する作業のことです。
実際にプログラムを動かして、バグを発見し不具合が起きないようにします。
こちらも料理にたとえると、自作のレシピどおり調理しながら「塩がない」「油がない」と抜けていた箇所を洗い出し、新たにレシピの行程にくわえるようなものです。
テスト
デバッグ作業の中で行われる、実際にプログラムを動かす工程のことです。
指示通りの操作をしたときの動きだけでなく、あえて起こりそうなエラーを引き起こして、エラー状態では終了できないような確認も行います。
デプロイ
デプロイは、配備するという意味をもつ単語で、開発したプログラムを利用可能な状態にすることです。
たとえば家族の健康管理のため、手軽にインストールできる歩数計アプリを開発したとしましょう。
一生懸命開発したけれど、歩数計アプリを開発するのが目的ではないですよね。
手軽にインストールして活用してもらうためには、しかるべき場所に配備する必要があります。
App StoreやPlay Storeなど、適切な場所にアップロードすることで、歩数計アプリをインストールした人が、手軽に健康を管理できるようになります。
プログラミング言語の種類と特徴を目的・用途別に解説(内部リンク)
プログラミング記述方法
つづいてはプログラムを記述する際に使用する用語を紹介します。
紹介する記述方法の用語は以下の7つです。
- 変数
- 定数
- 代入
- 算術演算子
- 比較演算子
- 論理演算子
- 関数
順番に解説していきます。
変数
変数はプログラミングで使用される、数値や文字列などの値を出し入れするための【箱】です。
箱に入れた数値や文字列は、他のプログラマーやエンジニアと共有可能になります。
なお数値や文字列は以下の2つをさします。
- 数値 ・・・1 や 0 など
- 文字列・・・あかさたななど
【箱】とたとえましたが、現代風に言い換えてみましょう。
たとえばInstagramで写真をアップすると、色んな人が閲覧可能になりますよね。
変数を作るのは、Instagramのアカウントを作るようなイメージです。
Instagramにアップした写真やムービーは、あとから編集が可能です。
同じように変数もあとから上書き可能で、変化する年齢や日付などの数値を変更できますよ。
定数
定数は変数と同じように、数値や文字列などの値を台入れするための【箱】です。
しかし変数とは異なり、あとから中身の値を変更できません。
したがってしばらく変化の可能性が低い、消費税を定数にすると便利ですね。
代入
代入とは、変数の中に具体的なデータを登録することです。
算術演算子
算術演算子とは、過去に算数の授業で習った、計算に使用される記号のことです。
プログラミング言語によって異なる場合もありますが、基本的には以下の5種類が出てきます。
- 加算・・・+
- 減算・・・-
- 乗算・・・*
- 除算・・・/
- 剰余・・・%
それぞれの意味は以下のとおりです。
演算子 | 意味 |
---|---|
+ | 足し算 |
- | 引き算 |
* | 掛け算 |
/ | 割り算 |
% | 割り算の余り |
比較演算子
比較演算子とは、プログラミング言語などで用いられる演算子のうち、2つの式や値の比較を行い、結果を真偽値で返すものです。
そのため一致・不一致や大小の比較など、いくつかの種類があります。
たとえば以下の6つを参考にしてみましょう。
- ==
- ===
- <
- >
- <=
- >=
それぞれの使用例と意味は以下のとおりです。
演算子 | 使用例 | 意味 |
---|---|---|
== | A==B | AとBが等しい |
=== | A===B | AとBが型まで含めて等しい |
< | A<B | AはBより小さい |
> | A>B | AはBより大きい |
<= | A<=B | AはB以下 |
>= | A>=B | AはB以上 |
論理演算子
論理演算子は、論理演算と呼ばれる真・偽(true・false)の条件が成立しているかという演算で使用されるための演算子です。
基本となる以下3つを覚えておきましょう。
- &
- |
- !
それぞれの使用例と意味は以下のとおりです。
演算子 | 使用例 | 意味 |
---|---|---|
&& | A && B | Aが真かつBも真のときに【真】 |
| | A || B | Aが真またはBが真のときに【真】 |
! | ! A | Aが偽のとき【真】 |
パッと見ただけでは、意味がよくわかりませんが言葉にするとイメージしやすいと思います。
関数
関数は、処理(命令)をまとめたプログラムの部品です。
プログラムのなかには、たくさんの処理(命令)が書かれています。
それゆえになかには、同じような動きを繰り返して実行される処理(命令)があります。
同じように繰り返し行われる処理(命令)をコンパクトにまとめたものといえます。
たとえば以下の命令があったとしましょう。
- 起床
- 30秒うがいをしてから30分で朝ごはんを食べる
- 仕事に行く
- 30秒うがいをしてから30分でお昼ご飯を食べる
- 帰る
- 30秒うがいをしてから30分でお昼ご飯を食べる
- 寝る
上記の2・4・6には、【30秒うがいをする】という繰り返し行われる作業がありますね。
同じような命令なので、2・4・6をコンパクトな命令にできます。
- 起床
- ご飯を食べる
- 仕事に行く
- ご飯を食べる
- 帰る
- ご飯を食べる
- 寝る
上記のように、【30秒うがいする】と【30分で】が【ご飯を食べる】という一まとまりにできました。
手順を簡略化して、必要に応じて呼び出すのが関数です。
プログラミングツール
プログラミングをする際に使用される、プログラミングツールの用語を紹介します。
紹介するのは以下の2つです。
- Git(ギット)
- エディタ
それぞれ順番に紹介していきます。
Git(ギット)
Gitとは、ソースコードのバージョン管理システムです。
複数人で開発したり、デバッグ作業したりする際に【誰がどこまで何をしたのか】が、わかりやすい特徴があります。
具体的にGitでは以下のような管理が可能です。
- ファイルの変更履歴管理
- 新旧ファイルを管理
- 編集した履歴を複数人で共有
それぞれ順番に紹介していきます。
ファイルの変更履歴を管理
1つ目は、ファイルの変更履歴を管理できることです。
たとえば複数人で開発やデバッグ作業を行う場合、誰がどこまで何をしたのかが明確になっておらず、作業が重複してしまい効率が悪くなります。
Gitでは、編集したファイルの変更履歴が確認できるため、作業が重複せず効率よく開発やデバッグ作業を遂行できます。
新旧ファイルを管理
2つ目は、新旧ファイルを管理できることです。
たとえばスマホのOSのバージョンをアップデートすると、旧バージョンに戻すことはできないですよね。
Gitで管理しているファイルであれば、コンピュータ上でファイルの編集履歴を管理できます。
そのため編集前ファイルを残しつつ、新しく編集したファイルを保存できます。
実はプログラマーにとって、多くのコードを編集したうえで何か不具合が起きたときに、元のバージョンへ戻すことは頻繁にあります。
そのため新旧ファイルを一括管理できるのが、便利な機能なのです。
編集した履歴を複数人で共有
3つ目は、編集した履歴を複数人で共有できることです。
変更の履歴を確認できるだけでなく、自分が行った作業をチームメンバーに共有できます。
またチームで各々が修正した部分を統合ができます。
そのため個人が背負う工数を減らせるので、ミスの軽減につながり業務効率を高められます。
エディタ
エディタは、ソースコードを書くために必要なテキスト編集ソフトです。
Windowsであればメモ帳、Macであればテキストエディットなど、OSに標準搭載されているものもあります。
IT用語を勉強するには
この見出しでは、IT用語の学習方法を紹介します。
IT用語を覚えていくには、実際にプログラミング学習を行いながら、体系的に理解を深めることを優先しましょう。
そのためあなたが「必要最低限覚えられた」と感じられる程度にしておき、実際にプログラミング学習で手を動かしながら、体系的に覚えていくといいでしょう。
紹介する勉強方法は、レベルやニーズによって異なるため、以下2つに分類して紹介します。
- プログラミング関連用語の概念が理解できた人
- わからない用語が多くていまにも挫折しそうな人
それぞれ順番に解説していきます。
プログラミング関連用語の概念が理解できた人
プログラミングやITの概念がつかめている人は、IT用語の本を1冊用意して覚えていくといいでしょう。
特に基礎から最新トレンドまで網羅して、調べられるような本がおすすめです。
なお当サイトがおすすめするのは、『IT用語図鑑[エンジニア編]開発・Web制作で知っておきたい頻出キーワード256』です。
この記事で紹介した用語のほかにも、たくさんの用語を図解で解説しています。
なかには業界用語も紹介されていて楽しめる1冊ですよ。
筆者は増井敏克さんで、過去に大手人材業界のリクルートスタッフィングのコラムも担当経験のある技術者の1人です。
参照 : リクルートスタッフィング | 【コラム】プログラマを目指すときに知っておきたい基礎用語とは
わからない用語が多くて今にも挫折しそうな人
わからない用語が多くて今にも挫折してしまいそうな人は、プログラミングスクールなどを利用して、プロから詳しく教えてもらいましょう。
学習途中でわからない用語が出たとしても、現役プロの講師から教えてもらえるため、プログラミングの学習もスムーズに行えます。
「いまにもプログラミング学習が挫折しそう…」
「プログラミングスクールについて持って詳しく知りたい」
上記のような気持ちがある場合は、以下の3つの記事で詳しく解説しています。
まとめ
プログラミング用語は非常に多く、この記事で紹介した用語以外にも学習途中で専門用語に出会うでしょう。
またプログラミングの世界では、新しい用語がつぎつぎと出てきます。
すべての用語を覚えることは難しいため、なかには「挫折しそう」という気持ちになっている人もいるかもしれません。
プログラミング用語を覚えることは、プログラミングをするうえで、切っても切り離せない関係です。
しかし最初から無理に覚えようとしたり、用語だけを丸暗記したりせず、「必要になったタイミングで理解していけばいい」という気持ちで、気負わず学習をすすめましょう。
この記事を見ている人のなかには、プログラミングスキルを習得して、叶えたい夢や目標があると思います。
プログラミング学習に火が付いたのに、無理をして挫折してしまうのはもったいないです。
書籍やプログラミングスクールなど、学ぶ方法はたくさんあるため、ぜひ参考にしてくれると嬉しいです。