別名: 不具合
プログラムの誤りや、それによる想定外の動作のこと。「虫(bug)」が語源。エラーは画面に出る警告文で、バグはその原因となる誤りを指すことが多い。
バグとは、プログラムに入り込んだ誤りや、それが引き起こす想定外の動作のことです。英語の bug(虫)が語源で、「プログラムに虫が入り込んで悪さをしている」というイメージから来ています。バグを見つけて直す作業は「デバッグ(虫取り)」と呼ばれます。
「レシピの書き間違い」です。プログラムは書いたとおりに動く作業マニュアルなので、「塩」と書くべきところに「砂糖」と書けば、コンピュータは忠実に砂糖を入れます。コンピュータは間違えません。間違っているのはいつもレシピ(コード)のほう——これがバグの本質です。
実は、エラーが出るバグは親切なバグです。場所を教えてくれるからです。怖いのは、静かに間違った結果を出し続けるバグのほうです。
初心者がつまずきやすいポイント
エラー画面を見た瞬間に「自分には向いていない」と心が折れることです。プロでも毎日バグを出し、毎日直しています。バグはプログラミングの失敗ではなく日常業務。「エラー文はコンピュータからの質問」と捉えられるようになったら、初心者卒業です。
API(エーピーアイ)
プログラム同士が情報をやり取りするための窓口。中の仕組みを知らなくても、決められた形で頼めば決められた形で返ってくる。
CSS(シーエスエス)
Webページの「見た目」を書くための言語。色・文字の大きさ・余白・配置・アニメーションまで、デザインに関わる部分をすべて担当する。構造のHTMLとセットで使う。
GitHub(ギットハブ)
プログラムのコードを保管・共有するためのWebサービス。変更の履歴がすべて残り、いつでも前の状態に戻せる。Vercelと連携すると、コードを送るだけで自動でサイトが更新される。
HTML(エイチティーエムエル)
Webページの「構造」を書くための言語。見出し・段落・画像・リンクなど、ページに何がどの順で置かれるかを定義する。Webページはすべて最終的にHTMLでできている。
JavaScript(ジャバスクリプト)
Webページに「動き」を付けるためのプログラミング言語。ボタンを押したら開く、入力をチェックする、データを取ってきて表示するなど、ページ上のあらゆる動作を担当する。
Next.js(ネクストジェイエス)
Reactをベースにした、Webアプリ開発の人気フレームワーク。画面・ページ切り替え・サーバー処理までひと揃いで作れる。本サイトもNext.jsで動いている。