# Swiftの将来を期待させるプレゼン

最近、アップルのエコシステムや、モバイル向けのカンファレンス以外でSwiftのトークを3つほど見て、今後のSwiftの発展を期待させる内容だったので、紹介させてください。

## [CppNow 2023] Introducing a Memory-Safe Successor Language in Large C++ Code Bases

<iframe width="560" height="315" src="https://www.youtube.com/embed/lgivCGdmFrw?si=4gzuOVdDK1aFxNn_" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

John McCall / Apple, Swift Language Steering GroupのChair

- C++のカンファレンスCppNowでの公演
- Appleではシステムのカーネルからアプリの開発までC, C++, Objective-C, Objective-C++などの先行言語を利用してきた
- しかし、安全性などの観点からこれらの先行言語を置き換える必要があると認識している
- 先行言語は複数あるものの、その後継言語としてはSwiftで統一する計画と発表
- それを実現するために、C++との相互運用性に取り組んでいて、徐々に移行を可能にした

##  [Strange Loop 2023] Swift as C++ Successor in FoundationDB

<iframe width="560" height="315" src="https://www.youtube.com/embed/ZQc9-seU-5k?si=cze_zxa6IAnJqtuo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

Konrad Malawski / Apple, Swift Server Workgroup 

- [FoundationDB](https://www.foundationdb.org)はAppleが買収して[Open Source化](https://github.com/apple/foundationdb)した分散key-value DB
- iCloudなどのサーバーサイドで利用されている
- FoundationDBではC++のソースジェネレータとして作成されたFlow言語で10年開発されている
- そのFlow言語の改善を模索していたが、根本的にC++の後継としてSwiftを採用するに至った
- パフォーマンスを犠牲にすることなく、Swiftを導入できた

## [GodotCon 2023] Paying my Debt to Society: SwiftGodot

<iframe width="560" height="315" src="https://www.youtube.com/embed/tzt36EGKEZo?si=ShcXOUmAH_qAzcGe" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

[Miguel de Icaza](https://ja.wikipedia.org/wiki/ミゲル・デ・イカザ)

- GnomeやMono (Ximian, Xamarin)を立ち上げてきた
- C#, MonoをUnityやUnreal、PS4、Vitaなどゲーム開発で利用できるよう尽力
- C#をオープンソースのゲームエンジンの[Godot](https://godotengine.org)に入れるために資金確保なども行なった
- ただ、C#をゲームで利用する際にガーベッジコレクションが支障になり、様々な挑戦したが解決には至らなかった
- Swiftに期待を寄せるように
- GodotのSwiftバインディングである[SwiftGodot](https://github.com/migueldeicaza/SwiftGodot)に取り組んでいる
- Swift利用することで、C#で直面していた問題を解決したいとC#を広めてしまった責任感から取り組んでいる
- 将来的にC/C++での新しいコードが減らせるよう、Godot EditorをSwiftで書くことも提案

