Q「Pythonの良いところを教えてください」


前提

時代背景はC、C++の頃とします。
私は古代からのPythonの使い手では無いため、あくまでも個人の感想に過ぎないことはご留意ください。

Pythonのメリット

チームでインデントルールを統一できる点です。会議時間を、プロダクトを作る上での必要な時間に大きく当てられるというのが大きいと考えます。

これがどれだけ凄いことなのかを記載してみます。

当時のC、C++の問題点

  • Javaが流行るまでは手続型言語の全盛期

  • コードフォーマッターが無いプロジェクトがある

  • UTF-8がまだ無い

  • バージョン管理システムの発展途上

まず、C、C++の{}の書き方だけでも宗派が4つくらいありました。この時点で既に「争い」が発生します。

そして文字コードです。文字コードもShift-JIS、EUC、ASCII以外使うなとかで「争い」になりました。

迂闊に日本語のコメントを使うと、宗派次第では文字化けしてそもそもコメントが読めないのです()

Pythonは書き方を統一できた

今ではgoがこの立場を担っている面もありますが、Pythonはオブジェクト指向発展前に言語仕様で達成しているのです。

謀反を阻止できた

これは「当時」ウォーターフォール開発で実際にあったお話です。

職場に怒り狂ったプログラマが、退職日付近に文字コード、インデント、改行コードを全て変えてコミットするという「謀反」がありました。

私はこの謀反コードを保守したことがあるので、実在します。「昔は職場にキレたら、難読化してコミットする」という謀反は実在しました。

Pythonはそもそもこういうことをやると、実行時にエラーになるので防犯になっていた訳です。

ユースケース

授業や研究で情報工学を突き詰める上で有用だったと考えます。C、C++(Better C)を授業で使っていた場合、同じ手続き型指向の書き方で書ける訳です。

中括弧や文字コードの話より、授業テーマや、研究テーマに割く時間に充てられたんじゃないかなと。

そしてこれが、現代のPythonでの機械学習周りのライブラリの充実さの答え合わせなんじゃないかなと個人では思っております。

最後に

Python難しい説は、多分ライブラリの使い方の難易度と混ざっている気がします()

あと、私はPythonは技術書を1冊読んだ程度の知識量です。

書籍名:基礎Python
著者名:大津 真

以上です。