「プログラミング用語ってなんだか難しい・・・」
「用語についてのわかりやすい解説が読みたい!」
プログラミング学習を始めて間もない方や、これから学習しようと考えている方の中には、このように感じている方も多いはずです。
確かに、初心者の方には馴染みのない言葉も多く、説明されてもよく理解できない、ということも珍しくないでしょう。
そこでこの記事では、頻出するプログラミング用語や大事なプログラミング用語について取り上げ、できる限りわかりやすく解説していきます。
\数あるスクールの中でNo.1!本当に実力がつくスクールRUNTEQ/
プログラミング学習の前に覚えるべき基礎用語一覧
まずは、プログラミング学習を始める前に覚えておいた方がよい基本的な用語について解説していきます。
プログラミング
プログラミングとは、コンピュータに対して、人間が意図した動作を実行させるための命令(プログラム)を作成することです。
曖昧な命令ではなく、裁量の入る余地が一切ない具体的な命令文を、コンピュータが理解できる形式で作成する必要があります。
ソフトウェア
ソフトウェアとは、コンピュータを動かすためのプログラムのことです。
最もわかりやすい例としては、「スマートフォンのアプリ」や「パソコンなどで遊べるゲーム」でしょう。
パソコンやスマホは、ソフトウェアがなければ基本的に何もできません。
ハードウェア
ハードウェアとは、コンピュータを物理的に構成する機器のことです。
パソコンの場合は、CPUやメモリやHDDといった、コンピュータを動かすために不可欠なものがハードウェアにあたります。
その他、ディスプレイやマウス、USB、プリンターなどもすべてハードウェアとなります。
アルゴリズム
アルゴリズムとは、問題を解決するための処理方法や計算方法のことです。
「ロジック」と似た意味を持ちますが、ロジックは論理や筋道を立てるための思考方法であり、それを実現するのがアルゴリズム、といった形です。
命題に対し、どのようなアルゴリズムで臨むかがプログラマーの腕の見せ所となります。
メソッド
メソッドとは、直訳すると「方法」となり、プログラミングにおいては「特定の処理を実行するためのプログラム」のことを指します。
オブジェクト指向プログラミングにおける、オブジェクトの中あるプログラムを表す場合もあります。
オブジェクト指向
オブジェクト指向とは、プログラミングを用いてシステム開発をする際に用いられる考え方の一つです。
プログラミングの考え方としては、他にも「手続き型」「関数型」といったものがあります。
オブジェクト指向プログラミングでは、各処理をパーツ化し、それらを組み合わせることで一つのプログラムとして完成させるイメージです。
ソースコード
ソースコードとは、コンピュータを動かすために書かれた文字列のことです。
プログラムが書かれたテキストファイルのことを指す場合もあります。
インタプリタ型
インタプリタ型とは、ソースコードを一つずつ機械語に翻訳しながら実行していく処理方式のことです。
RubyやPHPといった言語が、インタプリタ型となります。
プログラムをすぐに実行できるというメリットがありますが、一つずつ実行していくため処理速度が落ちるというデメリットがあります。
コンパイル型
コンパイル型とは、ソースコードを一括で機械語に翻訳してから実行する処理方式のことです。
JavaやC言語といった言語が、コンパイル型となります。
インタプリタ型とは逆に、書いたプログラムをすぐには実行できませんが、処理速度が速いというメリットがあります。
コーディング
コーディングとは、プログラムを書く作業のことです。
あくまでプログラムを書く作業だけを指した言葉であり、開発に関連する設計や要件定義、デバッグなどは含みません。
フローチャート
フローチャートとは、プログラミングをする上での流れを図として表したものです。
どこでどういった処理をするか、といったことについて記号を用いて書いていきます。
プログラムの設計図のようなものであるため、コーディング前にまずはフローチャートを書くことも多いです。
モジュール
モジュールとは、プログラムを構成する要素のことです。
モジュールが集まることで、一つのプログラムとして完成します。
オーバーフロー
オーバーフローとは、想定していた数値を超えてしまい、収まりきらなくなった状態のことです。
例えば、4ケタ(9,999)までの数字を最大値とした変数へ、5ケタ以上(10,000以上)の数字を入れようとした場合、想定していた数値を超えてしまうため、オーバーフローとなります。
低級言語
低級言語(低水準言語)とは、プログラミング言語の中でも、機械が理解しやすい形式の言語のことを指します。
0と1だけが羅列された機械語や、機械語に近いアセンブリ言語などが低級言語にあたります。
高級言語
高級言語(高水準言語)とは、プログラミング言語の中でも、低級言語とは逆に人間が理解しやすい形式の言語のことを指します。
英語や記号を用いて、人間が書きやすく、目で見てもわかりやすい形になっています。
プログラムの処理に関するプログラミング用語一覧
ここからは、実際にプログラミングをする際に必要となってくる用語についてわかりやすく解説していきます。
変数
変数とは、任意の数字や文字列などを入れることのできる「入れ物」のことです。
処理が何回繰り返されたのかをカウントするための数字や、画面に表示するための文字などを自由に入れることができる領域であり、プログラミングには欠かせません。
関数
関数とは、特定の処理をひとまとめにしたもののことです。
繰り返し利用する処理や特殊な処理を関数化することで、本体のプログラムをすっきりさせることができる上、同じプログラムを何度も書かなくてよくなるため、効率的なプログラミングが可能となります。
乱数
乱数とは、ランダムな数字のことです。
最も身近な乱数が「サイコロ」です。
ご存じの通り、1から6までの数字で何が出るかわかりません。
プログラミングにおける乱数も、特定の範囲でランダムに数字を取得する、といったことが可能です。
定数
定数とは、変数と違って「後から変更できない値」のことです。
一度設定した定数は、プログラム内で変えることができません。
定数は、円周率などの「不変の値」を利用する時に便利です。
配列(リスト)
配列とは、変数の集まりのようなものです。
リストとも呼ばれます。
配列は、素数や任意の文字列といった法則性のないものを収めておくのに便利な要素で、状況に応じて「配列の何番目を利用する」といった形で数字や文字列などを持ってくることができます。
「条件分岐」と「繰り返し」
条件分岐は、プログラミングには欠かせない処理であり、「もし●●なら、こういった処理をする」といった形で利用されます。
主に「if」が使用されます。
繰り返しは、「●●になるまで繰り返す」といった形で用いられるループ処理です。
主に「for」や「while」が使用されます。
プログラミングは、「条件分岐」と「繰り返し」を組み合わせることがメインとなります。
代入演算子
代入演算子とは、変数などに値を入れるために用いられる記号のことです。
言語によって異なりますが、主に「=」が使われます。
比較演算子
比較演算子とは、大きいか小さいか等しいか、を判定するための記号のことです。
言語によって異なりますが、主に「==」「<」「>」「≦」「≧」といった記号が使われます。
算術演算子
算術演算子とは、計算をするための記号のことです。
プログラミングにおける四則演算は以下の通りです。
- 足し算の記号 : 「+」
- 引き算の記号 : 「-」
- 掛け算の記号 : 「*」
- 割り算の記号 : 「/」
論理演算子
論理演算子とは、条件判定に使う演算子で、「●●かつ■■」や「●●または■■」といった形で使用します。
複数の条件を満たすかどうか、もしくはいずれかの条件を満たすかどうか、といった際に用いる演算子で、主に「&&」や「||」といった記号を使います。
コメント
コメントとは、ソースコードを読む人向けに「この処理がどういった意味を持つか」といったことが記されている文言のことです。
他人のためだけでなく、あとで自分が書いたソースコードを読み返す時にも役立ちます。
プログラムにはまったく影響しないため、自由に記述することができます。
真(true)
真(true)とは、比較結果において一致した場合のことを指します。
例えば、変数「count」に入っている数字が「5」の時に、「if (count < 10)」という条件文があったとします。
この場合、条件を満たしているので真となります。
偽(false)
偽(false)とは、比較結果において一致しなかった場合のことを指します。
例えば、変数「count」に入っている数字が「5」の時に、「if (count > 10)」という条件文があったとします。
この場合、条件を満たしていないので偽となります。
バグ
バグとは、プログラム上のエラーや、プログラマーの意図した動作とは異なる動作をすることを指します。
「不具合」とも呼ばれます。
デバッグ
デバッグとは、バグを取り除く作業のことです。
プログラムを一つひとつ確認していき、問題のある個所(バグ)を特定し、修正を行います。
トランザクション
トランザクションとは、本来ならば「商取引」や「売買」という意味ですが、IT業界では「分けることのできないひとかたまりの処理」のことを指します。
銀行振込を例にするとわかりやすいでしょう。
AさんがBさんに1万円の振り込みをした場合、Aさんの口座から1万円マイナスにしつつ、同時にBさんの口座へ1万円プラスしなければなりません。
このような、分断できない処理がトランザクションです。
引数
引数とは、関数を呼び出す際に、関数内での処理の材料として渡す数値や文字列などのことです。
「パラメータ」とも呼ばれます。
例えば、足し算をする関数「calc」があったとします。
関数「calc」には、足し算の処理をするプログラムがあるだけで、何と何を足せばいいのかまではわかりません。
そこで、以下のような形でcalcへ引数を渡します。
calc(5,10)
これで、「5と10を足せばいいのだ」ということがわかり、処理が正しく実行されます。
戻り値
戻り値とは、関数における処理の結果のことです。
「返り値」とも呼ばれます。
なお、戻り値は基本的に1つのみとなります。
バッファ
バッファとは、処理しきれないデータを一時的に保存しておく領域のことです。
こうした余裕を確保しておくことで、正しい順序でデータを処理することができるようになります。
バッファの概念や必要性については、プリンターを例にするとイメージしやすいかもしれません。
プリンターには、一度に大量の印刷指示が送られることがあります。
しかし、「このファイルを100枚印刷」といった指示を送るのは一瞬ですが、1枚の紙への出力が完了するまでには早くとも数秒はかかります。
そうこうしている間に、複数の人から様々な印刷指示が出されることもあるでしょう。
こういった場合に、バッファが用意されていることで、一度に処理しきれない印刷データを指示があった順番に溜めておき、先に指示のあったものから順に印刷処理を進めることが可能となります。
開発業務に関する用語一覧
最後に、開発業務の際によく出てくる用語について解説していきます。
データベース
データベースとは、一定の構造に従ったデータの集まりのことです。
ただデータを溜めていくだけでなく、データの検索・更新・削除などを行うことが可能です。
SQL
SQLとは、データベースを操作するための言語です。
SQLを用いることで、データの取り出しや更新、削除といったことができます。
クライアント/サーバー
Webにおけるクライアントとは、一般ユーザーが使うブラウザやパソコンのことを指します。
クライアントから出された指示をサーバーが受け取り、サーバー側が備えている機能や情報を活かして処理を実行します。
例えばログイン処理をする際、ユーザーは画面にログインIDとパスワードを入力します。
クライアント側から入力されたログイン情報はサーバー側へ送られ、その情報が正しいかどうかをサーバーがデータベースと照合して確かめます。
入力された情報とデータベース内の情報が一致すれば、サーバー側でログイン処理を実行し、クライアント側では次の画面へ遷移します。
フレームワーク
フレームワークとは、開発を行う際に必要な機能があらかじめ用意されている枠組みのことです。
フレームワークを使ってプログラミングをすることで、開発効率を大幅に上げることができます。
なお、フレームワークは各言語ごとに複数存在するのが一般的なため、開発現場によって使用しているフレームワークが異なる場合あります。
ライブラリ
ライブラリとは、プログラミングに必要な特定の機能・処理が集められたものです。
開発業務に欠かせない関数やサブルーチンがたくさんあるため、フレームワーク同様に開発効率を高めてくれます。
ただしライブラリを使用する際は、実行環境との相性を確認したり、適切なライブラリを選定したりすることを意識するようにしてください。
プラグイン
プラグインとは、ソフトウェアに対して機能を追加するためのプログラムのことです。
すでにあるソフトウェアを、より利便性の高いものにしたり、自分用にカスタマイズしたりする時にプラグインが使われます。
インフラ
インフラとは、サーバーやデータベースやネットワークなど、システムが動作する上での基盤となるもののことです。
ネットワークエンジニアやデータベースエンジニアなど、インフラを支えるエンジニアのことを総称して「インフラエンジニア」と呼びます。
まとめ
以上、プログラミングに関する基礎的な用語一覧について解説してきました。
これからプログラミングを始めようと思っている方や、まだ学習を始めたばかりという方は、ここにある用語については是非把握しておくようにしてください。
なお弊社では、Webエンジニア育成に特化したプログラミングスクール「RUNTEQ」を運営しております。
未経験からのエンジニア転職に非常に強く、多くの卒業生が未経験の状態からWeb系開発企業への転職を成功させています。
今でも需要の高いWebエンジニアですが、今後はさらに需要が高まっていくと言われていますので、これからWebエンジニアを目指したいという方は、是非一度無料キャリア相談会へお越しください。
\数あるスクールの中でNo.1!本当に実力がつくスクールRUNTEQ/