Non-Profit, International

Spirit unsterblich.

  • One exception to rule them all

    字数统计:1625
    本文简单讨论了不同高级编程语言如何表达以及处理错误,并介绍了 C++ 中新的解决方案。
  • Programming Language Memory Models

    字数统计:14294
    这是 Go 语言现任领队 Russ Cox 在 2021 年写的文章 Programming Language Memory Models 的翻译。本文是第二篇,重点阐述了 C++ 和 Java 对内存模型设计的历史,以及 ECMAScript 2017 的初步尝试。
  • Programming Language Memory Models

    字数统计:10923
    这是 Go 语言现任领队 Russ Cox 在 2021 年写的文章 Programming Language Memory Models 的英文原版的备份。本文是第二篇,重点阐述了 C++ 和 Java 对内存模型设计的历史,以及 ECMAScript 2017 的初步尝试。
  • Hardware Memory Models

    字数统计:6613
    这是 Go 语言现任领队 Russ Cox 在 2021 年写的文章 Hardware Memory Models 的英文原版的备份。本文是第一篇,重点阐述了几个流行的 ISA(指令集架构)中如何实现缓存同步;第二篇则是总结了常见的支持多线程的语言中同步设施(内存模型)的设计;第三篇则讲述了 Go 的内存模型,Go 的内存模型已经于去年正式发布。
  • 硬件内存模型

    字数统计:10837
    这是 Go 语言现任领队 Russ Cox 在 2021 年写的文章 Hardware Memory Models 的翻译,虽然我对 Go 没什么兴趣,但在网上大概没有更好的从软件工程师的角度对多 CPU(现在也叫做多线程,或者多核心)架构并发编程的进行全面总结的文章了,因此在此提供中文版本。本文是第一篇,重点阐述了几个流行的 ISA(指令集架构)中如何实现缓存同步;第二篇则是总结了常见的支持多线程的语言中同步设施(内存模型)的设计;第三篇则讲述了 Go 的内存模型,Go 的内存模型已经于去年正式发布。
  • C++ 20 CPO 和 Ranges 新算法

    字数统计:2226
    在之前的 Ranges 文章中我称 Ranges 为重要改进,不仅仅是因为 Ranges 本身提供了容器无关的抽象,还因为 Ranges 带来了“新的”算法,解决了一些函数查找的历史问题。
  • WinUI 3 限制窗口最小宽高

    字数统计:535
    WinUI 3 软件开发中最无语的一件事就是限制窗口大小居然需要自己处理 Win32 消息。。。。。