対象
- プログラミング初学者
- 新しく言語を学びたい人
初めに
世の中には数多くのプログラミング言語が存在します。それぞれの言語は適所適材といわれますが、結局のところ、初学者は何から始めればよいのでしょうか?また、各言語にはどのような特徴があるのでしょうか。この記事では、著者が実際に使用した経験からこれらの疑問に答えていきます。
各言語では例として「Hello world!!」と表示するプログラムを示します。
紹介する言語は以下の通りです。
- C/C++
- Python
プログラミング言語別の特徴
C/C++
#include<iostream>
int main() {
std::cout << "Hello world!!" << std::endl;
return 0;
}
コンソールに出力を行うには出力ストリームオブジェクトに文字列を流さなければなりません。他言語では見かけない書き方をするため、とっつきにくさがあると思われます。しかし、C言語の特徴である柔軟性を引き継ぎ、加えてオブジェクト指向が取り入れられているため、幅広い用途に活用できます。実際、ロボットやOSなどのローレベルな(ハードウェアに近い)ものからゲームなどのハイレベルなものの開発に利用されています。
C/C++に特徴的な機能としてポインタがあります。これは指定のメモリ領域にアクセスできる機能です。これは非常に強力な機能ですが、それ故に危険でもあります。そのため、他言語ではこの機能は直接に提供されません。代わりに参照が提供されます。(C++でも提供されます)
危険であるがためにポインタには悪い印象がついてしまいそうですが、ポインタの概念を理解するとプログラミング言語への理解が深まることは確かです。
こんな人にお勧め
- 学生
- 組込開発に興味がある人
- アプリを作りたい人
- OSを作成したい人
Python
printf('Hello world!!')
「これだけでいいのか?」と疑問に思うかもしれません。
Pythonは自然言語らしく直観的に扱える言語を目標として開発されました。その結果、一般に使用されるC/C++やJavaとは雰囲気が大きく異なります。そのため、C/C++やJavaを先に学んだ方は違和感を覚えやすいと思います。
Pythonの大きな特徴は、豊富なサポート機能とライブラリです。例えば、Pythonでは配列の範囲指定を言語レベルでサポートしています。このような機能により、複雑な処理を簡潔にまとめることが可能になり、多くのユーザーを魅了しました。そして、ユーザーが増えたことでコミュニティが発達し、数多くの便利なライブラリが開発されました。さらに、開発された便利なライブラリが新たなユーザーを惹きつけました。この好循環により、Pythonのコミュニティが大きく発達しています。
最近だと機械学習によく利用されています。これはライブラリを利用しやすく、開発しやすいことが要因だと考えられます。
やりたいことがあれば、先ずはPythonを使用するとよいでしょう。調べると大抵引っ掛かります。
こんな人にお勧め
- プログラミング初学者
- 簡易ツールを作りたい人
- 機械学習に興味がある人
まとめ
プログラミング言語 | 用途 | おすすめ入門書 |
---|---|---|
C++ | 高度な開発 | 新・明解C++入門編 |
Python | 易しい開発 | Python1年生 第2版 体験してわかる!会話でまなべる!プログラミングのしくみ |