ぴにゃでも分かる!??大石泉すき言語プログラミング初級編
この記事は大石泉アドベントカレンダー20182日目の記事です。
はじめに
この記事は主にプログラミング未経験者向けの大石泉すき言語プログラミングの入門記事です。
ので、プログラミング経験者の方はこの記事を読むより他の"Brainf*ck"の入門記事を読んだ方が良いかもしれません。
今回はあくまで入門編、ということで、 最後まで読むと、ひとまず大石泉すき言語で好きな文字を表示させることができるようになる……と思います。
準備するもの
たぶん、このブログ記事が表示できてる時点でもう準備OKだと思います。
そもそも、大石泉すき言語とは
大石泉すきな言葉だけでプログラミングができるという夢のようなプログラミング言語です。 とはいえ、完全に一から作られたわけではなく、"Brainf*ck"というプログラミング言語の派生言語です。
何ができるの?
派生元と同じく、一般的なプログラミング言語でできることは(理論上は)全て可能とされています。 とはいえ、Web上の大石泉すき言語では何か入力された文字に対して何か処理を行って表示することができる、に留まります。 もっと他のこともしたければC#版がありますので、そちらでどうぞ。
そもそも、プログラミング言語とは何か
先ほどから当たり前のように「プログラミング言語」という言葉を使ってきましたが、 プログラミング言語とは一体どんなものなのでしょうか。
「言語」といえば、今この記事を記述するのに使われている「日本語」も言語の一つです。
日本語などの我々人間が普段使う言語が基本的に人間同士でのコミュニケーションするための言語であるのに対し、 プログラミング言語は「人間がコンピュータに指示を与えるため」の言語であると説明することができます。
コンピュータのきもちになるですよ
まず、大石泉すき言語を聞いてくれるコンピュータは、まず数字の入る箱を大量に、 そしてその箱の数字を1増やしたり、1減らしたりすることのできる手を一本持っています。
ちょうどこんなイメージです。
そんなコンピュータに、大石泉すき言語で指示を与えていくのです。
大石泉すき言語に定義された言葉
さて、大石泉すき言語には、8つの言葉が存在します。
すき -> 今見てる箱の数字を1つ増やす 好き -> 今見てる箱の数字を1つ減らす 大石泉 -> 今見てる箱の次の箱を見る 愛してる -> 今見てる箱の前の箱を見る すき! -> 今見てる箱の数字を文字として解釈して表示する すき? -> 文字の入力を要求し、その文字を数字に直して今見てる箱に入れる いずみん -> 今見てる箱の数字が0なら次の一番近いイズミンの後まで指示をスキップ イズミン -> 今見てる箱の数字が0以外なら前の一番近いいずみんの後まで戻る
今回の入門編では「すき!」「すき?」「大石泉」「愛してる」の四つの言葉のみ使います。
(補足)数字を文字に?文字を数字に?
先ほどの説明で「数字を文字として解釈する」などというよくわからない表現をしました。 この節ではそこの説明をしていきます。
実は、コンピュータ上で表示されている文字は、数字(値)でやり取りがされていて。 「この数字(値)は、この文字を表す」という決まり事に則って、 私たちの目にふれる時には文字として表示されているのです。
大石泉すき言語は文字を文字のまま扱うことができません。 なので、一度数字になった状態で箱に入れたり、 箱から出すときに数字から文字に変えてから出したりするのです。
ひとまず、現状の理解としては 「大石泉すき言語は文字を扱うときも数字と思って扱っているのだ」 とぼんやり頭の片隅に置いておく程度で大丈夫です。
初めての大石泉すき言語プログラミング!!
試しに、三文字の入力を箱に入れ、逆の順に表示するプログラムを考えてみましょう。 (イメージ:泉石大 -> 大石泉)
まず、"すき?"で最初の文字を入れます。 二文字目の文字を入力するために"大石泉"で次の箱を見ます。 そして"すき?"で二文字目の文字を入れます。 三文字目の文字を入力するために"大石泉"で次の箱を見ます。 そして"すき?"で三文字目の文字を入れます。 この時点でコンピュータは三文字目の文字が入った三個目の箱を見ています。 "すき!"で三個目の箱の文字を表示します。 "愛してる"で一つ前の箱、二個目の箱を見ます。 "すき!"で二個目の箱の文字を表示します。 "愛してる"で一つ前の箱、一個目の箱を見ます。 "すき!"で一個目の箱の文字を表示します。
実際のプログラム
すき?大石泉すき?大石泉すき? すき!愛してるすき!愛してるすき!
書けたら、大石泉すき言語Web版で動かしてみましょう。 「実行」を押してプログラムを動かすと値を入力してくれと言われるので、入力すると頭から三文字が逆さまになって表示されるはずです。
おわりに
プログラミング未経験でもと謳った割には結構説明端折ってしまってる感しかないのでまた気が向いたら書き直します。
そして初級編があるなら中級編もあるよねってことでもし続いたら今度は「いずみん」「イズミン」を使う、大石泉すき言語プログラミング中級編をお送りします。
いえいえ、そんなことはどうでもいいのです。明日(12/3)はいずみの日。いずみの日ですね!! 今のところアドベントカレンダー空いてるので明日になっても空いてたら(そして書く時間が確保できたら)大石泉すき合戦の告知記事が書かれるかもしれません。