星になったObjective-Cと泥沼に浸かったSwift【プログラマの雑文】

最近衝撃を受けた記事。

最も嫌われているプログラミング言語は?--Stack Overflowが調査結果を発表
What are the Most Disliked Programming Languages?

Perlが「嫌いな言語」の一位に輝いたという記事。

Perlがどうなろうが、この際どうでもいい。何よりも重要なのは、Objective-Cがワースト5位に入っていたという事実、この一点に尽きる。

あのマイナーすぎて話題にもならなかった言語が、今や他のマイナー言語を差し置いて堂々の5位である。これはむしろObjective-Cにとって名誉なことなのではないだろうか。“汚名挽回”の趣を感じる。

一時は二年連続で人気上昇ランキングの一位を独占していたObjective-Cも、今やこの凋落である。はみ出し者ははみ出し者として潔く散ってゆくのだ。ここにObjective-Cの儚さ感じざるを得ない。

Objective-Cは少数派の非難に屈した実に難儀な言語である。iPhoneのヒットとiOSの第一級言語という境遇が重なり、不運にも少数派と多数派の逆転の荒波に揉まれる形となった。熟練者からの理解や評判はそこそこ良かったものの、初学者の受けはすこぶる悪く、開発者からの不満や批判も日に日に増していく状況にあった。それを見かねたのか、AppleはSwiftという代替言語を発表し、今やObjective-Cを亡き者にしようとしている。散々弄くり回しておいて、この仕打ちである。

しかしSwiftの登場は必然であったように思う。バッテリー技術の進歩は頭打ちであったし、HTML5/JavaScriptは生まれる時代を間違えた。それに今はド素人がアプリを作り始める時代である。Swiftの登場は時代の要請に応えるものであった。

ただ、発表のタイミングは悪かったように思う。出遅れ感が否めない。それに言語仕様と開発環境は未完成品といってよい代物であった。我々が本当に求めていたものは、完成品としてのSwiftであったと思う。あれはAppleらしくないやり方だった。

最近、巷では「Swift疲れ」や「Swift離れ」が問題になっていたりするのだろうか。少なくとも自身はSwift疲れを強く感じている。この言語は保守コストが高すぎる。いっそのこと、Xamarinやその他のクロスプラットフォーム環境に移行してしまおうとすら思い始めている。Swiftは一体何がしたかったんだろう。

Cocoa Javaを廃止した頃から、Appleの運命は大きく分かれたように思う。AppleがJavaを切っていなければ、今頃我々はSun Apple社製のARC版Javaネイティブコンパイラで皆仲良く幸せにモバイル開発をしていたのかもしれない。いや全く根拠はないのだが。

ところで、今後はどんなプログラミング言語が主流になっていくのだろうか。個人的にはスクリプト言語に注目している。時代は静的型付けのコンパイル言語だが、より柔軟で動的な特性を備えたスクリプト言語やインタプリタ言語への再評価が起こってもよい頃合いだと思う。

動的型付けと静的型付けの両特性を柔軟に使い分けられる言語は将来性が高そうだ。Swiftもそれに近いと思われたが、超強力な型付けと型推論に起因するコンパイル速度の極端な遅さ、オプショナルの支配力、Cocoaフレームワークとの相性も相まって、結局は静的なスタイルに偏る形となってしまっている。スクリプト言語に型システムを乗っけるくらいがちょうどよいのかもしれない。

そういう意味では、TypeScriptやGo言語はバランスの良い言語だと思う。逆にSwiftやC++, Rustは色々と硬すぎると感じる。

いや、まてよ。よくよく考えるとObjective-Cが全てを満たしている気がするぞ。Objective-C、実は最強のプログラミング言語なのでは・・・(目をぐるぐるさせながら)。

広告