Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It seems pretty common to me?! Java is developed that way. So is Rust. And many others. What exactly do you see as different in Zig?




Java and Rust have surpassed 1.0 version a long time ago, so they don’t remove features left and right on each feature release.

Not that it’s a bad thing. Python removes stuff, and it takes time to upgrade to new versions.


And Zig has surpassed 1.0 or where is the argument?

Zig has not surpassed 1.0 and explicitly strives to remove features, which Java and Rust don’t do anymore. That’s why it feels different.

I don’t think Java and Rust were so ok with completely removing features. For example, in Zig 0.15 they completely overhauled the io, meaning all libraries now have to rewrite up usage. Just to make sure they did it right

> I don’t think Java and Rust were so ok with completely removing features.

This just shows that you weren't around for pre-1.0 Rust. Back then Rust was infamous for the language making breaking changes every week. Check out this issue from 2013 tracking support for features which were deprecated but had yet to be removed from the compiler: https://github.com/rust-lang/rust/issues/4707 , and that's just a single snapshot from one moment in Rust's prehistory.


Semantic major/minor version 0.15 means it's still in development. It's not supposed to be stable. Going from 0.14 to 0.15 allows breaking changes.

Try making a similar change between version 5.0 and 6.0, with hundreds of thousands of existing users, programs, packages and frameworks that all have to be updated. (Yes, also the users who have to learn the new thing.)


> Just to make sure they did it right

Let me guess: they didn't, and now there is a third-party "right" way to do it.

(We've been here before, many times.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: