本当に正しい技術用語の読み方(コンピュータ業界編)

コンピュータ・ネットワーク業界で使用される技術用語にはカタカナが多い。カタカナならまだしも、英語表記をそのまま利用しているケースも多い。シェル環境(CUI)で使うコマンドも英語ベースである。この業界の技術を学ぶ初心者の中には、これらの技術用語、特にその読み方・発音に悩むケースもあるようだ。

世の中には様々な「技術用語の読み方」を掲載したサイトがあるが、残念ながら間違った読み方が掲載されているものが散見される。結構有名な技術系サイトにも間違った例が掲載されていることがある。

そこで、このページでは、本当に正しい技術用語の読み方を解説していきたいと思う。間違った読み方も併せて掲載するので、特に初心者の方に参考にしていただきたい。ここに記載したのは、筆者が実際に遭遇したり、特に間違いやすいと思われるものである。掲載順は、アルファベット順とする。

なお、このページでのカタカナの表記は、英語表記で”-er”や”-or”で終わる2音節以上の用語については、おしまいの「ー」を記述しない方式で(原則として)統一することとする。(「コンピューター」ではなく「コンピュータ」等)

また、このページは今後随時更新していく予定である。

ウェブ用語

height

  • 意味: (ボックスの)高さ
  • 正: ハイト
  • 誤: ヘイト、ハイ
  • 解説: “eight”が「エイト」という発音のせいか、「ヘイト」という人が多いが、”high” [ハイ]の名詞形なので「ハイト」が正しい。

hidden

  • 意味: 非表示。
  • 正: ヒドゥン、ヒドン
  • 誤: ハイド、ヒッデン
  • 解説: “hide” [ハイド]の過去分詞形で形容詞的に用いる。「ヒドゥン」または「ヒドン」と発音する。なんとなく意味として”hide”が想像できるので、雰囲気で「ハイド」とかいう人が多いようだ。「ヒッデン」はローマ字読みの誤用だ。

width

  • 意味: (ボックスの)幅
  • 正: ウィドゥス、ウィドス
  • 誤: ワイド、ワイズ、ウィド、ワイドス、ウィッズ
  • 解説: “wide” [ワイド]の名詞形である。「ネイティブは『ウィッズ』というのでこれが正解」とかいう記事を見かけたことがあるが、違う! 断じて違う! 「そう聞こえる」だけであって、ネイティブでもゆっくり言ってもらうとちゃんと「ウィ、ド、ス」と発音してくれる。もちろん「ド」は母音がない/d/であり、「ス」も母音がない/θ/である。この/d/と次の/θ/がくっついて「ッズ」のように聞こえているだけで、気持ちの上では/d/は発音しているのだ。カタカナに「落とし込む」とどうしても「ド」「ス」となってしまうので「ウィドス」となってしまうが、これが正解である。

プログラミング用語

none

  • 意味: 「なし」とかのこと。プログラミング用語というより、技術仕様の一覧表のような箇所で使われることが多い。
  • 正: ナン
  • 誤: ノウン、ノン
  • 解説: 高校までの英語の授業で出てくるはずだが、意外とこれを間違って発音している人が多い。綴りを見るとそう読みたくなる気持ちもわかるが、これはさすがに「ナン」と言おう。「なんにも無い」という語呂で覚えるのはどうだろうか。

null

  • 意味: 「何もない」とか「何も指していないポインタ」のこと。
  • 正: ナル
  • 誤: ヌル
  • 解説: 英語の発音としては「ナル」が正しいが、もはや「ヌル」で定着してしまっている。筆者も仕様書等で「ヌル」という表記を使っている。あくまで「日本語として『ヌル』というのだ」という理解で良いだろう。ただし、本当は「ナル」ということを知っておくべき。

script

  • 意味: インタープリタ方式のプログラミング言語における処理の手順を記述したテキストファイルのこと。
  • 正: スクリプト
  • 誤: スプリクト
  • 解説: 綴りをよく見れば明らかだろう。さすがにプログラミングに携わっている技術者は間違わないが、システム部門等の「非技術者」にこのような誤用をしている人が多いようだ。

thread

  • 意味: 「糸」の意から、プログラムの一連の流れを意味する用語。
  • 正: スレッド
  • 誤: スリード、スレット
  • 解説: 綴りだけ見ると、”read”部分を「リード」と読みたくなってしまうが、/red/という発音が正しい。”threat”と混同しているケースも見受けられる。

ネットワーク用語

ping

  • 意味: ある宛先にIP的に到達できるかどうかを確認するためのコマンド。
  • 正: ピング
  • 誤: ピン
  • 解説: なぜか世の中には「ピングじゃなくてピンが正しい」というような情報が多いが、カタカナに落とし込むとすると綴りのとおり「ピング」が正しい。「ピン」というのは、例えば”surfing” [サーフィング]が日本語に入ってきたときに「サーフィン」になったのと同じ理屈だ。”-ing”はそもそも日本語にない音で「…イング」という表記をするものの、実際には最後は/ng/ [ング]ではない。「…イン」と言って、最後の「ン」は舌先が上あごに付かないで「ング」というつもりの音だ。”ping”も、音だけ聞くと「ピン」に近いが、この「ン」は上記「ング」であり/n/の音ではない。他の様々な”-ing”が「…イング」とカタカナに落とし込んでいるのが通例なので、”ping”も「ピング」が本来正しい発音だ。ただし、一部技術者でも「ピン」という人も一定数いることは知っておこう。

その他の用語

alias

  • 意味: 別名。あるコマンドに別の名前を付けたもの。シェル環境で、互換性維持のためとか、オプションを含めたコマンドを単体のコマンドのように使いたい場合などに利用することが多い。
  • 正: エイリアス
  • 誤: アリアス、アライアス
  • 解説: 英語では、アクセントのある音節の”a”は/ei/と発音することがほとんどであるが、見慣れない単語だと日本人はローマ字読みで/a/としてしまう。自信がなかったら辞書を引こう。

alt

  • 意味: キーボードの[Alt]キー、「代替の」を表す接頭辞として使われることも。
  • 正: オルト
  • 誤: アルト
  • 解説: 綴りを見ると、誤用するのも無理からぬと思う。本来”alternate” [オルタネイト]は「交互にする」「交替する」というような意味だ。[Alt]キーを押しながら他のキーを押すと、本来のキーの機能ではなく別の機能になる。合唱や楽器で「アルト」(イタリア語”alto”)という用語があるせいか、余計に誤解している人が多い。

deny

  • 意味: 「否定する」「拒否する」。”Access denied.” (アクセスが拒否されました)というようなメッセージで多用される。
  • 正: ディナイ、デナイ (「ナイ」の方にアクセントがくる)
  • 誤: デニー
  • 解説: あまり日本人になじみがないせいか、初見ではほとんどの人が正しく発音できないだろう。これの過去分詞形の”denied”の方がよく使われると思うが、これも「デニード」と読む人がかなりいる。「ディナイド」「デナイド」が正しい。ちなみに英単語の「連想記憶術」では「○○でない、と否定する」という語呂がおなじみだ。

done

  • 意味: (何かしらの処理が)「終了した」「完了」の意味。いくらか時間がかかる処理が完了したときに、ログ画面やメッセージボックスで「…Done.」などと表示されることが多い。
  • 正: ダン
  • 誤: ドウン、ドーン、ドゥーン、ドン
  • 解説: “do”の過去分詞形で「ダン」と発音する。”none”と同じようなノリで勘違いしている人が多い。

exit

  • 意味: コマンドプロンプトやアプリを「終了する」命令やメニュー上の選択肢。
  • 正: エグジット
  • 誤: イグジット
  • 解説: これは筆者も間違っていたのだが、”exit”の発音は/egzit/だ。/e/のところにアクセントがくるのが本来だ。これは名詞でも動詞でも一緒だ。誤用の例では「イグジット」と、「グジ」の部分にアクセントがくることが多いようだ。「エグジット」の場合も、日本語のアクセントと親和性がある「エグジット」としても許容範囲だろう。世の中には同じ名前の芸人がいるので、ますます勘違いする人が多くなりそうだが、芸人の名前に関係なく「エグジット」と言おう(ちなみに筆者はその芸人が好きである)。

launcher

  • 意味: (今はほとんど用いられないが) 利用したいアプリを登録した一覧表のようなもので、所望のアイコンなりをクリックすることでそのアプリを起動できるようにしたウィンドウもしくはデスクトップ環境の特定のエリア。
  • 正: ローンチャ
  • 誤: ランチャ、ラウンチャ
  • 解説: 綴りをそのままローマ字読みしてしまったのが誤用の原因と思われる。”launch”は「打ち上げる」とか「着手する」とかの意味で、コンピュータ業界以外でも「ローンチ」という用語で使われている。

su

  • 意味: 引数で指定したユーザに切り替える。
  • 正: “substitute user” (ユーザを切り替える)という意味で、普通「スー」と読む。まれに「エスユー」と言う人もいるが、間違いではない。
  • 誤: “super user”と勘違いしている人が多いせいか、「スーパーユーザ」と読む人が多いが間違いである。
  • 解説: この例はちょっと他のものと異なり、読み方というより語源を勘違いしている人が圧倒的に多いので掲載した。”su”というコマンドは、例えばfooというユーザが”su bar”とすれば一時的にbarユーザになれる、というコマンドだ(もちろんパスワードを入力する必要がある)。引数を省略して”su”とだけすると、rootユーザ、つまりスーパーユーザになれる(繰り返すがパスワードを入力する必要がある)。実際の場面ではこの「suだけ」で使うことがほとんどなので、これを「スーパーユーザになるコマンド」と勘違いしている人が多い。そのためか”super user”のことだと思ってしまうのだろう。

sudo

  • 意味: スーパーユーザ権限でコマンドを実行する。
  • 正: スードゥー
  • 誤: スドー、スーパーユーザードゥー
  • 解説: このコマンドの前半は”su”を意味しており、「suしてdo」つまり「引数なしのsu = スーパーユーザになって、その次のコマンドをdoする」というものだ。なので「スー」「ドゥー」が正解だ。”su”の項でも解説したが、”su”は”super user”の意味ではないことに注意が必要だ。とある技術系のサイトにも”super user do”と解説されていて愕然としたが、それはそのサイトに「誤用」が掲載されているだけである。鵜呑みにしないようにしよう。

threat

  • 意味: セキュリティ上の脅威。
  • 正: スレット
  • 誤: スリート、スレッド
  • 解説: これも綴りだけ見ると、”reat”部分を「リート」と読みたくなってしまうが、/ret/という発音が正しい。”thread”と混同しているケースも見受けられる。

warning

  • 意味: 警告
  • 正: ウォーニング
  • 誤: ワーニング
  • 解説: “war” [ウォー]と同じく、「ウォーニング」である。これもまた綴りをローマ字読みしてしまうのが原因だろう。

番外編

ホームページ

  • 意味: いうまでもないが、インターネット上で文書・画像等を掲載できる仕組み。あるページから別のページに飛ぶことができる「リンク」という仕組みを持つ。HTML・CSS・JavaScript、HTTP/HTTPS等、様々な技術から構成されている。
  • 誤: ホームページ
  • 正: ウェブサイト、ウェブページ
  • 解説: もはや当たり前になってしまっているが、本来は「ウェブサイト」「ウェブページ」というべきだ。「ホームページ」というのは、本来「ウェブブラウザを起動したときに最初に表示されるページ」または、「ウェブサイト」のトップページ(フロントページ)のことを指す。野球の「ホームベース」とか、キーボードの「ホームポジション」みたいなもので、「ホーム」は何かの「起点」を意味する。筆者も一般の人に対しては「ホームページ」という用語を使うことがあるが、あくまで本来は「ウェブページ」ということを知っておくべきである。 

ASUS

  • 意味: 台湾のコンピュータ関連メーカの名称。
  • 正: エイスース
  • 誤: アサス、エイサス、アスース
  • 解説: ASUSの読み方については、従来から様々な「説」があって、特定のコミュニティ毎にも異なっていたようだ。ASUS社も当初は特段「正式な読み方」は明示してこなかったが、現在は「エイスース」が正式な読み方になっている。ちなみに台湾で流れていたCMでは「アスース」というような発音だったので、本来はこれなのかもしれないが、現在は全世界的に「エイスース」で統一されている。

令和2年10月28日 初出
令和2年11月10日 改訂
令和2年12月25日 改訂
令和3年01月13日 改訂
令和3年01月15日 改訂
令和3年02月27日 改訂
令和3年09月14日 改訂

Cygwinを導入する(3)

Cygwinのインストールが終わったら、各種設定やカスタマイズを行う。ここでは筆者が行った例を示す。

mintty・bashの設定

  • Cygwinのインストール完了後、デスクトップアイコンから起動すると、端末が開く(mintty + bash)。
  • 端末を右クリック→「Options」でフォント等をカスタマイズする。
  • Looks
    • Transparency: Med.
    • Cursor: Block, Blinking
  • Text
    • Font: MS ゴシック, 12pt (適当な等幅フォント)
    • Locale: ja_JP
    • Character set: UTF-8
  • Window
    • Default size: Columns 85, Rows 30 (適当なウィンドウサイズ)
    • UI language: ja
  • Terminal
    • Type: xterm (またはxterm-256color)

bashの設定

  • デフォルトでは/home/[ユーザ名]がホームディレクトリになる。
    • ここにbash関係のデフォルトのドットファイル群がコピーされる。
    • Windows上で環境変数HOMEが存在すればそこがホームディレクトリとなる。
    • Windowsの自分用フォルダをホームにしたければ環境変数HOME%USERPROFILE%またはC:\Users\[ユーザ名]としておくと良い。こうしておくと、/cygdrive/c/Users/[ユーザ名]がホームディレクトリになる。
    • HOMEを設定した場合、デフォルトのホームディレクトリからドットファイル群をコピー(移動)しておく。
  • bashの設定ファイル(.bash_profile, .bashrc)を必要に応じてカスタマイズする。
    • aliasは、.bashrcのコメントを外して.bash_aliasesを読み込むようにする。.bash_aliasesがなければ自分で用意する。
    • pingは、パッケージ版を導入している場合は/usr/bin/pingが使われるので問題ないが、Windowsのpingやipconfigを使う場合は文字化け対策が必要。
# .bash_alias for Cygwin
...
# Use Windows commands.
function wincmd() {
  CMD=$1
  shift
  $CMD $* 2>&1 | iconv -f cp932 -t utf-8
}
alias ipconfig='wincmd ipconfig'
alias netstat='wincmd netstat'
alias ping='wincmd ping'
...
  • パスは、Windows上のPATHに加え、/usr/local/bin, /usr/bin等が追加されている。このため、例えばWindows上に導入したJDKのjavacも使える。

パッケージマネージャapt-cygの導入

  • wgetでapt-cygを導入する。ちなみに、apt-cygは単なるbashのスクリプト。
$ wget https://raw.githubusercontent.com/kou1okada/apt-cyg/master/apt-cyg
$ mv apt-cyg /usr/local/bin
  (↑パッケージで管理されておらず、後で導入したのでlocalに入れた)
$ chmod +x /usr/local/bin/apt-cyg

追加コマンド(パッケージ)のインストール

コマンドは最低限のものしかインストールされていないので、必要なパッケージを追加でインストールする。apt-cygでインストールするのが簡便で良いが、もしapt-cygが使えなかったらsetupのGUIで行っても良い。

$ apt-cyg find [パッケージ名] で検索できる。
$ apt-cyg install [パッケージ名] でインストール。
$ apt-cyg -X install [パッケージ名] うまくいかなかったらこれ。
  • GnuPG: gnupg
  • Cコンパイラ: gcc-core
  • curses関係: ncursesのワイドキャラクター対応版のncursesw, libncursesw-devel, ncursesw-demo
    (これらをインストールすれば、w版じゃない方もインストールされる。clearコマンドも一緒にインストールされる。)
  • make: make
  • man系: man-pages-posix
  • あとは必要に応じて…

Bash Prompt Hereの導入

Windowsのエクスプローラのコンテキストメニューに「Bash Prompt Here」を追加する。

  • パッケージ名: chere
  • 管理者権限で開いたbash上でchereを実行する。
$ chere -isa -t mintty
  • 「何のシェルを使ったらいいかわからない」エラーが出る場合は、明示的にbashを指定する。
$ chere -ia -s bash -t mintty
  • -e "Open in Bash(&B)"とかすると、コンテキストメニューの文字列をデフォルトから変更できる。必要に応じて。
  • -t minttyをつけないと、端末エミュレータとしてデフォルトのコマンドプロンプトになってしまうので注意!

その他

  • Cコンパイラインストール時にMD5のエラーが出る場合、apt-cygスクリプト内の「md5sum」を「sha512sum」で書き換える。あらかじめgrepであたりを付けておくと良い。
$ cat -n /usr/local/bin/apt-cyg | grep "md5sum"
  • Cygwinのルートディレクトリ/は、WindowsのC:\cygwin64 (Cygwinのインストールフォルダ)に相当する。この配下にbinusr等がある。また、Cygwinの/配下には、/cygdrive/cとしてWindowsのCドライブがマウントされている(ように見える)。
  • apt-cygを書き換えるのは、Cygwin上で適当なエディタでやっても良いが、Windows上でC:\cygwin64\usr\local\bin\apt-cygをいじっても良い。

以上、お疲れ様でした。

[参考] アップデート

  • 管理者権限setup-x86_64.exeを実行。
  • 「Pending」状態になっているものがアップデートが必要なパッケージ。
  • 「次へ」でアップデートする。

令和元年10月16日

Cygwinを導入する(2)

インストール

今回は、実際にCygwinをインストールして行く。

Cygwinのサイトからインストーラをダウンロードする。Windows 64ビットなら、特に理由がなければsetup-x86_64.exeをダウンロードすれば良い。

  • Cygwin: https://www.cygwin.com/
  • このsetup-x86_64.exeは、新規インストール時だけでなく、今後のアップデートでも使うものなので、できるだけ最新版を使用した方が良い。
  • このインストーラを、適当な場所に保存しておく。C:\Users\[ユーザ名]\Downloads\Cygwinとか。
  • インストーラを管理者権限で実行する。
  • Download Source
    • 特に理由がなければ「Install from Internet」
  • Root Directory
    • 特に理由がなければデフォルトのC:\cygwin64で良い。
  • Install For
    • 特に理由がなければ「All Users」で良い。
  • Local Package Directory
    • setup-x86_64.exeを置いている場所。既に選択されている。C:\Users\[ユーザ名]\Downloads\Cygwinとか。
    • このフォルダの中に、インストール(ダウンロード)したパッケージを格納するサブフォルダができる。(選択したプロトコルとダウンロードサイトを含んだ長い文字列)
    • このフォルダを丸ごと他の環境に持っていけば同じものがインストールできるようだが、どうも思った通りにならなかったのであまりお勧めしない。別の環境でも一からインストールすることを推奨する。
  • Internet Connection
    • プロキシ環境なら「Use System Proxy Setting」または「Use HTTP/FTP Proxy」で必要な情報を設定する。
    • プロキシ環境でなければ「Direct Connection」で良い。
  • Download Site
    • ダウンロードサイトとして、適当なサイトを選択する。ftpとhttpがある。
    • ftp://ftp.iij.ad.jpとか。
  • Select Packages
    • 必要なパッケージのみを「Skip」を外すことで導入する。ここで選択するのは、デフォルトで入るパッケージ以外の「追加の」パッケージということのようだ。パッケージは後からでも追加できるので、新規セットアップ時にはできるだけ最低限のパッケージだけを選んでおく。
    • ここでは「Category」→「Web」のwgetのみを追加することにする。
  • [次へ]でインストール開始。依存関係を解決するダイアログが出ることがあるが、そのまま[次へ]で良い。
  • Create Icons
    • 各種ショートカットを作成するかどうかを選択する。

以上で、Cygwinのインストールは完了だ。次回は、Cygwinの設定を行っていく。

(Cygwinを導入する(3)に続く)

Cygwinを導入する(1)

プロローグ

筆者が関わっているとあるプロジェクトで、マイコンを使った組み込みシステムの開発がある。実際のマイコンを使って開発・検証・デバッグするだけでは限界があるので、なんとかローカルPCで検証環境を作りたい。

開発言語はCなので、純粋なCのコンパイル環境が欲しい。LCDの表示をコンソールアプリ(端末)上でエミュレートするため、できればcurses (ncurses)を使いたい。Linux (Ubuntu)上では難なく実現できるが、勤務先での環境がWindowsなので、Windows上で実現したい。

選択肢は以下の通りである。

Visual Studio

これでもCのコンソールアプリを開発できるが、基本C++なのでソースファイルの拡張子が.cppになることや、余計なファイル(プロジェクトファイル等)ができてしまうのが難点。またcursesを使えるようにできる情報もあるが、かなり面倒くさそう。

MSYS2・MinGW-w64

開発環境だけをシンプルに最低限揃えるもの。コンパイルした実行ファイルは、そのまま単独でWindows上で実行可能。cursesも導入できる。ただし、Cygwinと違って、POSIX準拠を目指したものではないので、termios.hがない等、コンソール系アプリ、特にエスケープシーケンスを直接用いるようなモノを開発するのには向かない。

(2020/09/30追記)
上記はちょっと正確ではないので、以下補足する。

MSYS2を導入すると、実際には「MSYS2」「Mingw-w64 32 bit」「Mingw-w64 64 bit」の3つのシェル(bash)が使えるようになる。開発環境(gcc)も3種類存在する(MSYS2版、Mingw-w64 32ビット版、Mingw-w64 64ビット版)。

どれでもよいので、いずれかのシェル上で開発環境のパッケージを導入する必要がある。例えばgccなら、パッケージ名は以下の通り3つある。

  • MSYS2版: gcc
  • Mingw-w64 32ビット版:  mingw-w64-i686-gcc
  • Mingw-w64 64ビット版:  mingw-w64-x86_64-gcc

MSYS2のシェルではMSYS2版の開発環境が呼ばれるし、Mingw-w64 64ビット版シェルでは64ビット版の開発環境が呼ばれる。

MSYS2シェルでは「POSIX準拠を目指したものではない」と書いたが、実際にはtermios.hsys/ioctl.hをインクルードするようなコンソール系アプリもコンパイルできる。そのかわり、このアプリはMSYS2シェル上でしか実行できない(Cygwinと同じノリ)。

反対に、Mingw-w64シェルでは、基本的にtermios.hsys/ioctl.hをインクルードするようなコンソール系アプリはコンパイルできない。

したがって、今回の目的では、結果的にMSYS2・MinGW-w64 (のMSYS2シェルおよびMSYS2版の開発環境)でも良かったことになる。

Cygwin

UNIX/Linuxと同等な環境(POSIX準拠)を提供するもの。cygwin.dllがベースとなっていて、こいつがシステムコール等を処理することにより、ソースレベルの互換性を確保するもの。bashやmake等の開発ツール群も一通り利用できる。cursesも(パッケージを導入すれば)利用できる。昔の「思想はわかるけど、いまいち使えない」ものではなく、完全に使い物になるように進化している!


シンプルに行くならMSYS2・MinGW-w64だが、あくまで検証用なので、作成したアプリを別の場所で単独で実行する必要はなく、できるだけ汎用性が高い方が良いだろう。できればcursesも使えた方が良い。そうするとPOSIX準拠の環境がベスト、との判断でCygwinを採用することにする。

Cygwinでは、必要な機能(コマンド)だけをパッケージとして選択してインストールできるので、必要なパッケージのみを導入することができるのも良い。

次の記事では、実際にインストールを行っていこう。

なお、筆者の環境は、Windows 7 Pro 64ビットとWindows 10 Pro 64ビットの両方である。

(Cygwinを導入する(2)に続く)