ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    Python

    このエントリーを含むはてなブックマーク はてなブックマーク - Python あとで読む
    Pythonの本を読んでいる人がいた。

    日本人なら、Rubyをひいきにしがちではないだろうか?
    なぜPythonを選ぶのか?

    今時のWEB系のプログラミングをやる人なら、フレームワーク利用の手法を学ぶ材料として、Ruby on Railsは外せないだろう。
    =Rubyは一度は通過する言語。

    全てのプログラム部品がオブジェクトとして扱えるRubyは、Pythonよりも洗練された言語だと思うが、それでもなおPythonに魅力があるのだろうか?

    ●可読性の高いコード
    Python - Wikipedia

    Pythonはもともと教育用に設計されたためか、読みやすく、それでいて効率もよいコードをなるべく簡単に書けるようにするという思想がすみずみまで浸透しており、Pythonコミュニティでもわかりやすいコードをよしとする傾向が強い。



    Python 独自の特徴のひとつにインデントを用いたブロック構造の定義がある。
    これは通常のCなどにおける中カッコによるブロック構造のかわりに、行頭からの空白(インデント)による「見た目のブロック構造」と「実際の論理的な制御構造」を結びつける手法で、視覚に訴えるコードの使用を強制している。



    ●応用範囲
    Perl, Python, Ruby の比較

    Perl や Ruby は純粋なスクリプト言語で、(もちろんそれなりに大きなプログラムも書けるようにはなっているものの) プログラムを短くすることに主眼が置かれています。
    一方、Python はスクリプト言語としてもつかえる大規模プログラム作成言語で、デバックの容易さに主眼が 置かれています。
    プログラミング言語は適応範囲が広いほど学ぶ価値があるので、 その意味で Python を学ぶことは Perl や Ruby を学ぶより有用だと思います。 (このことから google が Perl や Ruby でなく、 Python を使っている 理由が分かるような気がします。)



    Python は Perl や Ruby に比べて大規模プログラムが容易に作れるという利点があります。
    また、小さなスクリプトを大きなプログラムに育てることがやりやすい ということも Python の特徴です。
    Python で大規模プログラムが作りやすいのは次の理由に拠ります。

    1. ソースファイルごとに名前空間が割り当てられる。
    2. 対話モードで関数を一つずつをテストすることが出来る。
    3. if __name__=='__main__' 以下にファイルごとのテストコードを書くことが出来る。

    Perl や Ruby では名前空間を分けるための宣言をわざわざ書かなければいけません。
    Python では1ファイル1名前空間と割り切り、ファイル名を名前空間名とすることによって名前の衝突を上手に回避しています。
    また、 Perl でも Ruby でもはじめからモジュール専用のコードを書かなければなりませんが、 Python でははじめの小さなスクリプトに __all__ などの 約束事を書き足せばモジュールとして機能します。



    IronPython等、WEBアプリ以外の利用もあるので、Pythonは守備範囲が広いと言えるだろう。
    だが、WEBアプリに用途を限定して使う場合は、Pythonでなければならない理由はない。
    マルチプレーヤーであることは、自分にとって魅力ではない。

    Python は Haskell などの最近の関数型言語の影響が強く見られ、
    一方、Ruby は Smalltalk などのオブジェクト指向言語と Lisp の影響が見られます。



    Python はオブジェクト指向を強要しないので Ruby より初学者には学びやすいかもしれません。



    いずれにせよ、RubyもPythonも学ぶなら、学習する順番としては、Ruby → Python よりも、Python → Ruby の方が効率が良いのではないかと思った。
    Ruby on RailsとDjangoを比較するだけなら、どちらの言語も、そんなに時間をかけてダラダラ学習する必要はないだろう。
    あるいは、両方同時に勉強すれば良い。

    速効!Pythonプログラミング―バージョン2.5対応速効!Pythonプログラミング―バージョン2.5対応
    (2007/04)
    上平 哲

    商品詳細を見る

    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/224-91567830

    FC2Ad