LoginSignup
0
1

More than 3 years have passed since last update.

0、Pythonについて

Last updated at Posted at 2018-09-07

背景

"Guido van Rossum"さんは1989年のクリスマス前後に暇つぶしでpythonを作りました。

 現在、全世界で約600種類のプログラム言語があり、流行っているのは約20種類前後です。もしTIOBEプログラミングランキングをご存知であれば、各言語の人気度が分かると思います。下図は最近10年間の良く使われるプログラミング言語の変化図です。
0_2018_TIOBE.png

 各プログラミング言語には独自な特性があります。例えば、計算速度を追求し、ハードの性能を十分に発揮するにはC言語が良く使われます。
 ソフトを開発するとき、全てのコードを自分で書くよりも既存のモジュール等を利用すると開発速度が大幅に早まります。例えば、emailのクライアントを作るために全て自分で開発した場合、1年間、2年間以上かかります。普通の開発は既存ライブラリ等を利用し、STMTPモジュール、GUIモジュール等を利用して2週間程度で開発出来ます。

 Pythonは標準モジュール以外、世界中の開発者がネット、ファイル、GUI、データベース等大量なモジュールを提供しています。「batteries included」と言われています。自分で書く必要はなく、直接使えば良いです。もちろん、自分で書いたモジュールを他人に提供することも出来ます。
 多くの大手ホームページはPythonで作成されています。例えば、YouTube,Instagram,Google,Yahoo,NaSAでPythonが使われています。

Pythonはどんな開発を向いているか?

 まず、ネットワーク関係です、ホームページ、サーバサービス等。
 次は、一般事務用のツール等。管理システムのスクリプト開発等。

Pythonのデメリットは?

 1番は計算速度が遅いです。C言語と比べると、実行時は一行づつCPUに分かる言語に翻訳しているので、相当な時間がかかります。C言語は実行する前に、既にCPUに分かる言語に翻訳(コンパイルと言う)しているので早いです。しかし、普通のタスクでは、そこまでの計算速度は必要ないです。例えば、emailの処理ソフトで、C言語は0.001秒、Pythonは0.1秒、100倍の差ですが、ネット等の通信で1秒ぐらいかかるかもしれません。そうなると、1.001秒と1.1秒の差はホントに重要でしょうか? その計算速度の差は無視できるでしょう。
 2番はソースコードは暗号化できないため、秘密性がありません。C言語はコンパイルして、Windows用のXXX.exeファイルとして配布できます。コンパイルされたXXX.exeファイルからソースコードに戻すのは不可能です。Pythonは、ソースコードのままで配布されるので秘密性はありません。幸い、単純なソフトを売る時代がもうすぐなくなります。新しい商業モデルは、ネットワークを通じてサービスを販売する時代が流行します。しかも、オップンソースの発展もどんどん進んでいます。ソースコードを公開しない会社は殆どソースコードの価値は高くなく、公開すると商品になりません。
 

Pythonは何ですか?

Pythonはプログラム開発用言語。世の中にプログラム開発用言語は沢山あります。例えば、非常に難しいC言語、流行っているJava、初心者向けのBasic、Web開発のJavaScript等。

 まず、プログラムの基本知識を言います。全てのプログラム開発は、PCに仕事をさせる目的です。例えば、文書を書く、ネットでショッピング等、ただPCはCPUに分かる「言語」しか対応できない。なので、全てのプログラム開発言語は、CPUに分かる「言語」に翻訳する必要がある。そこで、同じ仕事をPCにさせるため、違い開発言語の書くコード数は違います、大きな差があります。
 例えば、同じタスクを実現する為、C言語は1000行のコードが必要、Javaは100行でできる、Pythonはただ20行で出来るかもしれません。
 ですので、Pythonは相当な高級言語となります。
 なんでコード行数が少なくで出来るの?計算速度を犠牲したためです。C言語は1秒で、Javaは2秒、Pythonは10秒必要かもしれません。
 そうすると、開発言語は高級になるほど、簡単になりますか?普通に言えば、そうです。ただ、非常に抽象的な計算の中に、高級なPythonでも非常に難しいです。高級≠簡単となります。
 しかし、初心者と普通なタスクに対して、Pythonは非常に簡単で使いやすい言語です。Googleでも非常に幅広く使われているので、できたら使える場面はない等の心配は必要ありません。

Pythonで何ができるの?

 普通の日常タスク(ファイルのミラーリング、アラーム設定等)、ホームページ作成(YouTube等)、ネットゲーム等、いろいろできます。
 Pythonの出来ない事も当然あります。OSの作成はC言語しかできない;スマーホappはSwift/Objective-C(iPhone)とJava(Android)等しかできる;3DゲームなどはC或いはC++の方が良いかもしれません。

目次 非IT業種のITメモ

参考:廖雪峰的官方网站、「初めてのPython 第3版」

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1