Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    N

    Nick Cameron

    ncameron.org · Personal blog · on HN since 2014

    Nick Cameron, a long-time Rust contributor, writes about the Rust language, its tooling, its RFC process, and its direction.

    Visit blogRSSHN submissions
    Languages & CompilersProgrammingOpen Source & Linux
    What HN says

    Commenters cite his Rust posts for technical context, though one finds his "Rust in 2023" post lacking insight, and he later posted a clarification.

    Stats for nerds
    65HN people shared it
    63linked in comments
    539story points
    Nov 2025last shared
    2014people per year2025

    Top posts on HN

    1. 1
      Rust in 2022
      4 people · 136 points · first shared 2022 · 248 comments on HN
    2. 2
      Cargo's next few years
      1 person · 110 points · first shared 2019 · 40 comments on HN
    3. 3
      Portable and Interoperable Async Rust
      3 people · 100 points · first shared 2021 · 68 comments on HN
    4. 4
      Challenges for Rust
      2 people · 72 points · first shared 2022 · 119 comments on HN
    5. 5
      What the Rust Language Server Can Do
      4 people · 11 points · first shared 2017 · Discussion on HN
    6. 6
      Rust Through the Ages
      4 people · 10 points · first shared 2024 · Discussion on HN
    7. 7
      My thoughts on Rust in 2016
      2 people · 10 points · first shared 2016 · Discussion on HN
    8. 8
      Rust 2018
      2 people · 8 points · first shared 2018 · Discussion on HN
    9. 9
      Rust is about productivity
      2 people · 7 points · first shared 2016 · Discussion on HN
    10. 10
      How the Rust Language Server Works
      1 person · 7 points · first shared 2017 · Discussion on HN

    What HN people wrote when they linked it

    • masklinnApr 2014

      I'd expect something along the lines of:

      > Several recent studies have introduced lightweight versions of Java: reduced languages in which complex features like threads and reflection are dropped to enable rigorous arguments about key properties such as type safety. We carry this process a step further, omitting almost all features of the full language (including interfaces and even assignment) to obtain a small calculus, Featherweight Java, for which rigorous proofs are not only possible but easy.

      > Featherweight Java bears a similar relation to Java as the lambda-calculus does to languages such as ML and Haskell. It offers a similar computational "feel," providing classes, methods, fields, inheritance, and dynamic typecasts with a semantics closely following Java's. A proof of type safety for Featherweight Java thus illustrates many of the interesting features of a safety proof for the full language, while remaining pleasingly compact. The minimal syntax, typing rules, and operational semantics of Featherweight Java make it a handy tool for studying the consequences of extensions and variations.

      You can see a few of his pubs on his website: http://www.ncameron.org/papers/index.html

    • gugagoreMay 2025

      I think you're describing "gradual typing", which had lots of promise and attention, but arguably achieves the worst of both worlds: https://www.ncameron.org/blog/a-response-to-a-decade-of-developing-a-programming-language/

      What it comes down to is a reconciliation between these two views: https://ncatlab.org/nlab/show/intrinsic+and+extrinsic+views+of+typing

      I think the "reliability" you mentioned is "type safety". And I think the dynamicism I sometimes miss in a language with static types is, in a bizarre way, the lack of runtime type errors. If you load a configuration file, necessarily at runtime, but the configuration file has the wrong format, an error should occur. What kind of error? In essence, a type error...

      Reusing the type checking machinery at runtime is a benefit to some. At the same time, the possibility of type errors (type unsafety) is a threat to the reliability of programs.

      I have trouble wrapping my head around it, but I ultimately want the bikeshed with both windows.

    • dreadnipJan 2022

      He wrote some decent articles before, and he might write some good ones in the future, but this right here, this ain't it.

      Unlike other "x in 2022" articles (for example https://www.ncameron.org/blog/rust-in-2022-2/), this one doesn't actually give any insight into the future of the language. Not only that, but there is no original content in it. He's simply repeating what he's been writing about for the past year. Maybe he should've called it PHP in 2021? Oh wait, he already did that (https://stitcher.io/blog/php-in-2021) and it's eerily similar to this article. If there is nothing new to write about, why write?

      I'm glad you bring up the PHP Annotated Monthly blog, it's a great resource and definitely one of the blogs to follow to keep up to date with PHP.

    • PerceptesJan 2016

      Yes, I've been following this issue closely. Nick Cameron is working on a revamped macro system that will replace the current compiler plugin system for the purposes of syntax extensions. It's probably still gonna be a while, unfortunately, since it'll take some time to get that kind of stuff vetted and baked into the language.

      Here are some recent posts by Nick on his experiments and progress (in order of publication):

      * http://www.ncameron.org/blog/macro-plans-syntax/

      * http://www.ncameron.org/blog/procedural-macros-framework/

      * http://www.ncameron.org/blog/libmacro/

      Pretty much all of his recent blog posts are on the topic, so it's worth browsing through all of them if you're interested.

    • simon_oApr 2018

      That's true. More importantly, Rust and Kotlin work on improving things that matter to users, not on features that read nicely in a paper, but are largely irrelevant in the grand scheme of things.

      Just compare Rust's announcement on tooling (https://www.ncameron.org/blog/dev-tools-in-2018/) with the state in Scala, where pretty much every promised improvement has been "around the corner" for the last 5 years. :-/

      Not sure much how much can or will change here, given the departures of experienced tooling contributors in 2017.

    • a_humeanDec 2018

      The criticism is not directed at the LSP. RLS just implements the specification, but as you said LSP doesn't create these constraints.

      One outcome of all this might be that RLS internally gets replaced by something like rust-analyzer, which is something that the maintainer of RLS has mused in a recent blog post as one of many possible options for the future of RLS:

      https://www.ncameron.org/blog/more-on-rls-version-numbering/

    Related

    Niko Matsakissmallcultfollowing.com221 people

    Towards a Rust Foundation

    Niko Matsakis
    Personal · last shared 2026
    Rust Blogblog.rust-lang.org533 people

    Announcing Rust 1.0

    Rust Blog
    Company · last shared 2026
    boatsboats.gitlab.io71 people

    Async and Await in Rust: a full proposal

    boats
    Personal · last shared 2026
    Aaron Turonaturon.github.io49 people

    Zero-cost futures in Rust

    Aaron Turon
    Personal · last shared 2025
    Manish Goregaokarmanishearth.github.io97 people

    Picking Apart the Crashing iOS String

    Manish Goregaokar
    Personal · last shared 2026
    Nick Fitzgeraldfitzgeraldnick.com43 people

    Demangling C++ Symbols in Rust

    Nick Fitzgerald
    Personal · last shared 2024
    Brian Andersonbrson.github.io32 people

    Dave Herman’s contributions to Rust

    Brian Anderson
    Personal · last shared 2025
    Sean McArthurseanmonstar.com31 people

    Intel - nodejs logging that plays nice with console.log

    Sean McArthur
    Personal · last shared 2025