「プログラミングって、英語みたいな記号ばかりで読みづらい…」そんな気持ち、一度は感じたことありますよね。
そんな悩みに正面から向き合ったプロジェクトが話題になっています。その名も EPL(English Programming Language) ——コードがまるで英語の文章のように書ける、自作プログラミング言語です 🎉
EPLってどんな言語?

EPLは、セミコロンも波括弧も矢印演算子も一切なし。コードを見ると、こんな感じです。
name = "Abneesh"
age = 20
scores = [95, 87, 92]
If age is greater than 18 then
Say "Welcome, " + name
Otherwise
Say "Access denied"
End
For each score in scores
Say score
End
どうですか? 「If age is greater than 18 then」 って、もはや普通の英語ですよね。プログラミング未経験の人に見せても「なんとなく意味わかる!」と感じてもらえるはずです。
ポイントをまとめるとこんな感じです 👇
- ✅ セミコロン不要:文末に「;」を書く必要なし
- ✅ 波括弧不要:ブロックは
Endで閉じるだけ - ✅ 条件文が自然な英語:
is greater thanがそのまま使える - ✅ 出力は
Say:print()じゃなくてSay - ✅ ネイティブバイナリにコンパイル:インタープリタ実行ではなく本格的なコンパイラ
技術的な仕組みはどうなってる?
「英語で書けるだけじゃないの?」と思った方、そこが面白いポイントです。
EPLは ネイティブバイナリへのコンパイル に対応しています。つまり、スクリプト言語のように毎回インタープリタを挟むのではなく、機械語レベルまで変換して実行できるんです。
イメージとしては——
- 英語っぽい構文 → 字句解析(Lexer) でトークンに分解
- トークン → 構文解析(Parser) で構文木(AST)を生成
- AST → コード生成 でネイティブバイナリに変換
「むずかしそう」に見えますが、こうした言語処理の流れはPythonやCと変わりません。EPLはそのパイプラインを英語の文法ルールに合わせて自作した、というわけです 💡
これって何が嬉しいの?
EPLの面白さは技術的な挑戦だけじゃありません。「プログラミングの入り口を下げる」 という視点がとても刺激的です。
たとえば、プログラミングを学び始めたばかりの方が一番つまずくのって、構文エラーですよね。{ を忘れた、; を忘れた……そういうミスがEPLではそもそも起こりません。
もちろん実用言語としての普及はこれからですが、「自分でプログラミング言語を作る」 という発想自体が、コンパイラやインタープリタの仕組みを学ぶ最高の教材になりますよね。
まとめ
EPLは「英語そのままでコードが書ける」というシンプルなアイデアを、コンパイラ技術で本格的に実現した自作プログラミング言語です。構文のシンプルさだけでなく、字句解析・構文解析・コード生成 という言語処理の基礎も自然に学べる面白いプロジェクトです。
「自分だけの言語を作ってみたい」と思ったあなた、まずはEPLのソースコードを覗いてみるのが一番の近道かもしれません。ぜひ参考にして、コンパイラ自作への第一歩を踏み出してみてください 🚀





