Two examples are handling light and water. If I want to do it in a classic style, I would have to make a 'light map,' where the surface or points like torches would have to breadth-first search crawl in all directions and be blocked by solid blocks. Similarly, working with waters would require knowing specific places in a chunk and seeing whether or not it spreads downwards from those places or not every tick. Solutions to these two problems require functions over the entire 3d array, which I find to feel off, or venture into territory where the APL paradigm falls apart and creates 'code smell'[5]
David Barnett. Credit: PopSockets
。关于这个话题,新收录的资料提供了深入分析
Good. But contracts have a structural problem that the talk doesn’t address: they depend entirely on the developer writing correct and complete annotations. This is the “disciplined programmer” assumption that has been the central failure mode of C++ safety for 40 years. We gave developers const. They don’t always use it. We gave them smart pointers. They still use new. We gave them std::array. They still use C arrays. Every single opt-in safety feature in C++ history has had incomplete adoption because adoption requires discipline, and discipline doesn’t scale across teams, across dependencies, across decades of maintenance.
ФБР предупредило Калифорнию о возможной атаке Ирана20:49
raw := await fetch_data("https://api.example.com/data")?;