汰郎と申します

はじめまして。

汰郎(たろう)と申します。 

私は趣味で、数学に関連した計算機プログラムを作っています。計算機プログラムで使用する言語は、主にJavaです(Java以外だと、C言語、Python、PHP、javascriptなどを触ったことがあります)。

noteでは、githubに挙げたプログラムを紹介・解説していくつもりです。以下は、私のgithubアカウントのURLです。

https://github.com/calculatormania/calculatorprogram

ご興味があれば覗いていってください。


数学とプログラミングは、とても相性が良いです。かつて私は「web関係のシステム構築で数学は役に立たない」と言われた事がありますが、これは違うと思います。私が持っている数学的思考力は、コードを書く上でとても役に立っています。

数学の中に登場する"概念"や"定理"ではなく、数学をするときに使う"考え方"。日々コードを書いている中で、これが非常に重要だと私は感じています。

勿論、数学自体が世の役に立つ事はたくさんあります。例えばRSA暗号、楕円曲線暗号などの、通信内容を第三者から見られないようにする暗号技術は、その一例です。暗号技術のおかげで、企業における重大な機密が含まれたメールが第三者に傍受されずに済みます。webサイトのURLで先頭に「https」とついたものも、暗号技術が使われています。第三者から、閲覧情報や入力情報などが守られます。暗号技術は通信する際には欠かせないものです。

プログラミングにおいては、数学に登場するものが役に立つ機会は少ないでしょう。しかし、考え方自体は大いに役立ちます。

例えば、"部品化"の考え方。

これは、見やすいコードを書くために、役立ちます。面倒な処理を関数化(メソッド化)する事で、mainメソッドに記述する量が減り、見やすくなります。書いた本人以外の人からしても、とても見通しの良いコードが書けます。

数学も、ある意味"部品化"の学問です。まず数学と言うのは公理から出発します。公理を使って正しい事実を積み重ねていき、既に証明した事実はまた新しい事実を証明するために使い… という風に、既知のものを部品と考えます。

数学において、既に証明した定理やら命題やらの証明を、新しい定理の証明中で書くのはナンセンスです。既に正しいと分かっているのだから、それは認めて使って良いのです。本筋には書かなくてよいのです。

上で書いた「面倒な処理」も、「既に証明した事実」と同じです。既にその処理が書けているのであれば、それを関数化してしまい、本筋であるmainメソッドで面倒な処理をたったの数行で書いて済ませるのは、とてもスマートですね。まぁ、かくいう私もこれが、中々できないんですけどね(笑)

(これは余談です。オブジェクト指向型のプログラミング言語では「部品化」の考え方が重要だとどこかで耳にしましたが、部品化というコトバがしっくりきたので、ここでこのコトバを引用させていただきました)

まだまだ書きたいことはたくさんありますが、初投稿であまりたくさん書くのは相応しくないと思うのでここまでとしておきます。

以上です。

この記事が気に入ったらサポートをしてみませんか?