こんにちは、PyQ開発チームの亀子です。
今回は、いくつかのプログラミング言語の紹介と初心者が学びやすいプログラミング言語の1つであるPythonの特徴について紹介します。
- プログラミングをやってみよう
- プログラミングでできること
- いろいろなプログラミング言語の紹介
- 注目度が高いプログラミング言語
- Pythonがなぜ注目されているか
- Pythonで学習を開始する利点
- PythonとJavaのコードを比較してみる
- 守るべき書き方のルール
- まとめ
- 関連記事
プログラミングをやってみよう
「プログラミングをやってみよう!」と思ったときに、最初に何をしますか?
まずは、プログラミングで「何をしたいか」を考えましょう。 プログラミングで何ができるかは、前回の プログラミング、Pythonで何ができるの?できることを4つ紹介します で紹介しました。本当に色々なことができます。
そして、次は利用するプログラミング言語を選択するでしょう。 一言でプログラミングと言っても、たくさんのプログラミング言語があります。 どのプログラミング言語を選択すればよいのでしょうか?
まずは、プログラミング言語の特徴を知り、どれを選ぶか考えていきましょう。
プログラミングでできること
プログラミングはいろんなことができます。
プログラミング、Pythonで何ができるの?できることを4つ紹介します
これを実現するためにプログラミング言語にはどんな機能が必要でしょうか?
- 入力を受け付ける機能
- 出力する機能
- 計算する機能
- 条件判断や同じ処理を繰り返し行う機能
- データをデータベースや、ファイルに保存する機能
- インターネットと通信する機能
- etc.
たくさんの機能が必要ですね。どのプログラミング言語なら実現できるのでしょうか?
実は、 メジャーなプログラミング言語なら、どの言語を選んでも作りたいものを作れます。 また、ほとんどの言語で開発する環境も無料で利用できます。
いろいろなプログラミング言語の紹介
最近、注目されているプログラミング言語を紹介します。
Python
Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴があります。 引用: Python - Wikipedia
Pythonはシンプルな文法で書けるプログラミング言語です。 記号や予約語が少なく設計されており、かつ誰が書いても同じ様なプログラムになるように設計 されています。
Pythonは学習コストが低く学習用のプログラミング言語として採用されていまが、 小規模なプログラムから、大規模なプログラムまで作れるプログラミング言語です。 また、 Webアプリケーションや機械学習など様々な分野で活用 されています。
Java
世界的に多くのシステム開発に用いられている言語。Javaは組み込みシステムや携帯機器(携帯電話・スマートフォン等)のシステムから、企業の情報システムを担う大規模なデータベース、サーバ、スーパーコンピュータまで、多くの分野で使用されている。幅広く仕事としてプログラミングを行いたい人はJavaを選ぶと間違いない。 引用: Java - Wikipedia
現在Oracle社 が中心となって管理しており、大規模開発で利用するエンタープライズ(企業)向けの機能が充実しています。
JavaScript
ブラウザで動くプログラミング言語として登場。2010年以降はnode.jsなどのサーバサイドJavaScript実行環境や各種ライブラリの充実により、Web開発の全ての領域で活用されるようになってきている。 引用: JavaScript - Wikipedia
一言でJavaScriptといっても細分化されており、やりたい事によって学習することが違います。
フロントエンジニアと言われるブラウザ側の動作を作成するエンジニアには必須の言語。JavaScriptを知っていると開発の幅が広がります。
PHP
PHP は、オープンソースの汎用スクリプト言語です。 特に、サーバサイドで動作する Web アプリケーションの開発に適しています。 言語構造は簡単で理解しやすく、C 言語の基本構文に多くを拠っています。 手続き型のプログラミングに加え、(完全ではありませんが)オブジェクト指向のプログラミングも行うことができます。 引用: 日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン
日本のたくさんのシステム構築の現場で採用されており、プログラマの数も多いです。ドキュメントも充実しています。
R
オープンソース・フリーソフトウェアの統計解析向けのプログラミング言語及びその開発実行環境のこと。データ分析に関わる人が利用しています。 引用: R言語 - Wikipedia
主にデータを分析するのに使います。データ分析関連の書籍で紹介されていることも多いです。
Objective-C、Swift
Objective-C、Swiftなどは主にmacOSやiOS(iPhone、iPadなどのアップル製品のOS)上で動作するアプリケーションを作成できます。 引用: Objective-C - Wikipedia 引用: Swift (プログラミング言語) - Wikipedia
iPhoneなどで動くアプリケーションを作るのに使われています。
注目度が高いプログラミング言語
ここまでで紹介したプログラミング言語ですが、PYPL PopularitY of Programming Language*1 の10位までのものです。
2018年6月の時点ではPythonが1位です。
Pythonがなぜ注目されているか
Pythonが注目されている理由を紹介します。 近年、以下のようなことが世界中で起きています。
- コンピューターの性能が向上した
- クラウドサービスが台頭した
- データを集めやすくなった
- 消費者の動向や車や機械の動作記録なども大量に簡単に集められるようになった
- 集めたデータを分析して、未来を予想しようという動きが始まった
- 予測した結果を使って、企業の意思決定を行うようになった
- 結果を全世界に公開したり、サービスの一部に組み込むようになった
Pythonはこの一連の処理をPythonだけで実装できます。
特にデータ分析を行う機能が充実しておりExcel、Rでデータ分析を行ってきた人が乗り換えはじめています。 そして、使う人が多いと、より進化していきます。 いま、Pythonはプログラミング言語としての進化の好循環ループに突入しているのです。
Pythonで学習を開始する利点
Pythonには 学習しやすい という特徴があります。どんな特徴なのか詳細を紹介します。
短く実装できる
- シンプルに実装できるので 最初に学ぶプログラム言語 に向いています。
守るべき書き方のルール*2 がある
- 誰が書いても同じようなプログラミングになる
- 他人が書いたプログラムが理解しやすい
覚えることが少ない
- キーワードと呼ばれるプログラムを書くときに覚える単語のようなものが少ない
- 特殊な記号もあまり使わず、人間に理解しやすい単語(英語)が使われている
PythonとJavaのコードを比較してみる
Pythonは「短く実装できる」を見てみましょう。
PythonとJavaで、「Hello, World」と画面に表示するプログラムを書いてみます。
Python
print("Hello, World")
Java
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); } }
ただ表示するだけなど、1機能を書いて試す場合はPythonは短くシンプルに書けます。 10回「Hello, World」と画面に表示するプログラムに修正します。
Python
for _ in range(10): print("Hello, World")
Java
public class HelloWorld { public static void main(String[] args) { for(int i=0; i<10; i++){ System.out.println("Hello, World"); } } }
守るべき書き方のルール
実はJavaはカッコの書き方などを守っていれば以下のように書いても同じように動きます。
Java
public class HelloWorld { public static void main(String[] args) { for(int i=0; i<10; i++){System.out.println("Hello, World");} } }
Pythonで、以下のようにスペースを消して書くと動きません。
for _ in range(10): print("Hello, World")
Pythonはスペースの開け方にも決まりがあります。 そのため、 誰が書いても同じようなプログラムになります。 Pythonのこの特徴は、初学者の「学習のために他の人が書いたプログラムを読む」という事を簡単にしてくれます。 最初の学習では本を読んだり、上級者のコードを読んだり、書くことより「プログラムを読む」事が多いです。この読む作業がストレス無くできるのは大きな利点のひとつです。
まとめ
- どのプログラミング言語でもやりたいことはできる
- Pythonはデータ分析に強く、最近注目されている
- はじめて学ぶプログラム言語としてPythonは向いている
この記事ではPythonのよいところを紹介しましたが、それぞれ言語の特徴があります。 人によって合う言語、好きになれる言語は違うので、Pythonも含めた色々なプログラミング言語を体験してみてください。
そして、この言語と決めたら 初心者を脱するまでは寄り道せずにその言語の学習に集中してください。 得意なプログラミング言語がひとつできれば、他の言語を学習するのはそんなに難しいことではなくなります。 集中して学んで、作りたいものを作っていくことが、よりよいプログラマーになる方法です。
関連記事
今回は、プログラミング言語内でのPythonの位置付けをご紹介しました。
下記の記事では、Python言語の魅力をより具体的に紹介しています。
こちらもあわせてご覧ください。
*1:Googleの検索エンジンでプログラム言語のチュートリアルが検索された回数の順位を紹介しているページです。2018年5月時点で、Pythonが長年1位だったJavaを抜いて1位になっています。(参考:PythonがJavaを抜く - PYPLプログラミング言語ランキング | マイナビニュース)
*2:PEP 8 -- Style Guide for Python Code | Python.org と呼ばれるプログラミングの書き方のルールがある。また、ルールを守ってプログラミングできているかを確認も簡単にできる。