「ハッカー Grahamの見る言語の未来」の項の続き。
ライブラリについて
これは、「Paul Grahamのプログラミング言語観・その2」でも書いている。今後のプログラミング言語の隆盛には、言語自体とは別にそれを支援するライブラリのような存在が重要となる、とGrahamは予測をしている。引用箇所も同様となるが、繰り返しておく。
この先50年のプログラミング言語の進化は、ライブラリ関数に関するものになるだろうと思う。未来のプログラミング言語は、言語のコアと同じくらい慎重に設計されたライブラリを備えているだろう。
from "人気の言語を作るには --- Being Popular ---"
エンタープライズシステムの現場でもJ2EEのようなフレームワークは欠かせないものとなっている。開発のサイクルがどんどん短くなっていることを考えると、今後も優れたフレームワークやライブラリ群への要求は強くなるだろう。
フレームワークの効用はDellの通販みたいなものだ。与えられた選択肢からいくつかの希望を選ぶと、十分に実用的な完成品が家に届く。あとは必要なソフトウェアをインストールしてやれば、やりたかったことが実現できるのだ。これをパーツ選びから全部自分でやっていては、時間がかかって仕方がない。フレームワークもこれと同じで、ちょっとした設定をしてやれば、どうせ必要になるような基本要素はフレームワークが提供してくれる。プログラマは個別に必要となる部分をプログラムするだけの手間で済むわけだ。
ライブラリは先ほどの例でいえばパーツにあたる。ハードディスクやメモリーが必要だからといって、一々自分で作るのは大変だ。既製品を買ってきて使うのが、安心でもあり、安価だ。ライブラリはプログラムの既製品だ。これを使えば、楽に質の高いプログラムを作ることができる。
フレームワークやライブラリに関しては、企業による「より安くより速く」という要求とDRY(Don't Repeat Yourself)というプログラマの欲求の双方から求められているので、まず間違いなく今後のキーとなっていく。
プログラミング言語の変化について
最後にプログラミング言語の変化についてのGrahamの見解を書いておく。
言語がゆっくりと進化するのは、それが本当は技術ではないからだ。言語は表記だ。プログラムは、コンピュータに解いて欲しいと思う問題の正式な記述なんだ。だからプログラミング言語の進化の速度というのは、移動手段や通信手段よりは、数学表記の進化に近いだろう。数学の表記は確かに進化するが、技術の分野に見られるような巨大な飛躍は無い。
from "百年の言語 --- The Hundred-Year Language ---"
Ruby作者のまつもとゆきひろ氏もMatzにっきで同じことを言っていた。
まあ、言語ってば基本的には「思考のための記法」なので、人間がすぐには進歩しない以上、そんなに急激には変われないんだけど。
(続く)