初めてプログラミングを学ぶとき、本屋さんへ行ってその種類の多さに圧倒されたかもしれません。
どの言語から学び始めてもいい、と言いたいところですが、プログラミング言語の選び方を知ってくと学習を進めやすくなります。
今回は初めての言語選びの注意点など、会話形式でご紹介していきます。
藤沢真人、IT業界20年のベテランエンジニアで40歳。
請負開発の会社でプログラマー、システムエンジニア、プロジェクトマネージャーとしての経験を積む。
その後、中小企業のIT支援をするために小さな会社を設立。
現在はITを活用したい会社のためのアドバイザーとして、複数の会社のコンサルティング業務を行なっている。
モットーは「すべての会社にITを」。
小鳥遊みく(たかなし)は20人規模の食品会社に勤める27歳。
新卒で事務職の正社員として就職したが、その働きぶりが評価され総務担当に昇進。
現在は社内の何でも屋として奔走中。
彼女の会社のITアドバイザーとして真人が入り、IT関連で何かあるごとに真人に確認している。
最近の悩みは社内にシステムエンジニアがいないこと。
初めのプログラミング言語はどうやって選べばいいのか?
プログラミング言語ってたくさんあるのよね…。
みくさん、突然どうしたの?
私も一度プログラミングをやってみようかと思って。
でも、どうやって選べばいいのかしら。
確かにたくさん種類があるよね。
それじゃあ、僕のおすすめ選び方を紹介しようか。
ありがとう!
プログラミング言語は無数にある
ところで、プログラミング言語って世の中に何種類ぐらいあるか知ってる?
いえ、わからないわ。
この記事によると8945種類もあるみたいだよ。
えっ、そんなにあるの!
その中から選ばないといけないのかしら…。
はは、そんなことはないよ。
少し驚かせようと思っただけ。
けれど、数十種類ぐらいは世の中でも使われているイメージはあるかな。
数十種類でも十分多いわね。
そう。
その中から最初に学ぶ言語を選ばないといけない。
それと選ぶときの注意しないといけないこともあるよ。
どんな注意があるのかしら?
やっぱり、学びやすいものを選んだほうがいいだろうね。
最初は出来るだけ有名なものを選ぶといいかもね。
それはどうすればわかるの?
僕の場合は長年使われていて人気のあるプログラミング言語をおすすめするかな。
長く使われるということは、これまでの実績があるということ。
今後の開発にも使われ続けるという展望が見えるわけで、安心して採用ができるとも言えるんだ。
うーん、何となくわかったわ。
でも長年使われているかどうかは初心者にはわからない気がするけれど。
うーん、確かに。
こればっかりはネットで調べたり経験者に聞くのが早いかもしれないね。
それじゃあ、人気があるかはどうすればわかるのかしら?
本屋さんでスペースが大きく取られているプログラミング言語は人気があると言ってもいいと思うよ。
本の種類が多かったり、よく売れるから本屋さんで広い場所が確保されているということね。
そういうことだね。
次はおすすめの言語について例をあげてみよう。
実績のあるという言葉にイメージがつきにくいかもしれませんが、世の中にはあまり流行らずに消えていくプログラミング言語も多数あります。
もし、たまたま目にしたプログラミング言語がマイナーで、それを最初の言語として選んだなら、実務で利用する機会はグッと減ってしまいます。
やはり覚えたからには利用する機会が多い方がいいですし、仕事としてプログラマーを目指すなら需要の多いげんを選ぶ必要があります。
よく聞くC言語はおすすめのプログラミング言語か?
さっきは歴史があって人気もあるプログラミング言語がおすすめという話をしたよね。
ええ、そうね。
例えば、C言語なんかは歴史もあってまだまだ使われているプログラミング言語なんだけど…
実はあまりおすすめできないんだ。
どうして?
私でも聞いたことがあるようなプログラミング言語だけれど。
C言語は有名だけれど、現在では使われる場面が限定されるんだ。
例えば、組み込み系と言われる電化製品の制御に使われたり、ゲーム開発のようなシステムの効率が求められる開発に使われたりする。
組み込み系やゲーム開発だと何がいけないの?
情報工学や数学のような知識が必要になるんだ。
これからプログラマーを目指す人には少し難しいと思う。
また組み込み系なんかは、ウェブシステムの開発に比べて求人数も少ない。
C言語はマシンの性能が低い時代に生み出された言語だから、効率よく動かす仕組みが採用されている。
細かいところは省くけど、1つの動作をさせるのに、プログラマーがたくさんの指示を出さないといけない。
プログラマーが指示を出すというのが想像しづらいのだけれど…。
そうだね…
例えばロボットを作っているとしよう。
プログラマーが歩くという動作を指示をしたとき、右足を先に出すか左足にするか考えないといけないとしたら?
すべてを言わなくても動いてほしいわ。
そういうこと。
C言語はそれに近いところがあって、細かく指示をさせる必要がある。
逆にいうと細かく指示をしやすいということでもあるんだ。
そういうことなのね。
簡単にまとめると、C言語は初めて学ぶには難しい言語だと思ってくれていい。
わかった。
とりあえずでC言語を学ぶという考えはやめておくわ。
そうだね。
今の時代で初めて学ぶには根気がいる言語だと思う。
理由なく学ぶことはないかな。
プログラミング言語には高級言語や機械語という区分があります。
C言語は当時、機械語よりもプログラムが書きやすいということで流行りました。
ただ今となってはさまざまな言語が生み出され、作りたいシステムごとにプログラミング言語を使い分けるというのが当たり前になっています。
C言語は汎用言語と呼ばれ様々なシステム開発に応用できますが、開発の効率性を考えると、あえて選ぶことはないと言えるでしょう。
初めて学ぶにはウェブ言語がおすすめ
それじゃあ、どの言語がおすすめなのかしら?
僕はウェブシステムの開発に使われる言語をおすすめするよ。
具体的にはPHP、Ruby、Pythonなどは学びやすいと個人的には思う。
どういうところが学びやすいの?
すぐにプログラムを書き始められるところだね。
これはプログラムを書く環境や実行する環境も含めて学習しやすいということなんだ。
またC言語ほど詳しい記述がなくてもプログラムが動いてくれる。
ある程度、プログラマーが直感的に書けるんだ。
直感的に書けるというのがあまりよくわからないけど…。
C言語よりは簡単と考えていいのよね?
そうだね。
さっき、PHP、Ruby、Pythonがおすすめと言っていたけれど。
この中で最もおすすめの言語ってあるのかしら?
難しい質問だね。
今から始めるならPythonをおすすめしたいけど、僕が一番得意なのはPHPかな。
そうなんだ。
何でPythonがおすすめなの?
AIなどに使われる機械学習という技術が人気で、
その機械学習がPythonだと扱いやすいんだ。
またPythonは世界的に人気な言語だから、さまざまな技術との連携も強い。例えば、エクセルをPythonで自動化するといったこともできる。
ふーん、今の話はウェブシステムの開発とは違いそうだけど。
PythonのライブラリにDjangoやFlaskというのがあるんだ。
ウェブシステムの開発でも十分な実績があるんだよ。
何でもできちゃう言語なのね。
そうだね。
Pythonは汎用言語とも言われているよ。
汎用プログラミング言語とは、Pythonのようなどんなタイプのシステムでも開発しやすい言語をいいます。
逆に何かに特化した言語では、統計に使われるR言語やデータベースで利用されるSQLのようなものもあります。
いきなりSQLだけを学ぶことは少ないと思いますが、知識として知っておいてもいいでしょう。
得意なプログラミング言語を1つ身につけよう
それじゃあ、最初のプログラミング言語はPythonを学べばいいのかしら。
うん、そうだね。
先にあげたプログラミング言語ならどれでもOKだよ。
ただ、1つ気をつけてほしいことがあって。
しばらく使い続けることを意識してほしい。
しばらく使うというのはどういうこと?
システムを作る技術は無数にあるから、あれもこれも勉強しだすと大変なんだ。
それに、どのようなプログラミング言語を選んでも必ず周辺技術はあるから、一つの技術を軸にして、関連する知識を学ぶことを意識してほしい。
そうなのね…。
周辺技術というのは何があるの?
例えば、ウェブシステムを開発するなら必ずLinuxやSQLといったキーワードが出てくる。
これはPHPやRubyで学習を始めてもウェブシステムであれば大きな違いはないよ。
どのプログラミング言語を選んでも同じタイプの技術なら変わりはないということ?
そう。
どの言語を選んでも使われる目的が同じなら、同じような周辺技術を学ぶことになる。
だから、一つのプログラミング言語を決めたら、焦らずにそれに関わる技術を学んでいってほしい。
わかったわ。
まずは一つ学ぶ言語を決めてそこから派生する技術を学習するわ。
プログラミングに興味がある人なら、「どの言語の学習がベストか」と気になるかもしれません。
先にいくつか挙げたように、有名なプログラミング言語ならどれを選んでも良いと考えています。
ただし、学び始めたからには、しばらく同じ言語の学習を続けたほうが、スキルが身につきやすいでしょう。
特に仕事でプログラミングしたい人は、得意な技術を1つは持っておくとアピールがしやすくなります。
プログラミング言語の選び方のまとめ
初めてプログラミング言語を選ぶときのポイントをまとめよう。
- プログラミング言語はたくさんあるが、その中でも有名で長く使われているものを選ぶ。
- 有名でも古い言語には注意。C言語は歴史があるが、一般的な技術ではなくなりつつある。
- ウェブシステムに使われる言語は学びやすく求人数も多い。
- はじめは一つのプログラミング言語に絞り、周辺知識と合わせて学んでいくことが大事。
これでどの言語を選べばいいか、考えられそうね!
そうだね。
学ぶべき技術には時代の流れもあるから、最新の情報は随時伝えていくよ。
ファンブリューではエンジニアになりたい人を支援しています。
現在こんなお悩みがあれば、ぜひ一度ご相談ください。
- プログラミングを学習したいが、何から始めたらいいかわからない。
- IT業界に就職するために必要な知識が何かわからない。
- 実務経験がなくて現場に入れない