Swift教室 Swift と競技プログラミングの教室

Swift という言語

読了目安 約2分

Apple が公開したオープンソース言語 Swift の特徴と、競プロでの位置づけ。

この章の目次

Swift は、Apple が 2014 年に公開したプログラミング言語です。 現在はオープンソースで開発されていて、誰でも無料で使えます。

どこで動くか

Swift は iPhone アプリの開発言語として有名です。 しかし、動く場所は Apple 製品の上だけではありません。 Linux でも動き、サーバーやコマンドラインのプログラムも書けます。

このサイトのサンドボックスも、Linux 上で Swift を実行しています。 競技プログラミングで書くのは「標準入力を読んで標準出力に答えを出すプログラム」だけなので、iPhone アプリの知識は必要ありません。

Swift の特徴

Swift は型安全な言語です。 数値と文字列を取り違えるような間違いを、実行前にコンパイラが見つけて教えてくれます。

文法は読みやすさを重視して設計されています。 1 つ動かしてみましょう。

Swift
let name = "Swift"
print("Hello, \(name)!")

let numbers = [3, 1, 4, 1, 5]
print(numbers.sorted())

numbers.sorted() は「numbers を並べ替えたもの」と英語のまま読み下せます。 このように、書いたことがそのまま読めるのが Swift らしさです。

試してみよう: sorted()sorted(by: >) に変えて、並び順がどう変わるか確かめてください。

競プロでの位置づけ

AtCoder には提出言語として Swift があります。 このサイトで書いたコードは、そのまま AtCoder に提出できます。

言語特徴競プロでは
C++コンパイルされて高速に動く利用者が最も多い。APG4b の題材
Python短く書けるが実行は遅め入門者に人気
Swiftコンパイルされて高速に動き、型安全AtCoder に提出できる

Swift はコンパイルされる言語なので、Python より高速に動きます。 それでいて文法は簡潔で、競プロの短いプログラムに向いています。