「Swift」を数週間いじった、その後の評価--発表時の考えを改めた開発者も

David Morgenstern (Special to ZDNET.com) 翻訳校正: 川村インターナショナル

2014-06-27 07:30

 「Mac」と「iOS」の開発者が「Swift」を綿密に検証している。Swiftは6月にサンフランシスコで開催されたWWDCでAppleが発表した新しいプログラミング言語だ。真っ先に提起された質問には、次のようなものがある。Swiftは良いものなのか、それとも悪いものなのか。現在と将来のプロジェクトにはSwiftを使うべきなのか。プログラマーは過去に遡って、「Objective-C」で記述したプログラムをコーディングし直すべきなのか。

 MicrosoftのMS「Office for Mac」および「Office for iPad」チームのDavid Owens氏はかつて、Mediumへの投稿の中で、Swiftの発表はObjective-Cプログラマーにとって不運だと述べている。

 Swiftの発表を受けて、私はiOSと「OS X」の開発の未来をとても悲観している。私の見る限り、Swiftによって大きな変化が起きるとは、現時点では考えられない。Swiftの基本的な事柄の多くは好ましいと思えず、これらのせいで、Objective-Cの本質的な精神、つまり実用主義が破壊されてしまうのではないかと危惧している。

 しかし、先頃の投稿の中で、Owens氏は考えを改めたことを明かした。同氏はブログ投稿の中で、Objective-Cで享受していた「表現力の高さ」を実現しながら軽量の「JSON」(JavaScript Object Notation)ライブラリを作成し、「なおかつSwiftのセマンティクスに準拠する」ことができたと述べている。同氏はSwiftの「Convertible」機能に前向きになっていた。

 少しの作業(と長い時間をかけて「Xcode」とSwiftの現行のバグを取り除く取り組み)を行えば、Swiftはタイプセーフと表現力の間の一線を乗り越えることができる。こうしたすべての素晴らしいことについて適切なドキュメンテーションが完成すれば、静的型付けに対して私が抱く懸念の大半は完全に払拭されるだろう。

 私は今日、Swiftに関して、これまでよりずっと楽観的な気分になっている。

 プログラマーはSwiftに移行すべきなのか、そして、既存のコードをSwiftに移行させることは理にかなっているのか、という質問に対して、Oliver Drobnik氏はCocoaneticsブログで回答を提示した。もちろん、最初の質問に対する同氏の答えを要約すると、「それは時と場合による」ということになる。多くの場合、それはそのアプリがリリースされる時期によって決まる。しかし、過去に遡っての移行については、今は待った方が賢明だとDrobnik氏は述べた。

 われわれは、複数のクローズドソースプロジェクトとオープンソースプロジェクトでObjective-Cを使用している。すべてを新しい言語で記述し直しても、得られるものは何もない。Appleは開発者が複数の言語を組み合わせることを認めている。既存のプロジェクトに新しいクラスを追加する場合、Swift の魅力に誘惑されて実装に使うこともあるかもしれない。あるいは、新しいアプリに最初からSwiftで取り組んで、この言語を学習し、Appleにフィードバックを提供することもできる。ただ、Swiftが即座にすべてのObjective-C開発に取って代わるとは思わない。

figure_1

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. ビジネスアプリケーション

    生成 AI 「Gemini」活用メリット、職種別・役職別のプロンプトも一挙に紹介

  2. セキュリティ

    まずは“交渉術”を磨くこと!情報セキュリティ担当者の使命を果たすための必須事項とは

  3. セキュリティ

    迫るISMS新規格への移行期限--ISO/IEC27001改訂の意味と求められる対応策とは

  4. セキュリティ

    マンガで分かる「クラウド型WAF」の特徴と仕組み、有効活用するポイントも解説

  5. ビジネスアプリケーション

    急速に進むIT運用におけるAI・生成AIの活用--実態調査から見るユーザー企業の課題と将来展望

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]