Pythonの「Beautiful soup」は何の汁?

Pythonで使うプログラム用語に「Beautiful Soup(ビューティフルスープ)」というおいしそうな構文があります。

これって何の汁(スープ)のことなのかが気になりました。

Androidのバージョンのように、何かしら意図や意味を付けているのかなと思って調べてみた…んですが…

 

結論

Webの開発において「タグスープ」という概念があるそうです。こればいわば、適当に書かれたHTML文章を指します。

例えば、文字を太くするには<b></b>というタグを用いますが、稀にちゃんと閉じられてなかったり、そもそも記述をミスっているタグが用いられることがあります。

【正】
<b>太くなる</b>

【誤】
<b>太くなる< /b>
<b>太くなる</p>

HTMLは比較的構文に漏れや抜けがあってもそれをうまくブラウザ側が読み込むので、一見内容に問題ないように見えます。

しかしコードがぐちゃぐちゃになっているには変わりないので、別の人がソースを見ると「え?」と思うような構文だったりします。

これを「Tag Soup(もつれた汁)」という比喩で表現しているようです。

 

で、このBeautiful soupはHTMLを解析する為のプログラムで、どこにエラーや間違った構文があるかを探し出せるので、どろどろになった汁を綺麗にするという意味から「Beautiful Soup」と名付けられた…とのこと。

 

似たような概念にスパゲッティ・コード(他人が読んだ時に、何を書いているかがわからないコード)というものもあります。

 

関連リンク

ルパン三世 Part5の「アミ」が話すIT用語について

年代別インターネットミームをざっくりまとめたよ

推しの子をベースに鉄道サイト運営者が考える「SNS炎上対策」

 

参考文献

  1. gannenの3文以内にまとめる日記「BeautifulSoupの名前の由来とは?
  2. What’s the meaning of ‘soup’ in jsoup and Beautiful Soup?

プロフィール

執筆者:207

鉄道Webサイト運営17年目。
現在Osaka-Subway.comを含む4サイトと付随する動画媒体を運営中。

鉄道サイト運営のノウハウから、サイトとは全く関連性がない
ようなことまであれこれ書いていきます。

Twitterはこちら

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です