InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

プログラミング言語:2008年の振り返りと2009年の展望

作者 Sadek Drobi , 翻訳者 渡辺 裕之 投稿日 2009年1月16日

セクション
デベロップメント,
設計/アーキテクチャ
トピック
言語 ,
Java ,
Ruby ,
プログラミング ,
Architecture ,
.NET
タグ
Scala ,
言語指向プログラミング ,
C++ ,
言語特性 ,
C# ,
F# ,
Haskell ,
言語

昨年の年初、Ehud Lamm氏がLamba the Ultimate上で他のブロガーにも呼び掛けて2008年のプログラミング言語(PL)分野に関する予言(リンク)を投稿するスレッドを立ち上げた。

同時実行制御の問題が一年を通して注目されるであろうテーマとして最初に挙げられたが“現行のパラダイム[…]やアーキテクチャ[…]がうまく扱えないのだから何の結論も出ないだろう”という議論に終わってしまった。同様に多くの不安定な予言が関数型プログラミング言語に関心を払っている。Haskellはたいして広く使われはしないだろうが、主流となっている言語に新たな機能を追加する発想を与え“ブログ圏を震撼させる”だろうと語られている。つまり、ある人が“どの関数型言語も普及することはないだろう”と考える一方で他の複数のブロガーはF#とScalaは少なくても“F#/C#かScala/Javaの組み合わせによる”"多数の(プログラミング)言語を使った"プロジェクトを通して“広く理解されるだろう”という楽観的な予言をした。他の言語については、Javaは“よりゆるぎないものになる”と予想された。Rubyも同様に予想されていたがRailsの人気下降と共に(その予想は)徐々に衰えていった*。それとは反対に、C++は2009に向けた新しいISO標準によって“2008年の年間最優秀プログラミング言語になる”だろうと予想されJavaScriptはさらに勢いを増すと予想された。

このスレッドに呼応するように、James Iry氏は2008年の終わりに“プログラミング言語について2008年に注目されたのは何だろうか(リンク)”というスレッドでブロガーの意見を尋ねた。

前年の予言の有効性を評価しつつ、Kay Schluehr氏は同時実行制御の問題は年間のテーマとなるには程遠かったとしている。そして、もし(年間のテーマを)何か一つ挙げるとすればそれは、“クラウド・コンピューティング”であったとしている。但しKay氏は“これはほとんどコンピューティングとは関係のないもの”と考えているようである。さらにKay氏はMorris Johns氏が予想した通り、どの関数型言語も広く一般的にはならなかったと断定しているものの多くのブロガーがこれに反発している。

James Iry氏は確かにどの関数型言語もJavaやRubyのレベル程には普及していないが、“実際には昨年このような言語は主流言語のレーダーに映ったというだけではなく、激しく映ったのです”と述べている。Eli Ford氏は“F#は9月に独自のCTPがリリースされ、現在はC#やVBと共にVisual Studio 2010の一部としてリリースされる候補となっています”と強調している。さらにSean McDirmid氏は“一部の言語同様2008年はScalaにとっていい年でした”と述べている。“Clojure”は結局昨年の議論には上がってこなかったものの、Chris Rathman氏は去年の見つけ物だったと考えたようだ。Chris氏はクロージャは“既存の概念をプログラミング言語と統合する”よい例であるとしている。

Sean McDirmid氏がScalaと共にObjective Cについても“iPhone SDKのおかげで2008年の最もホットな言語だった”と述べていて、2008年は“GPUハードウェア(HLSL、CUDA、OpenCL…)のプログラムに使われる”といったさまざまな形式によるC(言語)の復讐の年でもあったと確信しているようだ。

一方で何人かのブロガーがJavaにとってはあまりいい年ではなかったと強調している。Sean McDirmid氏は“JavaFXは遅きに失していた上に期待された評判を挙げることが出来なかった”と断言している。ブロガーの表現が正しいと仮定して何人かはJavaの将来について考えていて、Danile Weinreb氏は“(Javaは)現在もそしてしばらくはITマネージャにとって"安全な"選択肢の一つとして残るだろう”と強調している。しかし他の人達は現在の危機的な状況を脱する余力がSun社にあるのか質問し、JVMの将来についてはIBMやGoogleが立ち入ってくるではないかと推測している。

議論は2008年から2009年に移り新たな予言がいくつも挙げられた。関数型プログラミング言語の分野では、James Iry氏がClojureとScalaのチームから大きな成果が得られることを期待している一方でFalcon氏は“2009年はScalaよりもClojureの年になるだろう”と指摘し、さらにF#が遂に“多くの.NET開発者に注目される”ことを期待している。一方でRoss Smith氏は前年の予言を繰り返し、関数型プログラミング言語が一般的になるだろうがそれは“既存の手続き型もしくはオブジェクト指向言語に取り込まれる形になるだろう”としている。さらにRoss氏は“新しいC++標準仕様が公式なものになるだろう”、“GPGPUアプリケーションを含む同時実効制御の問題は引き続きその重要性を増すだろう”、“Pythonは同時実行制御のサポートが欠けているためにユーザを痛めつけることになる”、“JavaScriptの輝きは増し続けるだろう”というように考えているようである。

これについてXscott氏はJavaScriptの部分に同調し“ついにはサーバやアプリケーションにおけるスクリプト言語として一般的になるだろう。というのも多くのJITコンパイラが対応しているからである”と予言しているのに対して、Kay Schluehr氏は“その(限られた)人気が拡大することはないだろう”としている。一方でKay氏は“Perl 6、Rubinius、またはPyPyといった輝かしい未来のプログラミング言語の一つがついにはコアな開発者だけではなく一般的なプログラマも関心を示されるようになるだろう。”と考えている。

Kaveh Shahbazian氏は“2009年、スクリプトの採用に新たなアプローチが登場しようとしている”として成功例としてLuaを挙げた。最後にはSean McDirmid氏が“静的/動的に関する議論が尽きることはないだろう”と予言している。
 

 

原文はこちらです:http://www.infoq.com/news/2009/01/pl-predictions-2009

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。