今日はプログラミングの言語についてやろう!
言語?言葉のことだよね。日本語だよ!
日本語は日本語で言語だけど、プログラミング界にも言語というものが存在するんだよ。
今回はそんなプログラミング言語について詳しく解説するね!
プログラミング言語を学べば、プログラミングの成り立ちについてわかってこれからどうやって勉強していけばいいのか筋道が見えてくるよ!
おお!なんかすごそう!!早速よろしく!てっぱん兄ちゃん!
プログラミング言語とは
プログラミング言語とは、プログラミング界での方言みたいなものだよ。
プログラム自体は前回説明した通り3種類の命令の組み合わせで、その組み合わせの書き方が言語によって異なるんだ。
例えば、C#という言語では「繰り返し」という命令を「for(int i = 0; i < 10; i++)」みたいに書いたりする。
これは10回繰り返すという意味を表すC#での命令の書き方。
次にpythonで同じく10回繰り返すという命令書くと「for i in range(10)」となる。
意味は同じだけど、言語が異なるだけで書き方が変わる。
これがプログラミング言語なんだ。
基本的な意味は同じだけど書き方に違いがある。まさに意味は同じなのに表現が変わる方言みたいな感じだね。
プログラミング言語にはpython、Java、C#、C++、C、Cobol、PHP、Ruby、GOなどたくさんあるんだ。
たくさんあるけど、基本的な目的として「繰り返し」「条件分岐」「計算」という三つの基本要素の組み合わせというプログラムの大前提は変わらない。
書き方が違うだけで、それぞれ同じ意味のプログラムを書くことができるんだ。
おお、プログラミングにいろんな種類、書き方があるんだ!
そう、そう!基本の考え方は変わらないけど書き方のルールが異なってくるのがプログラミング言語っていうものなんだ。
次は実際にプログラミング言語ごとの命令文を見てみようか。
プログラミング言語の具体的例
プログラミング言語ごとの基本構文について紹介するね。
三つの言語python、C#、Rubyの「繰り返し」「条件分岐」「計算」の同じ意味のプログラムを書いてみるよ。
python:
「10回繰り返す」:「for i in range(10)」
「文字列に”A”だったらGoodを出力する」:「if 文字列 == “A”: print(“Good”)」
「10 + 10の計算した結果をXに代入する」:「X = 10 + 10」
C#:
「10回繰り返す」:「for(int i = 0; i < 10; I++)」
「文字列に”A”だったらGoodを出力する」:「if(文字列 == “A”) Console.WriteLine(“Good”);」
「10 + 10の計算した結果をXに代入する」:「X = 10 + 10;」
Ruby:
「10回繰り返す」:「for i in 0..9 do」
「文字列に”A”だったらGoodを出力する」:「if 文字列 == “A” then print ‘Good’」
「10 + 10の計算した結果をXに代入する」:「X = 10 + 10」
似たような雰囲気を持っているけど、厳密にみると「:」「()」とかだいぶ違うのがわかると思う。
こんな感じで、言語によって書かれ方は異なるけど意味合いとしては同じものを指すことができるんだ。
だんだんわかってきたぞ。
プログラミング言語って言葉や書き方ルールが違うだけの話なんだね
そうだね。書き方とか表現の仕方が違うだけと思ってほぼ間違いはないよ。
いっぱい種類があるけど、プログラムを作るという意味では同じ意味なら、なんでこんなに種類がいっぱいあるの?
いい質問だね。
プログラミング言語っていうのは確かにプログラミングという基礎という意味では同じだ。
けど実は、書き方として得意なシステムというものがあるんだ。
作りたいシステムによってプログラミング言語を選択するというのが、基本的なプログラミング言語の選び方になるから、そこらへんについて説明するよ。
言語の特徴と得意なシステム・プログラム
プログラミングは実は色々な派生によってこんなにも多くの言語が生まれたんだ。
家系図みたいになっているこんな図のイメージだ。
つながりが近い言語同士は書き方もかなり似ていてる特徴があったりするよ。
そして、これらのプログラミングがどうしてこんなにも種類が多いか。
それは得意不得意がプログラミング言語にあるからなんだ。
例えば、pythonはAIや機械学習といった分野が得意な言語なんだ。
C#なんかはゲーム開発なんかが得意な言語で、JavaScriptなんかはWebサイトの動きをつけるのが得意な言語だったりするよ。
もちろん、得意やその言語を使った方が開発が進めやすいという意味なだけで、同じことを別の言語で作り上げることもできちゃう。
ゲームをC#じゃなくてJavaScriptで作るなんてこともできる。
ただ、得意な言語を選択しないと遠回りな開発になってしまうことがあるんだ。
例えばC#だと1行で表現できる命令がJavaScriptだと10行の命令分を書かなければいけないとか!
主に使うプログラミング言語について名前と特徴をまとめておいたから、確認してみてね。
特徴を抑えて自分が作りたいものを考えてプログラミング言語を選べるとすごくいい!
なるほど、プログラミング言語っていうのは、作りたいものに合わせて選ぶ、基本的な考え方は一緒ってことでいいの?
うん、その認識で大丈夫!
ちなみに言語を一つでも理解できれば、他の言語についてはその言語を元に理解しやすくなるから、とりあえず一つの言語をマスターするように勉強するといいよ。
一つ目をマスターするには時間がかかるけど、二つ目以降の言語をマスターするのは多分10分の1も時間はかからないんだ!
へー、じゃあ、最初に学ぶべき言語について教えてよ!
そうだね。
基本は学校とかで指定されることが多いプログラミング言語だけど、僕のおすすめを最後に紹介しようか。
まずはこのプログラミング言語がおすすめ!
僕のおすすめはpythonとC#だ。
PythonはAIや機械学習が得意な言語として有名だけど、最初に学ぶのにもかなり向いていると僕は思っているよ。
プログラミングの基礎が詰まっているとともに、今後プログラミングを学んで使っていく上で重宝されるプログラミング言語なんだ。
せっかくプログラミングを学ぶんなら、仕事でも使えちゃう技術の方がいいでしょ?
だから僕はかなりおすすめしてるんだ。
あとは、マニアックな話だけどプログラミングコードが綺麗に見えやすくなる言語がpythonだから好きという個人的趣向もあるね笑
C#はゲームによく使われる言語だけど、これもかなりおすすめだよ。
プログラミングの基礎が詰まっている言語だし、マイクロソフトが作ったプログラミング言語ということもあって広いところで使われているんだ。
ツールも充実しているし、検索すると色々なサイトが引っかかるのも特徴でとにかく使いやすい。
ゲームやスマホアプリを作りたいと考えるなら僕としてはC#を特におすすめしたいかな。
プログラミングを漠然と学びたいならpythonで仕事を意識した言語。
クリエイティブにプログラミングを使いたいならC#って感じかな。
迷った場合はC#を選んでおくのが、無難だね。
まとめ
僕の学校ではJavaを言語としてやっているけど大丈夫そう?
大丈夫!最初にも言ったけど基本的にはプログラミング言語というのは根っこの部分では同じ考え方をしているから言語にとらわれすぎなくてもいいよ。
Javaも十分色々なことができる言語だからマスターすればpythonだってC#にだって応用できちゃうプログラミング知識がつくから。
良かった~、ひとまずこれで言語という概念はわかったかな。
いいね!
じゃあ次あたりは、プログラミング言語がどのようにコンピュータに命令として読み込まれるのか、機械語という部分を説明しようかな。
うげ、また新しい言語?
プログラミング言語は基本同じだって言ったのに、なんか増えてるんだけど!?
機械語はすべてのプログラミング言語に共通する言葉で、実際にコンピュータ上で動く言葉だから仕組みだけ理解すればいいから大丈夫!
実際に機械語を読む機会なんてそうそうないから、安心して説明だけ聞いていってね。
ほんとかなぁ、とりあえず今日はもう疲れたからまた明日ね
はは、お疲れ様、じゃあまた次回!