プログラミングを独学で勉強しながら気づいた仏教の話

御参拝、誠に有難う御座います。住職(管理人)の修羅観音です。

以前もどこかでお伝え致しましたが、私は現在、プログラミングを独学で勉強しております。
浄土仏教者としては、「プログラミングを独学で勉強させて頂いております」と言ったところでしょうかね。



勉強中のプログラミング言語は「Ruby(ルビー)」という、まつもとゆきひろさんという日本人が開発された言語です。

私は、「初心者」という言葉自体、あまり使いたくないのですが、便宜上、あなたにわかりやすく伝えるために使いますが、この話を投稿している時点では、まだ独学で勉強し始めて1ヶ月にも満たない初心者です。

以前もお伝えしたようなサービス、ProEngineer(プロエンジニア)を30歳までに知っていれば、初っぱなから独学じゃ無かったとは思いますがね、私なら活用していますよ、無料ですし。



仏教を学び続け、プログラミングにも手を出した私が、プログラミングと仏教と共通する事や気づいた事が御座います。

プログラミングと仏教の話という、一見風変わりかも知れない話を、楽しんで頂けたらと存じます。

スポンサーリンク

プログラミングを独学で勉強中に改めて学んだ仏教:縁起・因縁生起や因縁果

プログラミングと仏教について、独学で勉強している時に、魚川祐司さんの「だから仏教は面白い!」を、読んでおりまして。

この本を読んでいるときに、丁度プログラミングでは「if文」や「case文」を独学で勉強している最中でした。

確か、「Progate」と「ドットインストール」で、勉強していた最中です。



ifやcaseというのは、他のプログラミング言語を勉強している人でしたら、「ああ、あれか」と、ピンと来るかと存じます。

読んで字の如く、「もしも~なら、結果はこれを表示する」と言ったものです。



で、これが一体、仏教とどう結びつくのか、と申しますと。



仏教の基本的な教説・仏法に、「縁起(えんぎ)」が御座います。

「縁起」とは、初詣に行ったときに凶や大凶を引いて「縁起が悪いなあ。」とか、大吉を引いて「今年は縁起が良いスタートを切った」とか、そういう話ではありません。

「縁起物」って言い方はどうなんだろう、と、縁起物という物体を観るたびに、私は思うところがありますが、その話はひとまず置いておきまして。



「縁起」「因縁生起」のことであり、大雑把ですがわかりやすく言えば、「原因によって結果が生ずる」ということです。

縁起については、このようなフレーズで解説している人も多く、聞いた事があるよ、という方もいらっしゃるやもしれません。

これあればかれあり、これ生ずればかれ生ず、これなければかれなし、これ滅すればかれ滅す



これを、縁起・原因と結果の話にして解説致しますと。



例えば、Aという条件が合ったと致しましょう。

このAという条件があれば、Bという結果が生じます。

Aが生ずることによって、Bも生ずることであり、AがなければBもなし、Aが滅すればBも滅します。



このことを、プログラミングに当てはめてみると、こんな感じです。



A = 2
if A > 1 then
puts “B”
end



もしAが1より大きいならば、Bという果が表示される、という現象が起こります。

(申し訳ありません、上手く言語化出来ていないかとは思いますが、大雑把に言いますと、こんな感じです。)



そして、そもそも私がこのプログラミングをしなければ、Bを表示させるという果も生じません。

Aが滅すればBも滅する、というのも、同様に把握出来るかと存じます。



プログラミング言語を独学で勉強中、魚川祐司さんの「だから仏教は面白い!」を読んで、このように仏教の縁起について、改めて学ばせて頂いたものです。



エラーが起こったときも、エラーになる入力をしたという因があるから、エラーという果があるんだなあ、と、ちょっとストレスも軽減される・・・というのは、流石に無理がありますかね。

プログラミングを独学で勉強しながら学ぶ仏教:創造と到達

プログラミングを独学で勉強し、同時に仏教も学ばせて頂いた事柄として、その他には「創造と到達」が御座います。



実は是、歴史の授業で見られる表現の変化とも、関係があったりすることなのですよ。

もしかしたら、私くらいの世代でしたら、学校で渡される歴史の教科書で、ある表現が変更された事に、気づかれた人もいらっしゃるかもしれません。

これは、歴史の教科書を読むたびに、私が少年時代からずっと抱いていた疑問でもありましてね。



それは、「~大陸発見→~大陸到着」と、「発見」が「到着」に書き換えられたという点です。



この変更は、元々「~大陸」にお住まいの人達の視点が抜け落ちていて到着した側だけの視点で語っているのではないか、という議論があったため、という説明を受けた事が御座います。



この視点は、仏教にもあります。



歴史の授業で、「大乗仏教」「上座部仏教」という名前を、聞いた事がある人もいらっしゃるでしょう。

大乗仏教は現在もそのままですが、昔は上座部仏教や原始仏教サイドの事を、「小乗」と呼んでいた時が御座います。

これは、大乗仏教側から観ての表現であり、小さいと表現するのは侮蔑的では無いか、という議論があり、そこから上座部仏教という言い方をするようになった、と、私は教わったものです。



それを踏まえて。



私は、プログラミングを独学で勉強しながら、このこともふと考えたものです。

プログラムなりソフトウェア、ウェブアプリを開発は、プログラミング言語を用いて、今までなかったものを「創造、創作」しているという構造も見えます。

確かに、アプリ開発は「新しいアプリケーションを創造している」と言えましょう。



それはそれで、人の視点では私もそうだと思うのですが、もう一方で、私は違った視点から違った考え方もしております。



プログラミング言語は何でも良いのですが、例えば何かをプログラミングによって、何かのプログラムなりWEBアプリが出来上がり、人の目や耳で知覚できるようになったとしましょう。

表面上は、確かにプログラミング言語を用いて、プログラムを作った人が、プログラムやWEBアプリを「創造」したということになります。



そこから視点を変えてみると。



私は、「元々在ったもの、因は既に在り、人の目や耳で知覚できるようになるという果に到る縁が起こって、それが現出したという現象に到達しただけ」という見方も、一方でしております。

つまり、そのプログラムやWEBアプリは元々あるものだけれども、プログラマーがプログラミング言語を用いてプログラミングしたという「縁」によって、人が知覚できる形という「果」となった、という事です。

創造したのではなく、元々あったものに「縁」によって「到達」した、という話です。



もっとも、娑婆世界や仏教に馴染みが無い価値観なり世界観において、この「縁」を「創造」だとか「創作」と言うのでありましょう。

そっちの方がわかりやすいし、私のようにここまでいちいち考えていると、効率面では課題もありそうですから、こういう事は時間のあるときに哲学したりすると良いかと存じます。



ただ、仏教なり宗教的な視点を持つと、プログラミングもこういった視点で観る事が出来ますよ、と言う事で。
スポンサーリンク

プログラミングを独学で勉強中に改めて学んだ仏教:戒を律する事の意味

プログラミングを独学で勉強しながら、仏教も学んでいると、気づける事は他にも御座います。



続いては、「戒」と「律」について。



戒と律と言いますと、日本では一般的に「戒律」だとか「戒律を守る、戒律を破る」という表現で、覚えられているかと存じます。

「戒」と「律」は、厳密に言えば違いがあるのですが、ここでは話が逸れますから、省略致します。



ちなみに私は、それらの意味を学びつつも、「戒めを律する事、戒は律するもの」という、独自の頂き方もしております。

高校時代、母校では「自主自律」という、「随所作主立処皆真(随処に主と作れば立処皆な真なり)」という前後に通じる言葉を学びましてね、未だにそれを課しておりますゆえに。



話が逸れますから、と言いつつも、話が逸れそうになりました、プログラミングと仏教の話に戻ります。



プログラミングは、一文字間違える、例えばドット(.)一つでも余計にくっついたら、エラーとなります。

これが実に厄介で、ダブルコーテーション(”)が、突拍子も無いところにくっついていたりしてもエラーで、そういう部分は見つけにくいから、「何が駄目なんだ!」と、ストレスの原因にもなり得ます。

ちょっとタイプミスしただけでもプログラムは動いてくれませんし、動いてもバグが生じたりします。

マイナス面、ネガティブな言い方をすれば、ルールがガチガチで融通が利かない、という見方も出来ますね。



仏教においても、戒律と言いますと、あれを食べてはいけない、これを飲んではいけない等、ガチガチのルールっぽい連想・イメージを持っている人もいらっしゃるかと存じます。

ガチな出家者であったり、200以上の戒律がある比丘(僧侶・修行者の事)になるならば、それこそ魚川祐司さんの「だから仏教は面白い!」に書いてあるように、「異性と目を合わせないニート」にならんと行けないレベルです。



でも、プラユキ・ナラテボーさんの本でも学ばせて頂き、毎日の勤行でも気づかせて頂いたのですが、戒律は人を縛る縄ではありません。



確かに、表面的に観ると、制限が多くて窮屈に感じられるのは、理解出来ます。

でも、実は「戒を律する事は、戒によって護られている、戒が守って下さっている」という事に気がつくときがあります。



例えば、仏教の戒として有名な「五戒」の中に、「不偸盗戒(ふちゅうとうかい)」が御座います。

「不偸盗戒」とは、盗まないという戒ですね。

この戒を守る事により、偸盗に関連するあらゆる問題事、トラブルから離れる事が出来ます。

これは、まさに戒に守って頂いているというわかりやすい例で御座いましょう。



また話が逸れますが、「いや、そんなの普通だろ」と思われたら、要注意。

これ、特に現在のインターネットビジネス業界だったり自己啓発系ビジネス業界では、無自覚に人様の財産や時間、更には他人の人生の主導権を偸盗している我利我利亡者や詐欺師が蔓延しておりますからね。

実際に私は、潜入捜査して垣間見てきましたから、確かです。



話を戻しまして。



プログラミングも、一見するとガチガチのルールに縛られており、エラーがしょっちゅう起こると言う事で、ストレスの原因になりやすいものです。

恐らく私もこの先、「なんで動かないんだ、エラーばかりなんだ」と、ストレスが溜まることで御座いましょう。



しかし、実はそのおかげで、一定のルールががっちり決まっているからこそ、複数の人が一つのプログラムを書くと言う事も出来る、とも考えられます。

何でもやってよし、というと、暴走したり無秩序で収拾が付かなくなりますからね。



プログラミングのルールという戒めが礎とある事は、実は大変有り難い事である、そのように徐々に頂いてきております。



私は、「美しいプログラミング」だとか、「綺麗なコード」という概念があるのは、この戒ともいえるルールがしっかりと確立されているからでは無いか、仏教をつがいとして、そのような事を学んでおります。

と、言いますか、私自身に言い聞かせております。

プログラミングを独学で勉強しながら仏教の開発僧のような在り方を

プログラミングの勉強であったり、プログラミング言語を独学で学びながら、仏教をつがいとして、色々と気づかせて頂ける事は、大変有り難く、尊い事だと頂いております。



プログラミングと仏教は、そもそも関係がなさそうに思えますが、実はちょっと視点を変えたり、視点を持つだけで、見えてくる事もあります。



例えば、「アプリ開発」と言いますけれども、この「開発」という言葉は仏教用語です。

「開発」は、仏教では「かいほつ」と言いまして、「他人を悟るようにすること、自らの仏性をうち開くこと」とです。

それが転じて、「技術開発」といった「かいはつ」という日常語となっていったという経緯・さすらいが御座います。



プログラミングの話に転じますと。



プログラミングでアプリ開発をしているときや、私のようにプログラミングを独学でなんとか勉強しているときに、何かに気づいたとしましょう。

それによって、気づく事が出来る自己に気づき、そこから可能性を見出すことが出来れば、己を開発(かいほつ)したことになるのではないか、というのは、強引過ぎるでしょうか。

言い過ぎかも知れませんが、しかし言葉一つとってもそうですし、プログラミングと仏教には、結構意外な共通点や、共に学べる事柄がある、そのように、実際に独学で勉強しながら気づいている事であります。



そんなこんなで、開発僧になったつもりで、プログラミングと仏教を勉強し続ける今日この頃に御座います。



尚、この話と関連して、独学以外の方法についても触れておりますから、こちらも参考になるかと存じます。

参照記事:「ProEngineer(プロエンジニア)が完全無料で終活支援ありとな!夏休みや休職中のプログラミング学習に良さそう」





最後に、注意点をば。



現在の私は、費用の問題もあって、プログラミングは独学で勉強中ではあります。

でも、独学で勉強することや、プログラミングスクール(学校)などで勉強することそのものが目的では無いはずです。

目的や到達点の一つは、プログラムを組んだりアプリケーション開発を自分の手でする、というところです。

そこから更に、いわゆる「フリーエンジニア」となって、お金を稼ぐことが目的の人もいらっしゃるでしょう。



私の現在の状況をお伝えするために、独学独学と言ってきましたが、ProEngineer(プロエンジニア)や、最近でしたらテックキャンプテックアカデミーなど、頼れるならばどんどん活用するのも一つの有効な方法である、と、つけ加えておきます。

私は基本的に独学で勉強中ではありますが、テックアカデミーの無料体験やってますし。

そもそも、独学か学校・スクールで習うか、どちらがより適しているかは、個々の相性や適正によりますからね。



ちなみに、無料のプログラミングスクールも御座います。

上でお歌絵致しました、ProEngineer(プロエンジニア)とテックキャンプが、充実した無料プログラミング講座を開講しています。

ただし、年齢制限がありますが。

参照記事:「ProEngineer(プロエンジニア)が完全無料で終活支援ありとな!夏休みや休職中のプログラミング学習に」

参照記事2:「無料のプログラミングスクール(年齢制限あり)がいかす|ProEngineer(プロエンジニア)とテックキャンプ」



・・・これを書き終わってから改めて、「独学ってなんだろう?」って思いました。

私、独学でプログラミングを勉強しているといっても、インターネット上の無料学習サイト、いわゆるオンライン無料スクールやサービスの力を借りまくっていますからね。

どこからどこまでが、独学の許容範囲か、まあ、そこまで気にすることでは無いのかも知れませんが。



合掌、礼拝

スポンサーリンク