この文書の対象読者
この文書は、自然科学分野の学生でかつこれまでほとんどプログラミングの経験がない人を対象としたプログラミング入門である。
この文書では気軽にプログラミングを体験することを目的としている。 その上で、プログラミングに必要な基礎知識を学び、初歩的な数値計算のためのプログラムが書けるようになることを目標としている。
この文書は厳密ではない部分があるし、網羅的でもない。 従って「きちんと」学ぶにはこの文書だけでは不十分であるが、プログラミング学習の最初で最大の障壁である「まず始める」を低くしている (つもりである)。
パズル感覚でプログラミングで遊んでみて欲しい。
どの言語を学ぶか
世の中には非常にたくさんのプログラミング言語があるが、その多くはかなり似通っており、一つの言語を学べば他の言語も比較的容易に習得できることが多い。
そしてプログラミング学習の最大の障壁は、プログラミング学習そのものではなく、その前のプログラミング環境構築、つまりどうやってプログラムを書いてどうやって実行するかにある。
その意味で最初にどの言語を学ぶかはあまり重要ではないが、以下に私見をまとめてみた。
- C 言語
-
最初の言語としては悪くないが、やや難しい。他の(より簡単な)言語を知っていた方が早いと思われるので、二番目以降に習うのが良いだろう
- C++
-
大変難しいので、最初の選択肢としては避けた方が良い
- JavaScript
-
とっつきやすい。 環境構築なしでも学習できるので最初の言語としては悪くない。 ただし誤った書き方をしても実行できてしまったりするので、間違いのないプログラムを書くためには他の言語より気を使うことが多い
- Java
-
Java と JavaScript は完全に異なる言語であるので注意。 コードの記述量が多くなりがちで、オブジェクト指向を分かっていないと本質的な理解が難しいため、最初の言語としては避けた方が良いと思う
- Python
-
最近の流行り。 環境構築できるのであれば、最初の言語として悪くない (大抵の Unix 系 OS では最初から入っていることが多い)。 記法がやや独特
- Fortran
-
環境構築がやや難しい。 環境構築できるのであれば、最初の言語として悪くない。 古い言語だが、自然科学分野ではまだ良く使われている (自然科学分野以外ではかなりマイナー)
さぁ、始めよう!
思い立ったが吉日。さっそく始めてみよう。
このウェブサイトでは、JavaScript あるいは Python を使ってプログラミングを学べるようになっている。 ウェブブラウザーで読みながら、その場で実際に動かしてみることができるので、準備なしで始めることができる。 (他の言語版の作成も検討中である)
このページ作成にあたって以下のソフトウェアを使用している。
-
Kontrast — Söngen Development GmbH (Proprietary)
-
CodeMirror — Copyright (C) 2017 by Marijn Haverbeke <marijnh@gmail.com> and others (MIT License)
-
esper.js — Copyright (c) 2016 Robert Blanckaert (MIT License)
-
gohugo-theme-phosphor — Copyright (c) 2021 Takashi P. KATO(H) (MIT License)