• 0 Posts
  • 24 Comments
Joined 2 years ago
cake
Cake day: June 30th, 2023

help-circle
rss



  • Seriously. There are a lot of parallels between GPUs (or NPUs for ML inference) and quantum processors in terms of being architected towards a more specialized form of computation and I could totally see QPUs being a thing in the future, probably mostly for number cruncing (see Grover/Shor’s algorithms). Though if Grover search suddenly becomes the way of quickly searching for files or something, who knows, maybe this might be more useful for general computing than we think.

    In the 80s no one thought computers would be something normal people would use at home, they were seen as a tool for mathematicians and nerds. Now look at the world today. Who knows what the future will hold.








  • Counterpoint, I believe the Swift syntax strikes a much better balance than Rust in terms of ergonomics and argument labels are awesome for designing fluent APIs. There are things that Rust does better, aside from having a bigger ecosystem, namely the whole borrowing/ownership system, though they’re catching up (noncopyable types and references are coming soon).

    The concerns about ARC are generally a bit overstated, ARC only comes into play with classes, which modern Swift greatly deemphasizes in favor of structs, enums and protocols. Sure, sometimes you need them, especially when interoperating with Objective-C, but Rust has its escape hatches for reference counting too (Rc/RefCell, Arc/Mutex), those are just (intentionally) a bit more verbose.

    In short, Swift encourages a very similar, value-oriented programming style as Rust with a modern type system (generics, associated types etc.), while offering lots of nice syntactic sugar (property wrappers, result builders etc.)









  • Not OP, but a pretty common reason is having a super-modular and hackable IDE that can be used to develop pretty much anything. Everything is JSON-configurable, all editors are webviews, so adding stuff like HTML rendering in Jupyter notebooks is almost trivial from a technical perspective. Fleet might be a step in the right direction, but still feels like a layer on top of IntelliJ, which is a beast in of itself, plus it is closed-source.

    Also the approach of decoupling editors from the language support via LSP might be one of the biggest innovations in this space in recent years, IMO. Having a widely adopted and open protocol for language support effectively made Neovim, Emacs etc. a viable choice. It has spawned several high-quality LSP implementations, often directly supported by the compiler vendors, e.g. clangd or rust-analyzer.

    Arguably Microsoft has been monetizing a bunch of services on top of VSCode too and they haven’t always stuck to their own principles (see Pylance, a closed-source language server that only runs in official VSC builds), but the LSP itself was still a pretty big net positive.