Swift 5.0 日本語化計画 : Swift 5.0
Swift について
Swift は、安全性、パフォーマンス、およびソフトウェア設計パターンに対する最新のアプローチを使用して構築された汎用プログラミング言語です。
Swift プロジェクトの目標は、システムプログラミングから、モバイルアプリ、デスクトップアプリ、そしてクラウドサービスまでの幅広い用途に最適な言語を作成することです。最も重要なことは、Swift は、開発者にとって 正しい プログラムを書いて維持しやすくなるように設計されています。この目標を達成するためには、Swift コードを書くための最も明白な方法は、以下のようなものでなければならないと考えています。
安全。 コードを書くための最も明白な方法は、安全な方法で振る舞う事でもあります。未定義の動作は安全性の敵であり、開発者の間違いは、ソフトウェアが生産されるうちに捕らえられるべきです。安全を選択すると、Swift では厳しい気持ちになることがありますが、明快さは長期的には時間を節約すると信じています。
速さ。Swift は、C ベースの言語 (C、C ++、および Objective-C) の置き換えとして意図されています。したがって、Swift は、ほとんどのタスクにおいてパフォーマンスでそれらの言語に匹敵するでしょう。後でクリーンアップが必要な短時間のバーストではなく、パフォーマンスも予測可能で一貫性がなければなりません。斬新な機能を備えた言語がたくさんありますが、速いのはまれです。
表現に富む。コンピュータ科学の何十年もの進歩から、開発者が期待する、最新の機能を使用するのが喜びになる構文を提供する Swift のメリットが得られます。しかし、Swift はそれだけでは決して終わらない。私たちは、言語の進歩を監視し、何がうまくいくかを受け入れ、Swift をいつまでもより良くするために絶えず進化していきます。
ツールは、Swift エコシステムの重要な部分です。我々は、開発者のツールセット内でうまく統合し、素早くビルドし、優れた診断を行い、インタラクティブな開発体験を可能にするよう努めています。Xcode で Swift ベースのプレイグラウンドや Linux のサーバー側のコードを操作するときに Web ベースの REPL ができるように、ツールを使用すると、プログラミングを非常に強力にすることができます。
特徴
Swift には、コードを読み書きするのを容易にする機能が含まれていますが、開発者に真のシステムプログラミング言語で必要とされるコントロールを提供します。Swift は推論された型をサポートし、コードをよりクリーンにし、間違いを少なくし、またモジュールはヘッダーを削除し、名前空間 (namespaces) を提供します。メモリは自動的に管理され、セミコロンさえ入力する必要はありません。Swift はまた他の言語から以下の物を借りています。たとえば、Objective-C から、呼び出された名前付きのパラメータは、Swift の API を読みやすく、保守しやすいクリーンな構文で表現されています。
Swift の特徴は、強力でありながら使うのが楽しい言語を作成するために一緒に働くように設計されています。Swift には以下のような特徴が追加されています。
- 関数ポインタで統一されたクロージャ
- タプルと複数の戻り値
- ジェネリックス
- 範囲またはコレクションでの高速で簡潔な繰り返し
- メソッド、拡張機能、およびプロトコルをサポートする構造体
- 機能的プログラミングパターン、例えば、マップおよびフィルタ
- 強力なエラー処理機能を内蔵
- do、guard、defer、および repeat キーワードによる高度な制御フロー
安全
Swift は初めから C を基礎にした言語よりも安全であるように設計されており、安全でないコードのクラス全体を排除しています。変数は常に使用前に初期化され、配列と整数はオーバーフローがチェックされ、メモリは自動的に管理されます。構文はあなたの意図を簡単に定義できるように調整されています。たとえば、単純な 3 文字のキーワードで変数 (var) または定数 (let) を定義します。
もう 1 つの安全機能は、デフォルトでは Swift オブジェクトを nil にすることは決してできない事です。また、nil オブジェクト を作成または使用しようとするとコンパイル時エラーが発生します。これによりコードの作成がよりクリーンでより安全になり、実行時クラッシュの一般的な原因を防ぐことができます。しかし、nil が適切な場合があり、これらの状況では、Swift には optional として知られる革新的な機能があります。optional には nil が含まれていても構いませんが、Swift の構文では安全に対処する必要があるため ? を使用してコンパイラにその動作を理解させ、それを安全に処理することを指示します。
Swift.org とオープンソース
2015 年 12 月 3 日、ライブラリ、デバッガ、およびパッケージマネージャをサポートする Swift 言語が、実行時ライブラリ例外での Apache 2.0 ライセンスの下でで公開され、Swift.org がプロジェクトをホストするために作成されました。ソースコードは GitHub 上でホストされており、そこでは誰でも簡単にコードを取得して自分自身でビルドすることができ、コードをプロジェクトに戻すためのプルリクエストを作成することもできます。誰もが歓迎され、バグを報告する だけでもできます。このサイトには、優れた Swift 入門 ガイドも用意されています。
プロジェクトは、コミュニティと協力して戦略方向性を導くエンジニアのコアチームと、日々のプロジェクト管理を担当するコードオーナーの集まりによって管理されています。テクニカルリーダーは寄稿者のコミュニティから来ており、誰でも Swift の領域をリードする権利を得ることができます。コミュニティガイドライン には、Swift コミュニティの管理方法に関する詳細情報が含まれています。
プロジェクト
Swift 言語は、独自のリポジトリを各々持つ、プロジェクトのコレクションとして管理されます。現在のプロジェクトのリストは以下のとおりです。
- Swift コンパイラ コマンドラインツール
- 標準ライブラリ は言語の一部としてバンドルされています
- より高いレベルの機能を提供する コアライブラリ
- Swift REPL を含む LLDB デバッガ
- Swift ソースコードの配布とビルドのための Swift パッケージマネージャー
- Xcode でプレイグラウンドを有効にするための Xcode プレイグラウンドサポート。
プラットフォームサポート
公開で Swift を開発するための最もエキサイティングな側面の 1 つは、幅広いプラットフォーム、デバイス、および使用の用途に移植するのは自由であるのが今や分かっていることです。
私たちの目標は、実際の実装メカニズムがプラットフォームごとに異なる場合でも、すべてのプラットフォームで Swift のソース互換性を提供することです。主な例は、Apple プラットフォームには、UIKit や AppKit などの Apple プラットフォーム・フレームワークにアクセスするために必要な Objective-C 実行環境が含まれている事です。Linux などの他のプラットフォームでは、Objective-C 実行環境は必要ありませんので、存在しません。
Swift のコアライブラリプロジェクト は、Objective-C 実行環境に依存せずに基本的な Apple フレームワーク (Foundation など) の移植可能な実装を提供することにより、Swift のクロスプラットフォーム機能を拡張することを目指しています。コアライブラリは開発の初期段階にありますが、すべてのプラットフォームで Swift コードのソース互換性が向上します。
アップルのプラットフォーム
Mac 上でオープンソースの Swift を使用すると、iOS、macOS、watchOS、および tvOS のすべての Apple プラットフォームを対象とできます。さらに、オープンソース Swift のバイナリビルドは、Xcode ビルドシステムの完全サポート、エディタでのコード補完、統合されたデバッグなど、Xcode 開発ツールと統合されているため、誰でも最新の Swift 開発を、使い慣れた Cocoa と Cocoa Touch 開発環境で試すことができます。
Linux
オープンソースの Swift は、Linux 上で Swift ライブラリとアプリケーションをビルドするために使用できます。オープンソースのバイナリビルドは Swift コンパイラと標準ライブラリ、Swift REPL とデバッガ (LLDB)、及び コアライブラリ を提供しているので、Swift 開発に直接飛び込んでいくことができます。
新しいプラットフォーム
Swift を一緒に連れて行ける新しい場所を見るのが待ちきれません。私たちが愛しているこの言語は、ソフトウェアをより安全にし、迅速にし、保守性を向上させることができると本当に確信しています。私たちは Swift をより多くのコンピューティングプラットフォームに連れて行くことをお手伝いします。