このページにはプログラミングでよく出てくる用語をまとめます。
随時更新します。
Alphabet索引
B
bash
Unixシェルの一種。
Wikipedia: bash
~/.bashrc
独自のコマンドやエイリアスなど、bashの環境変数などを定義しておくファイル。
デフォルトシェルがbashならターミナルを立ち上げた時、それ以外の場合はbashを呼び出した時に自動的に~/.bashrcが読み込まれて環境変数などが定義される。
このファイルを編集したら、保存後にターミナルのウィンドウを開き直すか
source ~/.bashrc
を実行して手動で読み込む必要がある。
C
CUI
Character user interface, character-based user interface, console user interfaceの略で、command line interface, CLIとも呼ばれる。
コンピューターを動かす命令(コマンド)を、コンソールと呼ばれる画面に文字列として入力することで実行するユーザーインターフェース様式。
初期のコンピューターは
- 命令を入力して実行する
- 結果が返ってくる
- 次の命令を入力して実行する
- …
というCUIを用いた対話形式での操作が主流だった。
ファイルの一括操作など、同様の処理を繰り返す場合やプログラミングでパソコンを操作する場合に便利。
対義語はGUI。
参考: Wikipedia
G
GUI
Graphical User Interfaceの略。コンソールへの文字入力ではなく、画面上のアイコンのクリックなどによってパソコンを操作するユーザーインターフェース様式。
現代の一般的なパソコン操作はGUIで行われる。対義語はCUI。
参考: Wikipedia
H
hogehoge
ほげほげ。「適当な文字列」という意味。
P
path
パソコンの中のディレクトリやファイルの場所を指し示す文字列。
例えば、Macではホームディレクトリは/Users/hogehogeで指定される。
ルート(/)を頂点としたツリー構造になっている。
python
インタプリタ型のプログラミング言語のひとつ。1991年に最初にリリースされた。
コーディングが簡単で習得しやすい。
高度な処理を行うパッケージも豊富に存在する。データ分析、機械学習(AI開発)、Webスクレイピング、Webアプリ開発などが行える。
python2系
python 2.?.?というバージョンのpython。
python 2.7.18が最後のリリースとなっており、2020年に開発が終了している。
しかし、pymcなど2系でしか動作しないパッケージも存在するため、完全に不要になったとも言えない。
python3系
python 3.?.?というバージョンのpython。
Z
zsh
mac OS Catalinaからターミナルのデフォルトのシェルとして採用されているUnixのコマンドシェルの一種。ほぼbashと同じように使える。
Wikipedia: zsh
~/.zshrc
~/.bashrcのzsh版。ターミナル起動時にこのファイルが自動で読み込まれる。このファイルに、環境変数などを定義しておくことで、自動で設定される。
日本語索引
い
インタプリタ言語
人間が読めるスクリプトをコンパイルなしで実行できる言語。Shell, Python, Rなど。
コマンドラインで実行すれば、コマンドを実行し結果を受け取り、それを見て次のコマンドを実行するという形で対話的にコーディングとプログラムの実行ができる。
反対に、コンパイルが必要な言語はコンパイラ言語と呼ばれる。
対話的にコーディングできるため、インタプリタ言語はコーディング作業が簡単で習得しやすいというメリットがある。
一方で、機械語に翻訳するコンパイル作業がないため、動作が遅いというデメリットもある。
そのため、高度な処理を行うにはライブラリを使うなどのコーディングの工夫が必要。
か
カレントディレクトリ
現在のディレクトリ。ターミナル(端末)ならpwdで確認できる。
GUIのアプリケーションでもカレントディレクトリという概念は存在していて、通常は対象のファイルを開いた場所がカレントディレクトリとなっている。
環境変数
OSが参照する変数。変数名と値を持つ。ターミナルなどのシェル上で
var1=hogehoge
のように定義される(スペース不要)。
環境変数var1の値を確認したい時にはシェル上で
echo ${var1}
を実行すればよい。
参考: 環境変数(wikipedia)
こ
コーディング
プログラムで実現したい処理を行うために、一連のコマンドを記述したソースコードを作成する作業。
コマンド
コンピューターに処理をさせるための定型文。
プログラミングではコマンドの組み合わせで実現したい処理をコンピュータに行わせる。
コンソール (Console)
コンピューターに命令を伝達するための制御装置(パソコンでは文字列を入力するウィンドウ)。
コンピュータが登場した頃はタイプライターのような機械だったらしいが、現代のパソコンではモニター内に文字入力ができるウィンドウとして表示される。
参考: コンソール(wikipedia)
コンパイラ言語
実行するのにコンパイルという処理が必要なプログラミング言語。C言語、Fortranなど。
人間が読めるソースコードを作成(コーディング)し、機械が読めるバイナリファイルに変換(コンパイル)することで、プログラムを実行できるようになる。
コンパイルが不要なプログラミング言語はインタプリタ言語。
コンパイル作業が一段入ることで、機械が実行しやすい形に変換されるため、インタプリタ言語よりも動作が高速。
一方、メモリなどコンピューターの構造を意識したコーディングが要求されるため習得のハードルはインタプリタ言語よりも高い。
し
シェル (Shell)
広義にはユーザーインタフェースを提供するコンピュータプログラム。
本ブログでは狭義にはコマンドラインシェル、特にUNIXシェルのことを指す。
「CUIでコンピューターにコマンドを与えて操作するシステムを提供しているもの」と考えて構わない。
参考: シェル(Wikipedia)、bash(Wikipedia)
シェルスクリプト
コマンドラインシェルを操作するプログラムを記述するファイル。
ファイルの一括操作や諸々のコマンドをテキストファイルに羅列しておくことで自動的に実行できるようになる。
す
スクリプト
シェルやPythonなどのプログラムで行いたい処理を行うため、一連のコマンドをテキストファイルに記述したもの。
同じ処理を繰り返す場合に便利で、コマンドラインに一つ一つコマンドを入力する手間を省くことができる。
プログラムの動作を記述しておくテキストファイルという意味において、ソースコードの一種である。
コンパイルが不要なインタプリタ言語のソースコードのことをスクリプトと呼ぶ。
そ
ソースコード
プログラムの動作を「人間の読める言語」で記述しておくテキストファイル。
コンパイルが必要な言語では、「プログラミング」と言えば所望の処理を一連のコマンドに落とし込んだ上でソースコードを作成する作業。
特に、C言語のようなコンパイルが必要なコンパイラ言語では、
- ソースコード(人間が読めるファイル)の作成(プログラミング)
- バイナリファイル(機械が読めるファイル)の作成(コンパイル)
という2つの作業を経ることでプログラムが実行できるようになる。
た
ターミナル
端末と同じ。CUIでパソコンへの入出力を行うハードウェア。
ソフトウェアの場合は端末エミュレータと呼ぶ。
狭義にはMacのCUIシェル(UNIX端末エミュレータ)ソフト。
参考: 端末エミュレータ(Wikipedia)
端末
ターミナルと同じ。Linux OSでは「端末」という名前のアプリケーションでCUIシェルが起動する。
て
ディレクトリ
コンピューター上の場所のことでフォルダと同じ。
現在いるディレクトリをカレントディレクトリ、ホームをホームディレクトリなどと呼ぶ。
ディレクトリ同士の繋がりをディレクトリ構造、ディレクトリツリーなどと呼ぶ。
パソコンの中には、ルート(/)を頂点とするツリー構造ディレクトリーが作られる。
ユーザーごとに割り当てられているホームディレクトリ(/Users/Kaiko)などもディレクトリ構造の一部。
カレントディレクトリは
.
一つ上の階層のディレクトリは
..
とあらわされる。例えば
cd ../..
とすれば2つ上の階層のディレクトリに移動できる。
は
パス
パソコン上で、あるファイルやディレクトリの場所を指し示す文字列。
ルート(\)から辿るパスをフルパス、カレントディレクトリから辿るパスを相対パスと呼ぶ。
pwd
というコマンドを実行すると、カレントディレクトリのフルパスが表示される。
ゆ
ユーザーインターフェース
コンピューターと人間(ユーザー)が情報をやり取りする窓口となる装置。
CUI(Character User Interface)であれば、コンソール画面に文字列(コマンド)を入力し、実行結果が文字列として出力される。
GUI(Graphical User Interface)なら、アイコンや画像のクリックやウィンドウのポップアップなど、文字列以外で情報のやり取りが可能。
る
ルート
パソコンのディレクトリ構造の最上位階層。
/
で表される。