Python とはマシンに面倒な仕事をやらせたい時に利用する言語。シンプルで一貫性があって無駄なく綺麗に設計されている。Google3大言語の1つでもある。

プログラミング概念

  • 劇的な、業務効率化、コスト削減、生産性向上を達成するには単純な繰り返し作業を自動化するに限りる。Python と豊富なモジュールを使えば 簡単なプログラミングで作業を自動化できる
  • ワンランク上のハイパフォーマンスなホワイトカラーになるには、プログラミングを覚え、有名なツールやモジュールの使い方を覚え、業務を分析して可能な限り自動化するという意識を持つことが重要
  • 安易な人海戦術を避け、自動化が難しい人間臭い作業にこそ貴重なヒューマンリソースをつぎ込むべき。マシンにできることは全てマシンにやらせるべき
  • 真のプログラマはプレーンテキストとシンプルなコマンドラインツールが大好きで、Word や Excel のようなぶくぶく太ったアプリを毛嫌いしているもの
  • 社外や他部署から提供されるデータファイル、提出すべきレポートや申請書だって好きなテキスト形式に整形したりして、あとはデータベースに格納してしまえば良い
  • 何時間もクリックやキー入力をして反復作業している人は多いが、彼らはマシンに正しく指示さえ与えれば数秒で作業を完了できることに気付いていない。これがコンピュータの威力
  • プログラミングはレゴブロックでお城を作るようなもの。基本構想を計画し、手持ちのブロックを確認し、制作に取りかかる。必要な材料は全部マシンの中に入っている
  • 巨大で機能満載のアプリケーションよりも、互いに連携可能で目的を限定した小さなプログラムを書くべきである。プログラムが小さいほど理解が容易になるし、バグの作り込みを避けることができる

Python の主な指針

  • 「Only one way to do it.」Pirl とは真逆 → きちんと整理されている
  • 一貫性・統一性のあるコード → 他人のコードでも素早く理解可
  • シンプルで読みやすいコード → 理解が直感的で容易
  • 主要なプログラミング言語と同程度に強力 → Google3大言語
  • オープンソースで誰でも開発に貢献できる → Facebook も構築
  • 日常的タスクに適している → 20%にフォーカス
  • 開発時間を短くできる→ とにかくROI が高い
  • バグを作り込んでしまう潜在リスクが全体的に少ない

コードがシンプルで扱いやすく設計されており、そのため C言語などに比べて少ないコード行数でプログラムが書けるといった特徴がある - Wikipedia

以下は Python設計者グイド・ヴァン・ロッサムの インタビュー での発言。Python を設計する以前、彼は教育用プログラミング言語ABC にも関わっていたことは注目すべき。

But my *favorite* use of Python is at a teaching language, to teach the principles of programming, without fuss. Think about it -- it's the next generation!

訳:

Python が特に最適だと思うのはプログラミング言語の教育において、特にプログラミングの原理を雑音ぬきで学びたい時だろうね。ぜひ検討して欲しい。これは次世代だね!