Swift 2.2に対応しながら


いまさらながら、ボチボチと手持ちのコードのSwift 2.2、というか来るべくきSwift 3に向けた対応を進めています。無視しまくっていた警告をプチプチとつぶしています。みなさんご承知の通り、ほとんどがdeprecatedされたものですね。作業自体は別に難しくはないんですが。

結構大胆にいろんなものをdeprecatedしてきましたよね。「++演算子を使うな」と言ってきたり。「..<演算子を使った方がSwiftらしいからそうしろ(警告文直訳)」と言ってきたり。今回は全般的に、CっぽいものやObjective-Cっぽいものをザクザクと削除にかかってきている印象です。言語設計者に、Swiftかくあるべし、という確固たる思想があるのを感じさせますね。

プログラミング言語のバージョンアップっていうと、普通は色々な文法を付け足してきてブクブクと肥大化していきますよね。Javaとか、Javaとかね。あとJavaもか。それに比べれば、文法を削りにきてるってのは健全かもしれない。普通はやらないですよ。昔のコードが動かなくなるんだから。みんなやりたくてもやれなかったことを堂々とやるのは、AppleらしいといえばものすごくAppleらしい。

とはいえ、ちょっとストイック過ぎんじゃない? って気もしますね。文法を変更した経緯は丁寧に説明されていて、++演算子を削った理由とか説明されているんですが、まぁ一言でいえばSwiftらしくなくて嫌だ、ってことですか。

理由の一つとして、

x++はx+=1と比べてそんなに短くならない

と述べられたりしてるんですが、それを言っちゃあおしまいでしょ。

シンプルさの追求や曖昧さをなくす、といえば聞こえがいいですが、一歩間違うと多様性の排除にもつながっていくでしょう。ま、プログラミング言語や技術に対して、多様性が善として働くとは限りませんが。Swift 3に向けてどうなっていくか、興味深いです。

  1. コメントはまだありません。

  1. トラックバックはまだありません。