トップ Team(・∀・)2ch 新規 編集 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

MisunderstoodPython

Pythonのよくある誤解

Pythonは日本語の資料が少なく、いろいろと誤解が広まっているようです。気を付けましょう。

Pythonは教育用言語である

オリジナルの設計者であるGuidoという人物はPythonを開発する以前に、ABCという教育言語の開発に関わっていたことがあるそうです。しかしながら、Python自体は教育用を念頭に開発されたわけではありません。

Python2とPython3はまったくの別言語である

文法に一部非互換がありますが、別の言語というほどでもありません。トリッキーな書き方をしていなければ、自動的に変換できるレベルの非互換です。

Pythonはプログラミング初心者にやさしい

Pythonの文法自体はその通りですが、問題は情報量です。日本語の文献は、他のプログラミング言語に比べるとやや少ないかもしれません。もしあなたが英語を読めるのであれば、まったく問題ありません。

インデントで構造を表現するのがPythonの特徴である

インデントによって構造を表現することをオフサイドルールと呼びます。この方式を採用している言語は他にもHaskellやF#などがありますから、Pythonだけの特徴とは言いがたいです。またPythonが初めての例でもありません。

Python 2.x では日本語を正しく扱えない

2.x は str と unicode という2つの文字列が混在していて見通しが悪く、不慣れな書き手が失敗しやすいようです。きちんと書けば日本語を扱えます。日本語が扱えないライブラリが時々あるようですが、これは 3.x でも同様です。

Python 3.x になれば文字コードの問題は全て解決する

むしろ 3.x になってから文字コードのトラブルは増えました。しかし、大部分はバグレベルの話なので徐々に改善していくと思われます。要するにまだ枯れていない部分があるということです。

PythonはGoogleが作った

そのような報道があったことは確かですが、事実ではありません。http://it.slashdot.jp/story/12/03/28/098240/

Pythonの作者がGoogleに在籍していたことから来る誤解と思われます。PythonはGoogle在籍以前から作られています。

Pythonは遅いので計算用には向かない

はい、向きません。

しかし、ほとんど計算だけでできているような作業(例えばハッシュコードを計算するなど)はC言語で書かれたライブラリを利用できることがほとんどなので、実際はそれほど遅くありません。

Pythonは、オブジェクト指向言語ではなかった

Pythonははじめからオブジェクト指向を念頭に置いて開発されました。self が取って付けたような印象を与えるかもしれませんが、ある程度学べば、むしろ self が文法の一貫性と単純さ生み出し、見通しをよくしていることに気付くでしょう。