私の仕事
私はソフトウェア開発に携わってもう20年になります。今まで習得した言語は以下の通り。 仕事をしていると開発するシステムによって得意な言語が変わってくるので、次々と覚えることになりました。
- BASIC(大昔、NEC PC6601SRで動かしていました)
- C言語
- FORTRAN
- Prolog
- LISP
- アセンブラ(MASM 8086)
- C++
- Pascal
- Java
- Javascript
- Python
- Visual Basic
- C#
- Objective-C
- Swift
- Perl
プログラム言語というと違和感があるスクリプト言語も挙げますね。
「初心者です。何言語を勉強したらいい?」
私のオススメはC言語です。 「Javaとかのほうが良くないか」、「古くない?」という意見もあるかと思いますが、私なりの根拠があります。
- ”関数”とはなにかがわかる基本言語
どの開発言語も大半は「関数」というものがあります。必ずです。仮にJavascriptだろうがpythonだろうがperlだろうが必ずあります。
何故あるか。それは言語を学んでいくとわかると思いますが、複雑な機能は関数で分割するほうが作りやすいのです。
C言語を学ぶと、C++は似通った文法なので学びやすいのです。Javaも同様です。
- C言語を知っている人は多いので質問ができる
*シンプル
非常にシンプルです。ここでいうシンプルというのは、例えば自動車免許を取る際、マニュアル車で練習するとクラッチの動きがわかりますが、AT車だとクラッチの意味がわからなかったりしますよね。C言語はマニュアル車、Java言語はAT車って感じです。C言語は書いたコードがどのように動くのかわかりやすいのです。
書籍
私がC言語を学ぶ際に読んでいた本を紹介します。
ソフトウェア業界では有名な本です。 なにせC言語を開発した人が執筆した本であり、この本を知らないC言語プログラマはいないのではないか、と言われるほどです!?
とはいえ、わかりやすい本かというと微妙。教科書と思っていただければと思います。
もっといろいろな本を読んだかと思って思い返しているのですが・・・実はC言語は上記の1冊以外は読んだ記憶がないですね。しかも一冊を最初から最後まで通して読んだことはないです。必要な章だけかいつまんで読んでいました。