これからプログラミング学習を始めてみたいという方に、私として一番オススメしたいプログラミング言語が Python
になります。
特に Python
をオススメしたいのが下記のような動機で、さらに独学でプログラミングを始めようと考えている方です。
- 将来役に立ちそうだからプログラミングを学んでおきたい
- 暇つぶしにプログラミングやってみたい
- 流行ってるからプログラミング学びたい
つまり、特に目的がない方(作りたいものが明確でない方・就きたい職業が明確でない方など)ですね。
逆に、何かこれを作りたいとか、将来こういう職業に就きたいなどの目標があるのであれば、Python
に限る必要はなく、その目的にあったプログラミング言語を選ぶことをオススメします。
例えば AI や機械学習やりたいなら Python
でいいですし、iPhone アプリなどを作成したいなら Swift
とか、ウェブサイト開発したいのなら HTML
や CSS
から入って PHP
や JavaScript
を学ぶとか、将来 OS やプログラミング言語を作ってみたいという夢があるのであれば C言語
や C++
なんかもいいと思います。
でも、明確な目的はないけど、とりあえずプログラミングを学んでみたいという方も多いと思います。
で、これは別に悪いことでは全くなくて、PC を使って作業をする仕事をしている・将来 PC を使って作業をする可能性がある方であれば、プログラミングは必ず役に立ちます。これはプログラマーやソフトウェア開発に携わらない人にも言えることです。
なので、明確な目的が現状ないとしても、興味があるのであればプログラミングを始めてみることは、私としてはオススメです。
では、数あるプログラミング言語の中で、なぜ Python
がオススメなのか?その点について解説していきたいと思います。
Contents
Python
がオススメな理由
それでは、Python
がオススメな理由について解説していきます。
私が Python
をオススメする理由は、大きく分けると下記の2つになります。
Python
は挫折しにくいPython
は将来役立つ可能性が高い
特にプログラミング学習を始める明確な理由がない方、さらに独学でプログラミングを学ぼうとした方は、残念ながらプログラミングの学習に挫折しやすい傾向にあると思います。
その一方で、Python
の場合、他のプログラミング言語に比較して挫折しにくいので、学習するプログラミング言語としてオススメです(理由は後述します)。
さらに、せっかくプログラミング学習をするのであれば、将来役に立つ方が良いですよね。
特にプログラマーやソフトウェアエンジニアを目指していない方であれば、プログラミング学習をしても、それが将来役に立たない可能性もあります。が、Python
の場合、他の言語に比較して将来役に立つ可能性が高いのでオススメです。特にパソコンを使用して作業するのであれば必ず役に立つと思います。
ということで、私は Python
には下記の2つの特徴があるので、プログラミングを学ぶ上で Python
を選ぶことをオススメします(特にプログラミング学習を始める明確な理由がない方、さらに独学でプログラミングを学ぼうとした方に)。
- 挫折しにくい
- 将来役立つ可能性が高い
では、なぜ Python
には他のプログラミング言語に比較して上記のような特徴があると言えるのでしょうか?この辺りをここから解説していきたいと思います。
Python
は挫折しにくい
Python
は比較的挫折しにくいプログラミング言語です。少なくとも私はそう思っています。
ここでちょっと “なぜ人はプログラミングの学習に挫折するのか?” について考えてみましょう。
この挫折する理由は、大きく分けると下記の2つだと思うんですよね。
- 分からない
- 楽しくない
それに対し、Python
は、この2つの原因を両方とも解消しやすい言語です。
なので Python
の学習は挫折しにくいと思います。さらに、挫折しにくいので、プログラミングを初めて学ぶような方にはオススメです(他のプログラミング言語で挫折した人にもオススメです)。
なぜ、Python
だと上記の2つの原因を解消しやすいのか、その点について解説していきたいと思います。
スポンサーリンク
分からないことが多いと挫折しやすい
おそらく挫折する理由で一番多いのが「エラーの解消の仕方が分からない」「うまく動かせない」「どう書けばいいか分からない」など、”分からないことが多くてやめる” だと思います。
どのプログラミング言語でもそうですが、プログラムの書き方が間違っていると実行時にエラーが発生し、そこでプログラムが停止してそれ以上動かなくなってしまいます。
プログラミング言語によっては、プログラムの書き方が間違っているとそもそも実行すらできないものもあります(コンパイルに失敗する)。
さらに、プログラムの書き方自体が合っていても、うまくロジックを組み立ててプログラミングしないと、意図通りの動作をしてくれません。
こういった、上手くいかないこと・わからないことが多いと、プログラミングの学習に挫折しやすくなります。
また、プログラミングを始めるためには、プログラミングするための環境を用意する必要があるものも多いです。その環境の整え方がわからなくて、プログラミングを学び始める前に挫折する人も多いと思います。
もし、あなたが独学以外でプログラミングを学ぶのであれば、この “分からない” は、簡単に解決することができます。
例えばプログラミングスクールを利用しているのであれば、困っていればメンターが教えてくれますし、授業でプログラミングを学んでいるのであれば、困っていれば講師や友達が教えてくれます。そもそも “分からない” ようなことがないように教えてくれる可能性もあります。
その一方で、独学の場合は、あなた自身がその “分からない” を解決する必要があります。ですので、いかにして “分からない” を解決していくかが、独学の場合のポイントの1つになります。
補足しておくと、プログラミング学習において分からないことが多いのは普通なことです
プロのプログラマーやエンジニアも分からないことが多いので、ググりながら仕事を進めることが多いはずです(少なくとも私はそうでした)
なので、分からないことが多いからといって、”プログラミングが向いてない” と思う必要はないです
最初は分からないことを調べるのも大変だと思いますが、それはすぐに慣れますので、分からないことを恐れずにプログラミングに励んでいただければと思います
Python
は “分からない” を解決しやすい
Python
は、その “分からない” を解決しやすいプログラミング言語です。その理由の根本は、Python
が人気がある点にあります。
Python
は現状、非常に人気の高いプログラミング言語です。例えば Google Trends などで調べると、他のプログラミング言語よりも人気が高いことが確認できます(人気度 = そのキーワードに対する検索数
くらいで考えて良いです)。
引用元:Google Trends
また、よくネット記事などでも参照される TIOBE が発表するプログラミング言語の人気ランキングでは、現在(2021年8月時点)で2位です。現在は1位が C言語
になっていますが、おそらく今年中には Python
が1位になるんじゃないかなぁと思います。
C言語
Python
Java
C++
C#
Visual Basic
JavaScript
PHP
引用元:TIOBE Index for August 2021
では Python
が人気が高いとなぜ分からないことを解決しやすいかというと、それは人気が高い分、Python
の情報を得られやすいからです。具体的には、下記の3点の理由になります。
- ウェブ上に
Python
の情報が多い Python
関連の書籍が充実しているPython
の質問に答えてくれる人が多い
ウェブ上にPython
の情報が多い
人気が高いということは、そのプログラミング言語を使っている人が多いことの裏付けになると思います。
なので、そのプログラミング言語を使っている人が多い分、それに比例してウェブ上に Python
の情報が多いと考えることができます。.
例えば Qiita(エンジニアリングに関する知識を記録・共有するためのサービス)では、タグごとの記事数のランキングが発表されており、Python
タグが付けられた記事数が、週間・月間・全期間の全てで1位です。つまり、他のプログラミング言語に比較して記事数が多いです。
さらに、上記の Google Trends のグラフから見てもわかるように、Python
関連の情報をググる人が多いです。つまり、Python
関連の情報には需要があります。
なので、Python
関連のウェブページを作れば、需要がある分、閲覧数を増やすことができますので、ウェブページを作成するメリットがあります。なので、Python
が人気が高い間は、今後も Python
関連のウェブページはどんどん増えていくことが予想されます。
つまり、Python
関連の情報はウェブ上で手に入りやすいです。なので、分からないことがあってもググるだけでそれを解決できる可能性が高いです。
したがって、人気のある Python
は、分からないことを解決しやすい(ググって調べれば解決できる)プログラミング言語ということができます。
Python
関連の書籍が充実している
これも ウェブ上に Python の情報が多い とほぼ同様で、需要が高いので売り上げが見込める分、Python
関連の書籍は充実していますし、今後もさらに充実していくことが予想されます。
書籍が充実している分、あなたの分からないことは書籍を読むことで解決しやすいです。
Python
の質問に答えてくれる人が多い
さらに、人気が高いということは Python
をやっている人が多いことになるので、その分、Python
の質問に答えてくれる人が多いです。
これは、あなたの身近の人に質問に答えてくれる人が多いだけでなく、ウェブ上でもあなたの質問に答えてくれる人が多いことを表します。
ウェブ上には スタックオーバーフロー や teratail などのプログラミング関連の質問サイトがあり、その質問サイトであなたの分からないことを解決できる可能性が高いです。
例えば スタックオーバーフロー であれば、今月(2021年8月)では Python
に関する質問が一番多いです(他のプログラミング言語に比べて)。
teratail の場合、質問投稿数は Python
が3位ですが(1位は PHP
・2位は JavaScript
)、それでも多くのプログラミング言語の中でも Python
の質問のやり取りが多いことが確認できると思います。
特に独学の場合は、前述の通り、いかに自身の分からないことを簡単に解決できるかが挫折しないための重要なポイントになります。Python
は人気がある分、その分からないことを解決するための情報も多く、他のプログラミング言語に比べて挫折しにくいです。
もちろん、Python
そのものが、プログラムが書きやすく読みやすいというところも、挫折しにくい理由の1つになると思います。
楽しくないと挫折しやすい
挫折しやすい理由のもう1つが、プログラミングが “楽しくなくてやめる” だと思います。
まぁ、何事もですけど、楽しくなかったら続けるの難しいですよね…。
正直、プログラミングが本当に楽しくないのであれば、プログラミングの学習はやめてしまった方が良いかもしれません。
ただ、おそらくプログラミングが楽しくなくてプログラミング学習をやめてしまった人の多くは、プログラミングの楽しさを知る前にやめてしまったケースが多いのではないかと思います。
このケースでやめてしまうのはちょっともったいないですよね…。
特にプログラミング言語を網羅的に学ぶパターンの参考書は、最初に文字を表示の仕方を学んで、計算の仕方を学んで、判断やループの仕方を学んで、さらにクラスについて学んで・・・、みたいな感じでプログラミングの知識を詰め込むことを目的としたものが多いです。
そういった参考書も読むことは重要ですが、プログラミングの楽しさを知るまでの過程が長いので、プログラミングの楽しさを知る前に、つまらなくてプログラミングをやめてしまう可能性が高いと思います。
でもプログラミング初学者が本当に最初に学ぶ的なのは “プログラミングの楽しさ” だと思うんですよね。
もし、あなたが独学以外でプログラミングを学ぶのであれば、プログラミングが楽しくなくても、学習を継続できる可能性は高いと思います。
例えば授業でプログラミングを学んでいるのであれば、楽しくなくても単位を取るためにはプログラミングの学習をせざるを得ないですよね。
またプログラミングスクールで学んでいるのであれば、高いお金を払っているわけですから、途中でプログラミングの学習をやめるなんてもったいないことはなかなかできないはずです。
要は、独学以外の場合は、半強制的にプログラミング学習を強いられることになるので、楽しさを知らなくてもプログラミング学習を継続することができるケースが多いです。
その一方で、独学の場合は、やめるデメリットがすくないので、あなたがやめたいと思えばすぐに辞めれてしまいます。
なので、いかにしてやめたいと思わないようにしてプログラミング学習を進めるかが重要になります。
で、楽しい学習をやめたいと思う人は居ないと思うので、いかにして “楽しい” を体験しながら or “楽しい” を体験してから学習できるかが特に重要になると思います。
ただし、明確な目的や夢を持ってプログラミング学習を始めたのであれば、比較的モチベーションは保ちやすいです。
なぜなら、プログラミング学習を続けることで、その目的や夢に近づくことになるからです。
なので、楽しさよりも、自身の目的や夢に合ったプログラミング言語を選ぶことをオススメします。
スポンサーリンク
Python
はすぐに “楽しい” が体験できる
Python
はプログラミング初学者でもすぐに “楽しい” を体験することができるプログラミング言語です。
要は、プログラミング初学者であったとしても、実行結果に感動できるような、驚きを感じられるようなプログラムが簡単に作れます。
この理由は下記の2つです。
Python
はライブラリが充実しているPython
は体験重視型の書籍が充実している
Python
はライブラリが充実している
ライブラリは簡単にいうと、”他の人が作ってくれた機能を集めたもの” です。
例えば画像処理のライブラリであれば、画像ファイルを読み込んだり、画像を回転させたり、画像を拡大縮小したり、画像ファイルを保存したり…、といった画像処理に関する様々な機能が集められたものになります。
本来、こういった機能を実現するためには、自身で非常に複雑で難しいプログラミングを行う必要があるのですが、このライブラリがあれば、その機能を実現するためのプログラミングを行う必要はなく、そのライブラリを使用するだけで、その機能を実現することができます。
例えば、画像を angle
度回転する処理をライブラリなしで記述する場合、 C言語
だと下記のようにプログラミングする必要があります(意味はわからなくて良いです。難しいという印象を持っていただければ良いです)。
/* 単位をラジアンへ変換 */
rad = (double)angle * M_PI / (double)180;
/* ここから画像の回転 */
for(n = 0; n < rotatedBitmap.height; n++){
for(m = 0; m < rotatedBitmap.width; m++){
/* 回転前画像の座標を算出 */
originalm =
(m - (int)rotatedBitmap.width / 2) * cos(rad) +
(n - (int)rotatedBitmap.height / 2) * sin(rad) + bitmap.width/ 2;
originaln =
- (m - (int)rotatedBitmap.width / 2) * sin(rad) +
(n - (int)rotatedBitmap.height / 2) * cos(rad) + bitmap.height / 2;
/* 一番近い座標を四捨五入で算出 */
m0 = originalm + 0.5;
n0 = originaln + 0.5;
/* 画像外にはみ出ている場合はコピーしない */
if(m0 >= bitmap.width || m0 < 0) continue;
if(n0 >= bitmap.height || n0 < 0) continue;
/* 最近傍補間した画素の輝度値をコピー */
for(c = 0; c < rotatedBitmap.ch; c++){
rotatedBitmap.data[rotatedBitmap.ch * (m + n * rotatedBitmap.width) + c]
= bitmap.data[bitmap.ch * (m0 + n0 * bitmap.width) + c];
}
}
}
その一方で、Python
で上記と同様に画像を angle
度回転する処理を、例えば PIL
という画像処理ライブラリを用いれば、下記だけで実行することができます(画像ファイルを読み込むなどの前準備が別途必要ですが、回転処理だけに限れば下記だけで実行することができます)。
from PIL import Image
rotateBitmap = bitmap.rotate(angle)
どちらが簡単かは一目瞭然ですね!さらに、PIL
を利用した回転の方であれば、あなた自身でもすぐ書けそうだと思ったのではないかと思います。
こんな感じで、ライブラリを利用すれば、様々な機能をすぐに利用することができます。さらに、このライブラリを利用するだけで、それなりに実行結果として感動が得られる・楽しいと思えるようなプログラムを簡単に作成することができます。
そして、Python
の場合、このライブラリがめちゃめちゃ充実している&ライブラリの入手も簡単です。
例えば機械学習などを行うのであれば下記のようなライブラリがあります。これを使えば文字認識なども行うことができます。
scikit-learn
PyTorch
TensorFlow
また、画像を扱うようなライブラリであれば下記のようなものがあります。これを使えば画像を利用したプログラムも簡単に作成できます。
PIL
OpenCV
また、GUI アプリを作成するためのライブラリとしては下記のようなものがあります。これを使って例えば PC にあらかじめインストールされているようなアプリやゲーム(例えば電卓やトランプゲームやマインスイーパーなど)なども作成することができます。
tkinter
Kivy
他にもWeb アプリを作成するためのライブラリ(フレームワーク)にも下記のようなものがあります。これを使えば、ウェブブラウザ上で動作するアプリを作成するようなこともできます。
Django
Flask
ですので、あなたがプログラミング初学者であっても、これらのライブラリを活用することで、いきなりそれなりのアプリやプログラムを作成することができ、それによりプログラミング学習を始めてすぐに “楽しい” を体験することができます。
念の為補足しておくと、上記で C言語
のプログラム例を示しましたが、C言語
などでも Python
同様に、ライブラリを使用すれば簡単にさまざまな機能を実現することができます
ただ、Python
は “入手が簡単なライブラリ&ウェブ上や書籍等で情報が多いライブラリ” が多いので、プログラミング初学者でもライブラリの恩恵を受けやすい言語であると言えると思います
Python
では体験重視型の書籍が充実している
また、Python
の場合、Python
入門者向けの書籍として、上記のようなライブラリを利用し、プログラミングの楽しさを体験しながら基礎を学ぶという趣旨の書籍も充実しています。
他のプログラミング言語だと、入門書のほとんどは、プログラミングを行うための基礎的な内容を網羅的に説明するものになります。要は知識を詰め込むための入門書が多いです。
こういった入門書は、”実行してみて楽しさを体験できる・ちょっとした感動を味わえる” ようなプログラムを作るまでの過程が長いので、入門書を読み終わるまでに飽きる・挫折する場合が多いです。特に独学者の場合は。
もちろん、こういった基礎を網羅的に学べる入門書は、一度は読むことをオススメします。
ですが、特にまだプログラミングの楽しさを知らない方、さらには独学で始める方は、まず最初に学ぶ的ことはプログラミングの楽しさだと思うんですよね。
プログラミングを本当に楽しいと感じているのであれば、自然とプログラミングのことを自ら進んで学ぶようになると思います。
逆に楽しさを知らなければ、ちょっとした理由で挫折しやすくなります。
例えば、分からないことがあったり、時間が取りにくくなるともうやめようと思ってしまう人も多いと思います(私もそうです)。
なので、私としては、プログラミングを学ぶ上では最初にそのプログラミングの楽しさを味わえる方が良いと思っています。
そして、Python
では、最初にプログラミングの楽しさを味わえるような入門書が充実しています。これが充実している理由の1つは、前述のとおりライブラリが充実しているからです(ライブラリを使用すれば、プログラミング初学者でも楽しさを簡単に味わうことができる)。
おすすめ書籍(PR)
ちょっとここで、具体的に、プログラミングの楽しさを味わいながら Python
の基礎知識をつけるのにオススメな書籍をいくつか紹介しておきます。
1冊目は下記の Python 1年生 です。プログラミングを全くやったことない方であれば、この入門書が1番オススメです。Python
でできることを体験しながら Python
の基礎を学ぶ入門書になっています。
この Python 1年生 には、Python
のインストールの仕方から優しく解説してくれているのでプログラミング初学者の方でも安心して読み始めることができます。
もちろん最初に基礎知識の解説はあるのですが、会話形式で図をふんだんに使った解説になっているので分かりやすいです。さらに、基礎知識の解説は凝縮されていますので、すぐに GUI アプリ開発を行い、ボタン操作を行ったり、画像を表示したりすることができるアプリのプログラミングを体験することができます。
また、人工知能・機械学習に関しても体験することができ、この本だけで、最低限の知識をつけ、さらにいろんな種類の楽しさを感じることができます。
続編として、下記の Python 2年生 も発売されており、”データ分析” や “スクレイピング” を体験してみたい人であれば、Python 1年生 の次にこちらを読んでみると良いと思います(クリックすれば楽天の書籍サイトに飛ぶことができます)。
2冊目は下記の Pythonでつくる ゲーム開発 入門講座 です。ゲームを作りながら Python
の基礎を学べるという点がオススメです。
ゲーム開発に関する豆知識的なページもあったりしますので、将来ゲームを作りたい人は楽しく読めると思いますし、そうでない方はその辺りは飛ばしてもいいと思います。
Python
初学者向けの解説も多いですので(インストール方法なども解説されている)、自身が作成したプログラムがゲームとして動作するところを体験しながら Python
の基礎を学ぶことができます。
で、この本で紹介されている tkinter
を利用すれば、GUI アプリの開発もできます(この tkinter
は前述の Python 1年生 でも紹介されているライブラリになりますが、この tkinter
の解説としては Pythonでつくる ゲーム開発 入門講座 の方が充実しています)。
ちなみに私のサイトでも、この tkinter
の解説をしています。私としては、ある程度プログラミング学習が進んで実践を行う際には、GUI アプリを作ることをオススメします(特に明確に何か作りたいものがないのであれば)。この理由は、何を作るかのイメージがしやすいからです。
この辺りの詳細は下記のページでも解説していますので、tkinter
に興味を持った方はぜひ読んでみてください。
ちょっと脱線してしまいましたが、3冊目のオススメは下記の Pythonでいかにして暗号を破るか になります。もし、あなたが暗号に興味があるのであれば、この本は超オススメです。
実際に暗号化や暗号解読をプログラミングで体験しながら Python
の基礎について学ぶことができます。暗号関連の解説も充実していますが、Python
の基礎の解説も充実しています。ですので、暗号に興味があるのであれば、この本を読み進めることで Python
の基礎もしっかり身につけることができます。
また、機械学習の体験でいうと、下記の いちばんやさしいPython機械学習の教本 がオススメです。が、どちらかというと “やさしい” のは機械学習に関する内容の方で、Python
に関する知識がある程度ないと何をやっているかよく分からないと思うかもしれません。
なので、上記で挙げた Python 1年生 や、他の網羅的に知識を身につけることができる Python
入門書と合わせて読む方が良いと思います。
これらはほんの一例で、Python
では、プログラミングの楽しさを体験しながらプログラミングの基礎を学べる体験重視型の入門書籍が豊富です。これほど、こういった入門書が充実しているプログラミング言語は他にはないです。
なので、Python
では入門したてでもすぐに “楽しさ” を感じることができ、最初に学ぶプログラミング言語としてオススメです。
補足しておくと、ここで挙げた4冊は、プログラミングの楽しさを体験するという意味でオススメですが、Python
を使いこなすための基礎知識を学ぶ上では不十分です(体験するために必要な最小限の知識しか得られない)。
ですので、もしこれらの体験重視型の入門書を読んで、本格的にプログラミングを学びたい・プログラマーになってみたいという興味が湧いてきたのであれば、別途網羅的に知識を学べる参考書を読むことをオススメします(もしくは上記のような本と並行して読む、上記の本の知識を補足するために読むのも良いと思います)。
なんだか遠回りをしているように感じるかもしれませんが(さらに参考書を複数買う必要があるのでお金もかかる!)、何度も言っているように、私としては、最初に学ぶべきはプログラミングの楽しさであり、これを学ぶことで挫折しにくくなると思っています。楽しさを知っていれば、学ぶときの意欲や探究心も異なってくると思います。
なので、最初にプログラミングの楽しさを体験できる上記のような本を読んだ後に、本格的な知識が得られる入門書を読んだ方が良いかなぁと思います(もちろん基礎知識を詰め込むような入門書であってもおもしろいと感じられるような人であれば、そういった入門書だけでも良いと思います)。
Python
は将来役に立つ可能性が高い
私が Python
をオススメする理由の2つ目は Python
は他の言語に比べて将来役に立つ可能性が高いからです。
まず、Python
は比較的汎用性が高いというのもありますが、特に機械学習や AI、ウェブアプリ開発に向いている特徴があります。これらを活用した開発は今後もさらに拡大していく可能性が高いので、プログラマーをやるのであれば、Python
を使う可能性も多いかなぁと思います。
さらに、もしプログラマーやソフトウェアエンジニアの仕事に携わらない場合でも、PC を使って仕事をするのであれば Python
が役に立つ可能性は高いです。
なぜなら、業務効率化という観点でも Python
が活用できるからです。
例えば事務の仕事を行う上でも、パソコンで行う作業が単調なものがあれば、その作業は Python
で簡単に自動化できる可能性が高いです。
自動化すれば、あなたがその作業を行う必要がなくなるので、その分あなたは早く帰れますし、その分他のもっと重要な仕事に注力することもできます。また、自動化することで空いた時間を副業に充てることでお金を稼ぐようなこともできますし、スキルアップをして今後の仕事に役立てるようなこともできます。
要は、Python
であなたの人生をさらに充実させることができます。
この辺りの解説については下記ページでしていますので、ぜひ興味があれば読んでみてください。
「退屈なことはPythonにやらせよう」が全人類にオススメな理由(PR)今後は、日本は特に人口が減っていくものと思われますので、その分一人一人が効率よく仕事をして生産性を高めることがより求められるようになります。
その生産性を高める上で、自動化は非常に重要な手段であり、その自動化を行う上で Python
が使えると役に立つと思います。
また、Python
でなくても、他のプログラミング言語でも自動化は行うことができますが、Python
は前述の通りライブラリが充実しており(自動化を行う上で便利なライブラリも充実している)、他のプログラミング言語よりも、簡単に、さらに幅広く自動化を行うことができるので、自動化を行う上でも他のプログラミング言語よりも Python
がオススメです。
まとめ
このページでは、プログラミング入門者に Python
がオススメの理由について解説しました。
私が Python
をオススメする理由は、Python
には下記の2点の特徴があると考えるからです。
- 挫折しにくい
- 将来役立つ可能性が高い
特に、明確な目的を持たずにプログラミングを学ぶ場合、さらに独学でプログラミングを学ぶ場合は挫折しやすいので、挫折しにくい Python
を学習することをオススメします。
その一方で、明確な目的を持ってプログラミングを学ぶのであれば、その目的にあったプログラミング言語を学ぶ方が良いと思います。
また、明確な目的はないけれど、授業やプログラミングスクールでプログラミングを学ぶのであれば、正直どの言語を選んでも良いのかなぁと思います。これは、独学でない場合は “分からない” を解決しやすいので、その分プログラミング学習が続けやすいからです。
ただ、将来直接役に立つプログラミング言語が良いのであれば、Python
は自動化(業務効率化)にも向いており、PC を使って作業することがあるのであれば、どんな職種の仕事でも活用できるので、そういう意味では Python
を選ぶのも良いと思います。
ちなみに私のオススメプログラミング言語第2位は JavaScript
です。この JavaScript
とも Python
同様に人気のあるプログラミング言語で、ネット上にも情報が多く、さらにはお手軽にプログラミングが体験できます。(メモ帳とウェブブラウザがあれば実行できる)。お手軽さで言えば Python
よりも上です。
ただ、いろんなことが体験できるという点で Python
を今回はオススメ言語の第1位に選ばせていただきました。もし、どちらかというとウェブ系の仕事に興味があるのであれば JavaScript
から始めてみるのも良いと思います!
また、今回は明確な目的を持っていない方を対象にオススメのプログラミング言語を紹介しましたが、明確な目的を持っている方は、ぜひその目的にあった言語を選択しましょう!
1つだけ補足しておくと、”独学でない” & “明確な目的はないけれど何かしらのプログラマー(ソフトウェアエンジニア)になりたいという思いがある” のであれば、C言語
はオススメです。学習しておくとコンピュータやハードウェアのことも意識したプログラミングができるようになります。
特に最近は、ハードウェア(メモリなど)を意識しなくても良いプログラミング言語が流行っているので(Python
もだけど)、今後はハードウェアを意識したプログラミングが出来ないプログラマーが増えていくのではないかと予想されます。もちろん全員がこういったハードウェアを意識してプログラミングできる必要もないので、これ自体は悪いことではないです。
ただ、そんな中で、もしあなたが C言語
を学んでいたのであれば、他のプログラマーとは違った強みを持つことになるので、職場等で活躍できる機会も増えるのではないかと思います。
独学だと結構しんどいので(楽しさを味わうまでの過程が長い)、授業等で C言語
が学べる機会があるのであれば、積極的にそういった場を活用して学ぶことをオススメします(ただ、業務効率化・作業の自動化等を行う上では C言語
しか使えないのは不便なので、いずれにせよ Python
等のスクリプト言語も一緒にも学んだ方が良いとは思います)。