くずかご

書くことによって忘れ、忘れることによって思考が整理されるらしいです

Pythonとの出会い

この記事はPyCon JP Advent Calendar 2016 - Adventarの16日目の記事です。

色々なプログラミング言語がありますがどんな理由で言語を選んだのでしょうか?

学校や仕事の都合、とある処理で優れている、書きやすい、あるいは速いなど様々な目的や理由で選ばれていると思います。そんな中、私が数年前に言語について詳しい人が近くにいるわけでもなく、リテラシーも乏しく、有益な情報源も知らない中でPythonと出会って、使うことにしたことを書いていきます。

 

初めてのプログラミング言語C

 スマホが普及しだした頃に様々なアプリにふれて、自分でもつくってみたいなと思い、プログラミングを勉強しようとする気になった。早速、ネットで調べると、色々なプログラミング言語があるらしい。その中でも、初めてさわるならC言語が良いとの情報が多かったので、本屋でC言語の入門本を買った。

 すぐに環境構築で挫折した。まず、Cで記述したプログラムをPCに理解させて実行するためにコンパイラが必要とのことだった。しかし、入門本なのに環境構築の方法がなく、仕方なくネットで調べた方法で導入を試みるもエラーが発生してうまく動かず、対処もできずにプログラミングをする前に挫折した。

  しばらくして統合開発環境というものに出会った。Microsoftが販売しているVisual StudioのExpress版でインストールするだけであとはプログラミングするだけとお手軽なもの。環境構築はうまくいき、プログラムを書いて実行させて’Hello Wolrd!’を出力できた。挫折があったこともあり、自分が書いたプログラムが動くのが嬉しかったのを思い出す。そして本を一通りやり終えた。

Pythonとの出会い

 C言語を一通りいじる中でWeb上で動くアプリを作りたいと思っていた。Webアプリに向いている言語を調べてみるとPHP,Perl,Ruby,Pythonが良いらしい。しかし、各言語の説明を読んでもなかなか理解できない。全て試すことが理想だが環境構築で挫折しているからつらい。そこで、コードを比較してわかりやすいのを選ぼう!ということにした。

PHP,Perl,Ruby,Python言語のゆるい比較

いずれもC言語よりコード量が少なくて良さそうだ。

 しかし、まず始めにPerlとは友達になれそうにない。そう思った。コードの中に記号が多くてとっつきにくくて読みにくい。

 PHPは楽だけど、、、という情報が多かった。楽の裏に闇みたいのを感じてやめたほうが良さそうと逃げた。

 残りのRubyPythonはどちらも英語っぽい語順で読みやすそうだ。より情報を集めて二つを比較して結果、Rubyは日本人設計で日本で使われていて日本語ドキュメントが多く、一方Pythonは外国人設計の外国で使われているため英語ドキュメントが多いことがわかった。

 元々、技術は外国で成功したものが日本にも普及していくイメージがあり、Rubyは長く使っていけるのかなと不安に感じた。その当時、ネットで初めてのプログラミング言語と検索するとCが多くてRubyPythonはほとんどあがらなかった。しかし、英語で調べてみるとCが多くRubyはほとんどないがPythonはあがっている。加えてアメリカの大学等教育機関での最初のプログラミング言語として教えているケースも増えているという。利用者が増えて情報が増えてさらに普及していきそうだ。英語のドキュメントが多くても長く使っていく言語としてはPythonの方が良さそうかな。

Pythonを使う決めて

 そして、Googleが使っている。なんだかよくわからないけど、技術系に強いイメージある企業が使っている言語だから優れているんだろう。Pythonは読みやさもあり、将来性があり、技術に優れている企業が使っている。なんやらかんやらと最終的にPythonを使う決め手になったのはミーハー精神でした。

まとめ

 ミーハー精神で使うことにしたPythonですが、もし、当時の私のような知識はないけどプログラミングをやってみたいという方にどの言語を勧めるとしたらPythonと答えると思います。なぜなら、インタープリター言語なので統合開発環境がなくても始めやすい。読みやすく書きやすい。学術系で使われていて企業で揉まれ一般化される将来性があるからです。他にもたくさんの魅力がありますが、今では検索エンジン pythonやりたいことと自分の目的に応じてやりたいことを置き換えて調べると、ほとんどの場合検索結果が表示されるからです。

  Pythonはコミュニティ活動が活発で「Compass」、「dots.」や「Doorkeeper」で検索をすれば勉強会やイベントも見つかります。

 最後に、PyConJPというにPythonを使った技術が集まる大きなイベントに向けて、技術者だけでなく学生など様々なキャリアの人たちが集まって準備を始めています。もちろん、私を含め初参加の方もいます。時にはスタッフ同士で合宿に行き、辛いものを食べに出かけたりもしています。見学もできるので、興味が持たれた方は一度のぞきにきてください。

pyconjp-staff.connpass.com