タグ

2020年9月28日のブックマーク (3件)

  • Heart of Swift

    Swift は 値型 を中心とした特徴的なプログラミング言語です。多くのプログラミング言語は 参照型 が中心のため、他のプログラミング言語の経験者でも、その違いに戸惑うことは少なくありません。 Swift がどのようなコンセプトの言語なのかを理解していないと、 Swift らしくない( Swifty でない)非効率なコードを書いてしまいがちです。そこで "Heart of Swift" と題して、筆者が Swift を学ぶ上で最も重要だと思うことをまとめたのが書です。 Heart という単語には、「心臓」の他に「心」や「中心」などの意味があります。 "Heart of Swift" というタイトルには、 Swift の根幹をなす概念(中心)や、 Swift という言語がプログラマにどのようなコードを書くことを期待しているか(心)といった意味を込めています。書が目指すのは、 Swift

  • Swift 6で来たる並行処理の大型アップデート近況

    最近、 Swift リポジトリに並行処理関係の Pull Request (PR) が続々とマージされています。 たとえば、次のような PR があります。 Add async to the Swift type system. #33147 Add @asyncHandler attribute. #33476 Import "did" delegate methods as @asyncHandler. #34065 Import Objective-C methods with completion handlers as async #33674 Basic support for actor classes and actor isolation #33906 Swift の並行処理( Concurrency )関連の機能については、 2020 年 1 月に発表された "On th

    Swift 6で来たる並行処理の大型アップデート近況
  • マルチスレッド・プログラミングの道具箱

    まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

    マルチスレッド・プログラミングの道具箱