はじめに
ずっと気になっていたプログラミング言語がある。
名前を聞いただけで「あれ、なんだか綺麗だな」と感じてしまうような、不思議な言語。
その名は Euphoria(ユーフォリア)。
「恍惚」「多幸感」「陶酔」。
普段プログラミングの文脈ではあまり使われない、どこか感情的で柔らかな単語だ。
なぜ、この言葉がプログラミング言語の名前として選ばれたのか。
その理由がずっと気になっていた。
Euphoria という名前の意味
まず単語そのものの意味を確認しておきたい。
Euphoria はギリシャ語 euphoros に由来し、
- 恍惚
- 多幸感
- 気分の高揚
- 「快い精神状態」
といった肯定的なニュアンスで使われる一方で、
医学・心理学の文脈では薬物による異常な多幸感や、
躁状態に伴う危うい高揚を指すこともある。
この“快さ”と“危うさ”が共存する感じが、
個人的には Euphoria という単語の魅力のひとつにも思える。
技術用語とは距離のあるこの言葉が、
なぜプログラミング言語の名前に選ばれたのか──
興味を引かれるのは自然なことだった。
学生時代に同名のドラマ Euphoria にハマっていたことを思い出した。懐かしい哉。
名前の由来:公式説明と、それに対する見方
Euphoria の名称について、
公式ドキュメントでは次のような頭字語(acronym)として紹介されている。
End-User Programming with Hierarchical Objects for Robust Interpreted Applications
(参考: https://openeuphoria.org/docs/ )
ただしこの acronym はかなり長く複雑で、
一部では「後付けの acronym(backronym)なのでは」と解釈されることもある。
これはコミュニティで時折見られる意見のひとつであり、
作者が公式にそう述べているわけではないため断定はできない。
それでも、Euphoria の設計を眺めていると、
言語のシンプルさと扱いやすさがこの名前とどこか響き合っているように感じる。
Euphoria の設計思想:シンプルでわかりやすい
Euphoria に触れてまず感じるのは、
構文や概念が非常に素朴で読みやすい ということだ。
- 複雑な抽象化を避ける
- 必要最小限の構文
- 覚える概念が少ない
- コードを読む負担が小さい
公式紹介でも “simple, flexible data types” という表現が使われており
(参考: https://openeuphoria.org/docs/intro.html)、
読みやすさ・扱いやすさを重視した設計であることがうかがえる。
1990 年代に登場した言語ではあるが、
構文は現代でも十分に読みやすい。
Euphoria の特徴
3 種類の型で成り立つ
Euphoria の基本的なデータ型は次の 3 つで構成される。
- atom … 数値(整数・浮動小数)
- sequence … 可変長リスト(異種混在・ネスト可)
- object … atom または sequence
特に sequence が Euphoria の中心的な構造で、
配列・文字列・構造データの表現に幅広く用いられる。
配列は 1 から始まる(1-indexed)
Euphoria の sequence は 1-indexed でアクセスする。
直感的で読みやすい反面、
0-index を前提とする他言語とは少し感覚が異なる。
ブロックを end if / end for で閉じる
Euphoria の構文では、ブロックを明示的に閉じる。
例: end if, end for, end procedure など。
閉じ方が明確なため、コードの構造が追いやすい。
procedure と function が明確に分かれる
- procedure … 返り値なし
- function … 返り値あり
役割が明確なため、読み手にとって意図が把握しやすい。
おわりに — 実際に何か作って確かめてみたい
Euphoria は大規模開発向きの言語ではないが、
小さなスクリプトを書く際の気軽さが印象的だった。
- 文法がシンプルでわかりやすい
- 型の種類が少なく迷いにくい
- sequence を中心にした柔軟なデータ表現ができる
「Euphoria」という名前の柔らかい響きと、
言語そのものの素直な設計が、どこか共鳴しているようにも感じられた。
本当に “気持ちよく書ける” 言語なのか。
それを確かめるために、
実際に小さなプログラムを書いて試してみたい。
この記事はその入口としてまとめたものであり、
次は手を動かしてみた結果も書いてみようと思う。