14:00DjangoはPythonの簡潔さをうまく活かし、シンプルかつ本格的な開発ができるWebアプリケーションフレームワークです。本稿ではこのDjangoによるアプリケーション開発の基本をチュートリアル形式で説明します。Language(以降LL)と呼ばれるスクリプト言語が人気を博しています。本稿では、そのスクリプト言語の中からPythonとWebアプリケーションフレームワークのDjango(ジャンゴと読む)を紹介します。Pythonの大きな特徴として、「言語仕様が小さくシンプルであり、簡潔で読みやすいアプリケーションを作れる」という点が挙げられます。DjangoはPythonの簡潔さをうまく活かし、シンプルかつ本格的な開発ができるWebアプリケーションフレームワークです。本稿ではこのDjangoによるアプリケーション開発の基本をチュートリアル形式で説明します。日頃、Perl、Ruby、PHP、Java、C#などPython以外のプログラミング言語で開発している方Webアプリケーションの開発をこれから学ぶ方、もしくは学びはじめたばかりの方。BetaSQLite3執筆時点(2009年6月29日)では、Djangoの正式バージョンは1.0.2ですが、間もなく1.1がリリースされる模様です。本稿では1.1Betaを使用します。システムのライフサイクルプログラミング言語を選択する際の視点として、開発生産性やとっかかりの良さだけに目が行きがちです。その2つはとても重要な要素ですが、システムはバージョン1.0をリリースしたらそれでおしまいということはほとんどなく、その後も機能追加、修正を実施していくことがほとんどです。ライフサイクルでみるとバージョン1.0の開発期間よりも、リリースされてからの時間の方が圧倒的に長いと言えるでしょう。それを示したのが図1です。図1:システムのライフサイクルバージョン1.0からの時間の方が圧倒的に長く、企業ではジョブローテーションなどで人が入れ替わることを考えると、作られたプログラムが読みやすいかという点、すなわち保守性の高さは言語選択において重要なポイントであると言えます。各スクリプト言語の思想・哲学プログラミング言語は、それぞれに言語思想・哲学を持っています。あることをするのにいくつものやり方がある)という哲学を持っています。Good)」という哲学を持っています。PerlとRubyは言語のもともとの思想として、一つのことを実現するのに、プログラマによりさまざまな書き方があることを善とし、奨励するというスタンスであり、当然その言語を使用して開発されたプログラムは、規約などを定めない限り、開発する人によりさまざまに異なってくるということになります。Pythonは言語自身の機能をできるだけ小さくおさえ、ユーザーがいつも必要とする最小限の機能のみを提供するという思想で言語が設計されています。これより、Pythonでは同一の仕事をするプログラムは、大体どれも同じようなコードにおさまるという特徴を持ちます。これがPythonで書かれたコードの読みやすさ、保守性の高さに直結します。このようなことから、筆者は、エンタープライズのウェブサービスのプログラミング言語としてPythonに注目しています。世界的なIT企業であるGoogleでは使用するプログラミング言語を3つ定めています。それはC++、Java、Pythonの3つです。Googleのサービス、社内ツールの多くがPythonで実装され、大規模なシステムで活用されています。代表的なサービスとして、YouTubeの大部分がPythonで実装されています。Engine上で全ての機能が使用できるわけではありません)。Googleのような世界的レベルの企業が、Pythonを積極的に活用しているのも、Pythonがエンタープライズのシステムで用いるのに効果的な言語であることを認められているからではないでしょうか。欧米ではGoogleをはじめとしてPythonの良さが既に認められ、さまざまなシステムやサービスで使用されています。Hack-a-thonの第1回の開催が、8月に予定されています。75名募集のところが、募集開始と同時にあっという間に定員に達し、キャンセル待ちが20人以上発生している状態です。このようなことからも、日本国内でのPython人気が高まってきていることが伺えるのではないでしょうか。Hack-a-thon(ハッカソン)とは、ある開発テーマの技術に興味のあるプログラマーたちが、ノートPC持参で集まり、ソフトウェアをハックしたり、プログラムをコーディングしたりして、最後に開発したアプリケーションやサービスをプレゼンするというイベントです。日本でもここ最近で活発に開催されるようになってきています。「各スクリプト言語の思想・哲学」を中見出しから大見出しに変更した。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。