エンジニアは最終的に「独自プログラミング言語」か「OS」を作ると言われています。
僕はそこまでスキルがあるわけでもないですが、エンジニアは物を作る人。
なら、一度くらい自分のプログラミング言語を作ってもよいと思うわけです。
ということで、今回から独自プログラミング言語を作っていきますん。
僕のプロフィールはこちら
なぜ作るのか?
作りたいからじゃない?
楽しいからじゃない?
それだけじゃない?
車輪の再発明?知ったことか。
すでに発明されたものを再度作ることを、悪い意味で「車輪の再発明」と言ったりします。
要は「すでに発明されたものを作っても意味なくね?」ってことです。
けど、もしあなたが車輪好きなら、最終的に車輪作りたくなりますよね。
あなたが作りたければ作ればいいわけです。
誰かにとやかく言われる筋合いなくない?
独自プログラミング言語を作るメリット
独自プログラミング言語を作るメリットは色々あります。
プログラミング言語について詳しくなる
プログラミング言語は、それはもう無数にあるわけです。
僕であれば、JavaやらPHPやらJavaScriptなんかは一通りできますが、これらが一体どのようにできているのか、内部でどのように解釈されているのかなんて意識しません。
独自プログラミング言語は一から作成・構築していくので、そもそもプログラミング言語とは何なのかということに関して詳しくなります。
スキルの証明になる
「独自プログラミング言語を作ったんですよ~」って聞いただけで、エンジニアなら「すげー」って思うはずです。
みんな言語は使えても、作ったことがある人はそうそういないですからね。
作った過程をサイトなんかで見れるようにするだけでも十分スキルの証明になります。
自分の思い通りにできる
言語を使うにあたって、言語の縛りは必ずありますよね。
「型があるかないか」だけでも大きな違いです。
そういった部分を自分で調整できるのは大きなメリットかもしれません。
なんかかっこいい
なんかかっこいい。
かっこつけたい人にはもってこいです。
独自プログラミング言語を作るデメリット
独自プログラミング言語を作るデメリットはそんなにないです。
というか、作るだけなのでデメリットもクソもないですが。。
それなりの知識は必要
簡単に作れるかといえば簡単ではないですね。
初心者がいきなり独自プログラミング言語を作るのはさすがに難しいと思います。
が、独自プログラミング言語を作る過程でツールなども使用するので、そういった意味ではエンジニア経験が長い人ほどサクッと作れるかもしれません。
どの言語を元に作るのか?
今回は「C言語」で独自プログラミング言語を作ります。
「C言語なんか分からんぞ」という人も大丈夫です。
今この記事を書いている僕もC言語はほぼ触ったことないので。
なぜC言語なのか?
独自プログラミングを作成するにあたって「lec」や「yacc」というツールを使います。
これがC言語向けのツールだからです。
おすすめ本
これおすすめやで。
まとめ
今回は第1弾ということで、次回から実際に独自プログラミング言語を作っていきます。
では。