sasau’s diary

作ったもので2年に一回くらいの更新を目指す

try! Swiftに参加していた。

短いインターバルで内容を咀嚼していくのはなかなかハードだったけど、内容がそれぞれ極まっていた。

同時通訳のレシーバーが足らないという話が気掛かりだったけど戻っていたようで、よかった。

とりあえず、個々のテクニックは別にして今回感じたことは大きく2つ

Swiftのプログラミングスタイル

Objective-Cは、誰が書いても同じようなコードになる。
Objective-Cnilへのメソッド呼び出しが無視されたり
評価するとデフォルト値を返すなどして、簡単にヌルポを吐かない代わりに独特の意訳をする言語だ。
標準のNSArrayや、NSDictionaryに値を詰めると型が消えるという仕様、ダイナミックなメソッド呼び出しは完全に動的言語のそれで、主な使命がFoundationやUIKitのAPIの利用ということを差し引いても`There's Only One Way To Do It`だ。

Swiftはどうか、というとSwift2からProtocol Oriented Programingが提唱されており、メタプログラミングが追加されRxをはじめとしたFunctionalなプログラミングスタイルが既に人気を集めている。
そして、恐ろしいことにそれらは日々増え続ける状態の管理を幾分か、簡明にする優れた答えの一つでもある。
まあだいたい、言いたいことはakisuteさんが仰っておられた通り。 

try! Swift SwiftらしいTable View Controllerの使い方

try! Swift Protocol-Oriented Programming in Networking

try! Swift パーサーコンビネーター in Swift

自分も見習ってキラッキラしたSwiftコードを書きてえと思う一方で、エクストリームな世界に対しては、身構えるところもある...。

Swift Package Managerとswiftenv

今回は基本的にiOSに向けたセッションだったが

try! Swift Swiftでサーバを書いてみよう #tryswiftconf Day3-2 - niwatakoのはてなブログ

try! Swift ライブラリの開発 #tryswiftconf Day2-8 - niwatakoのはてなブログ

 はLinux環境での利用について言及していた。

これらは今後一年で主流になっていくと思われるので、試す。(cocoapodsはコマンド一発で使える、cartageもビルドの速さなど、過去の資産も含め一日の長があるのでそれなりに使われていくと思う)
来年は上から下まで全部swiftで書いたとかraspi動かしたみたいなセッションが出るんだろうか。

Party

英語使えないのにお酒を飲んで外国の参加者の方に意味不明な絡みをしてしまった。

とても申し訳ない、勉強させていただきます。