
重量級のプログラミング言語を3つ並行して学ぶ試み(C、C++、C#)~亀歩戦術日誌~
こんにちは。こいずみりくです。
プログラム[program]
(中略)[情]コンピューターで処理ができるように、計算の手順・方法を、特定の記号[=プログラム言語]でくわしく指示したもの。(後略)
私の標榜する亀歩戦術(かめほせんじゅつ)では、カメのような鈍くとも着実な前進を目指すわけだけど、その一歩一歩は力強さが求められる。
今回は、コンピュータでプログラミングを行うための言語(=プログラミング言語)の中でも、特に習得難易度が高いと言われている言語を3つ並行して学ぶという試みについて話すよ。
プログラミング言語「史」を辿る旅
C言語、C++、C#は名前がよく似ていることから類推されるように、近い系統の言語らしい。まずC言語が生まれ、それに機能を追加してC++になり、それを整理してC#が開発された、みたいな流れ…らしい。
もうちょっと専門的な言い方に寄せると、手続き型言語にオブジェクト指向の考え方が追加されて、それが洗練されていった…みたいなことらしい。
「らしい」を連発しているのは、Wikipediaなどでかじった知識で理解があやふやだからである。今回3つの言語を学ぶのは、実際にこれらの言語を学んでプログラムを書いて見る中で、それぞれの特徴や時代の変遷みたいなことを、肌で学んでみたいからである。
初心者には全くオススメできない
この方法、初心者には全くオススメできない。C、C++、C#は、ひとつひとつ取っても習得が難しめの言語だし、普通は一度にひとつの言語に限定しないと混乱する。
本当の初心者の場合、もっと気軽に学べる言語が他にあるし(JavaScriptとかPythonとか)、同時並行は絶対にやめるべきだ。
私が3つ並行するのは、多少なりとも経験者だからだ。学生時代に研究でC言語を使用していたし、C++やC#で使われている考え方(オブジェクト指向)も他の言語(Javaなど)で体験済みである。
そうした背景のもと、私がやりたいことの主眼はプログラミング史であってスキル習得ではないから敢えて3つ並行するわけで、多くの人には縁のない勉強法だ。この記事、いったい誰に刺さるのだろう。
プログラミング学習には良い時代
かつて私がプログラミングの勉強をしてた頃は、教授の下手くそな授業で理解できず、本を買うけど難解で分厚く、とにかく四苦八苦してた。けれども、今は手軽に情報にアクセスできる。
Amazonで検索すると見やすいレイアウトで説明も分かりやすい書籍がたくさんヒットするし、今は本を買う必要すらないかもしれない。オンラインのドキュメントやYoutube動画を使えば、手取り足取り教えてもらえる(しかもタダで)。
そんなわけで、今回の勉強ではネット上の情報をメインにサクサク学習を進めてゆこうと思う。また進捗があれば記事にする。
お知らせ
匿名での質問やメッセージを下記にて受け付けております。今のところ一通も届いてないけど、めげないっ。頂いたメッセージは記事で取り上げる場合がございます。