やっほー
独自プログラミング言語を作成する!~なぜ作るのか?~【1】

新プログラミング言語を作成する!~なぜ作るのか?~【1】

  • 2019年10月27日
  • 2021年3月29日
  • Zero
  • ,
  • 53view
作りたいよね?新しいプログラミング言語

エンジニアは最終的に「プログラミング言語」か「OS」を作ると言われています。

僕はそこまでスキルがあるわけでもないですが、エンジニアは物を作る人。

それなら一度くらい自分のプログラミング言語を作ってみてもよいと思うわけです

ということで、今回から新プログラミング言語を作っていきます。

なぜ作るのか?

作りたいからじゃない?楽しいからじゃない?

車輪の再発明?知ったことか

すでに発明されたものを再度作ることを、悪い意味で「車輪の再発明」と言います。

要は「すでに発明されたものを作っても意味なくね?」ってことです。

けど、もしあなたが車輪好きなら、最終的に車輪作りたくなりますよね。

あなたが作りたければ作ればいいわけです

新プログラミング言語を作るメリット

新プログラミング言語を作るメリットは色々あります。

プログラミング言語について詳しくなる

プログラミング言語は、それはもう無数にあるわけです。

僕であれば、JavaやらPHPやらJavaScriptなんかは一通りできますが、これらが一体どのようにできているのか、内部でどのように解釈されているのかなんて意識しませんし知りません

新プログラミング言語は一から作成・構築していくので、「そもそもプログラミング言語とは何なのか」ということに関して詳しくなります。

スキルの証明になる

新しいプログラミング言語を作ったんですよ~」と聞いただけで、エンジニアなら「すげー」と思うはずです。

みんなプログラミング言語は使えても、作ったことがある人はそうそういないですからね。

作った過程をサイトなんかで見れるようにするだけでも十分スキルの証明になります

自分の思い通りにできる

言語を使うにあたって、言語の縛りは必ずありますよね。

型があるかないか」だけでも大きな違いです。

そういった部分を自分で調整できるのは大きなメリットです

なんかかっこいい

なんかかっこいい

かっこつけたい人にはもってこいです。

新プログラミング言語を作るデメリット

新プログラミング言語を作るデメリットはそんなにありません。

というか、作るだけなのでデメリットもクソもないですが。。

それなりの知識は必要

簡単に作れるかといえば簡単ではないですね

初心者がいきなりプログラミング言語を作るのはさすがに難しいと思います。

が、プログラミング言語を作る過程でツールなども使用するので、そういった意味ではエンジニア経験が長い人ほどサクッと作れるかもしれません

どの言語を元に作るのか?

今回は「C言語」でプログラミング言語を作ります。

C言語なんか分からんぞ」という人も大丈夫です。

今この記事を書いている僕もC言語はほぼ触ったことないので

なぜC言語なのか?

プログラミング言語を作成するにあたって「lex」や「yacc」というツールを使います。

これがC言語向けのツールだからです

lex」や「yacc」については、また今度ご説明します。

おすすめ本

これおすすめやで。

まとめ

今回は第1弾ということで、次回から実際に新プログラミング言語を作っていきます

じゃあね
次回の記事はこちら!

さーーーて、今回から本格的に新プログラミング言語を作っていきます。 と言いたいところですが、まずはそのための下準備「環境構築」が必要です。 全体的に昔に作られたツールばっかりなので色々戸惑いそうですが、ささっとやっていきましょう[…]

独自プログラミング言語を作成する!~環境構築~【2】
独自プログラミング言語を作成する!~なぜ作るのか?~【1】
フォローしてもらえると泣いて喜びます