マジカルナンバー4とは?人の認知的限界と良いコードの原則

マジカルナンバー4とは、人が短期記憶で同時に扱える情報量の目安です。チャンクとの関係と、読みやすいコードへの応用を解説します。

公開: 2021年4月5日 · 更新: 2026年9月17日 · 4分 · 1563文字
#It
▲ Article

[直観と論理の違い]なぜ算数は数学より難しいのか

対象読者 高校数学で挫折する理由を知りたい方 数学の勉強へのヒントを得たい方 結論 算数は得意だったのに数学で挫折する人は多い。 進級・進学に伴い、どんどん難しくなっていく数学。あぁ、算数は簡単だったのに。。。 ...

必要条件と十分条件の違い|命名理由と日常例で理解する

必要条件?十分条件?どっちがどっち?ややこしい。 本記事では、「必要」や「十分」と名付けた理由や語感を数学的に明らかにする。 その上で、「必要条件」「十分条件」を日常会話で使いこなす勘所を解説する。 ...

天才ガウス少年のひらめきから導く等差数列の和

小学校の先生は忙しかったので、 「1 + 2 + … + 100を求めよ。」という解くのに時間がかかる問題を出した。 しかし、ガウス君は即答した。 5050だと。 101が50個あるからだ。 ...

含意と空虚な真|なぜ前提が偽でも「PならばQ」は真なのか

数学の「ならば」の定義である真理値表を眺めても、日常会話の「ならば」とは全く異なるように見える。 なぜこの真偽の羅列が「ならば」を表すことになるのだろうか。 ...

プログラミングで関数はなぜ必要か|誕生の動機と適切な使い方

対象読者 理解しやすく保守しやすいコードを作りたい方 プログラミングの関数の「適切な」使い方を知りたい方 結論 関数(function)はプログラミング学習の初級で登場する基本中の基本である。 ...

公開: 2019年3月15日 · 更新: 2026年8月21日 · 8分 · 3990文字
#It
▲ Article

手続き型プログラミングの限界とオブジェクト指向の役割

対象読者 オブジェクト指向がなぜ必要か分からない方 結論 手続き型プログラミングとオブジェクト指向の違いは以下である。 手続き型プログラミングは中央集権であり、 オブジェクト指向は地方分権である。 手続き型プログラミングでは、クライアント(main文などの関数の呼び出し側)が全てを管理しなければならず、 責任が重すぎる。 故に、柔軟性や可読性が下がってしまう。この問題を解決する手段の1つがオブジェクト指向だ。 ...

公開: 2019年4月18日 · 更新: 2026年8月21日 · 4分 · 1725文字
#It
▲ Article

ライブラリとフレームワークの違い|文章作成の比喩とコードで理解する

対象読者 プログラミング初学者の方 色々ググってみたが、本タイトルについて理解できなかった方 結論 両者をググったものをまとめると、 ライブラリとは、再利用可能な部品をまとめたもの フレームワークとは、枠組みが予め決まっている部品をあつめたもの と出てくる。 ...

公開: 2019年4月20日 · 更新: 2026年8月21日 · 10分 · 4687文字
#It
▲ Article

プログラミングのクラスはなぜ必要か|手続き型とグローバル変数の限界

対象読者 以下に飽き飽きした方 「猫クラス、犬クラス」等の説明 オブジェクト指向の抽象的で難しい用語 結論 クラスはオブジェクト指向の土台である。 しかし、クラスを使う動機やメリットを理解することは容易ではない。 抽象的で難しい用語が溢れていて、初心者は圧倒されてしまうからだ。 ...

公開: 2019年4月27日 · 更新: 2026年8月21日 · 10分 · 4632文字
#It
▲ Article

合成関数の微分はなぜ掛け算になるのか|微小変化の比から証明

対象読者 合成関数の微分がイメージできない方 合成関数の微分の手順ではなく、意味を理解したい方 結論 合成関数の微分のことを「なんか分子分母を付け足して微分を展開できること」だと思ってはいないだろうか。以下の式展開は、\(dy\)を分子分母に付け足しているだけに見える。 ...

ガウスの発散定理はなぜ成り立つのか|内側が打ち消し合い表面だけ残る

対象読者 ガウスの発散定理を視覚的に理解し、しっかり暗記したい方 結論 ガウスの発散定理は、 湧き出し量についての表面積視点と体積視点の言い換え 微小要素が打ち消し合って、外側の値だけが残る という2点を理解すれば、公式を忘れても、即座に導出できる(ストークスの定理の理解も同様)。 ...

ストークスの定理はなぜ成り立つのか|内側が打ち消し合い境界だけ残る

対象読者 ストークスの定理を視覚的に理解し、しっかり暗記したい方 結論 ストークスの定理は、 回転量についての経路視点と面積視点の言い換え 微小要素が打ち消し合って、外側の値だけが残る という2点を理解すれば、公式を忘れても、即座に導出できる(ガウスの発散定理の理解も同様)。 ...

真理値とは可能世界の集合である

対象読者 論理学の背景を知りたい方 結論 論理学とは、人類共通の思考方法を形式化し、その性質を研究する学問である。その基礎となるのは、真理値と呼ばれる真か偽かいずれかをとる値である。 ...

プログラミングの本質は抽象化にある|変数・関数・クラスを貫く考え方

対象読者 プログラマの思考法を知りたい方 プログラミングに興味がある非プログラマの方 プログラミング初心者の方 結論 プログラムは実体がなく、イメージしづらい。しかも、横文字の用語も沢山あって、初心者の方にはかなり取っ付きにくい。 なおかつ、コードを綺麗に書くための工夫やら規則やらもある。 ...

公開: 2020年6月3日 · 更新: 2026年8月21日 · 13分 · 6325文字
#It
▲ Article

なぜ空集合はすべての集合の部分集合なのか|定義から証明

空集合はあらゆる集合に含まれる。なぜなのか。 そう決めれば都合がいいから 対偶で証明できる などと説明されがちであるが、否! 定義を追えば普通に証明できる。 空集合特有の約束事や対偶なぞ必要ない。 ...

半加算回路とは?なぜ和がXOR、繰り上がりがANDになるのか

コンピュータではデータを二進数で表現する。 では、その足し算はどのような回路で実現されているのだろうか。 本当は複数桁の2進数の足し算 を考えたいところである。 しかし、まずは最小の、1桁同士の2進数の簡単な足し算について考えるべきだろう。 難しい問題は分割して、より簡単な小さい問題から考えるとよいからだ。 そして、これを実現する回路が「半加算回路」である。 ...

なぜNANDだけで半加算回路を作れるのか?5個のNANDによる構成

半加算回路はAND・OR・NOTだけで表現できた。 では、この3種類の回路をすべて用意しなければならないのだろうか。 実は、ANDとNOTを組み合わせたNAND回路だけでもAND・OR・NOTをすべて構成できる。 つまり、半加算回路も理論上はNANDだけで作れる。 ...

全加算回路とは?なぜ半加算回路2個とORで作れるのか

半加算回路は、 1桁の2進数を足し合わせて和と繰り上がりを求められる。 しかし、これだけでは複数桁の足し算はできない。 そこで必要になるのが「全加算回路」である。 ...

人工知能(AI)の歴史 ~ディープラーニングに至るまで~

対象読者 人工知能の歴史を数式なしで簡単に学びたい方 ディープラーニングは従来のAI技術と比べて何が凄いのか知りたい方 結論 人工知能は現在3回目のブームを迎えている。以下にそれぞれの技術的な主役を列挙する。 ...

公開: 2019年5月10日 · 更新: 2026年8月6日 · 5分 · 2043文字
#It
▲ Article

[理解できない人を増やすだけ]オブジェクト指向の三大要素という嘘

対象読者 オブジェクト指向は難しい、と感じている方 オブジェクト指向言語を使っても恩恵を感じられない方 結論 巷では、オブジェクト指向プログラミングを特徴づける要素として以下の3つが挙げられる。 ...

公開: 2021年8月6日 · 更新: 2026年8月6日 · 8分 · 3602文字
#It
▲ Article