3 ms·
Interesting response. I'm as curious as anyone else as to how Yao will improve upon Rust, but here is what I've observed from following several (relatively) rec
by ubj 2y ago
Interesting response. I'm as curious as anyone else as to how Yao will improve upon Rust, but here is what I've observed from following several (relatively) recently created languages (Julia, Nim, Mojo, JAX):
* Language creators start with high hopes and big promises. "We've learned from the past! This will solve all the problems of previous X,Y,Z languages! It will be so much easier to use!"
* The language begins to be designed, implemented, and developed. Problems arise. Tradeoffs must be made. Invariably, the new language develops its own set of limitations, shortcomings, and weaknesses. These are inevitable with any new programming language.
* Ultimately the language either finds a userbase who are willing to overlook or work around the limitations and pitfalls, or it fades away.
* If it remains, eventually another new language arises saying "We've learned from the past! This will solve all the problems of previous X,Y,Z languages! It will be so much easier to use!" And the cycle repeats.
Now, is this a bad thing? I would argue no, not necessarily. Every time a new language is created, our vision of what is possible is expanded. We learn new lessons about what works and what doesn't work in programming languages.
So in short I'm looking forward to see how the state of the art is advanced by Yao. If it gets to a decent working state, I might even try it out if I have time. However, in light of the above statements forgive me for being skeptical of the following claim from Yao's website [1]:
> As powerful as C, As flexible as Lisp, As easy as Python, As provable as Ada/SPARK, More reliable than Rust, With the time semantics of HAL/S.
[1]: https://git.yzena.com/Yzena/Yc/src/branch/master/docs/yao/main.md https://git.yzena.com/Yzena/Yc/src/branch/master/docs/yao/ma...
- gavinhoward 2y agoAuthor here. You are absolutely right to be skeptical. I wrote that a long time ago. I did detail the current status of those claims in a comment: https://news.ycombinator.com/item?id=41672316 https://news.ycombinator.com/item?id=41672316 .
- jadbox 2y agoFwiw, Zig is one of the few languages on my radar that's on the uptick. At least in my circle, I know people from firmware to VM development that moved from Rust over to Zig for its flexibility. There' also Bun that managed to nearly be a drop-in replacement for Node in a very short development cycle, which they claim is due to Zig. (I am not associated with Zig nor have a lot of experience with it yet)
- slekker 2y agoAlso Zig wants to have better memory safety before v1 - there's an issue tracking that in the zig org but I couldn't find it
- ubj 2y agoI've heard great things about Zig as well. The one difference between it and Rust is the amount of industry and financial investment to date. Rust has had literally millions of dollars of buy-in from some of the biggest tech corporations on Earth, which is why I'm more confident that it will likely stick around. This is one area where, for example, Julia has struggled. In many ways it's a fantastic language for scientific research, but it simply has never received nearly as much funding or investment as, e.g., Python.
- throwawaymaths 2y agoAt 8 years (1999) python did not have any big investment or even big tech backers. IIRC the first real python success story was dropbox At 8 years there's a major JavaScript bundler and Uber using zig.
- jms55 2y agoAs someone who starting using Rust from before it reached 1.0, it's insanely funny to me to see comments like this. People said the exact same kind of thing about Rust at the time!
- aidenn0 2y agoI also appreciate the way that Zig focuses on tooling, particularly around cross-compilation. That's something that is usually a "nice to have" rather than "must have" particularly in young projects, and for users that need it, it's a huge win.
- 0cf8612b2e1e 2y agoOn the gripping hand, Rust is the first language to popularize (not invent, hold your tomatoes) many terrific programming ideas under one wrapper. It has demonstrated how much the compiler can do to prove code is correct. Yet…it has some warts. I am quite interested in what lessons can be learned to smooth out some of the Rust edges for a language which does not have “replace C++” as the guiding principle.