5 ms·
Unsolicited writing advice: drop the self-aggrandizing grandiosity. It is distracting and undermines the work itself. Zig is a language for writing perfect pro
by thefaux 2y ago
Unsolicited writing advice: drop the self-aggrandizing grandiosity. It is distracting and undermines the work itself.
Zig is a language for writing perfect programs? The fact that a progress bar is needed at all is a symptom of the lack of perfection of Zig. A perfect compiler would compile instantly (or at least faster than human perception is capable of registering) with no need for a progress bar.
- vitaminCPP 2y agoit's a joke. Obviously, when you're a compiler engineer, creating a progress bar is not a great demonstration of your skill.
- rjh29 2y agoIt wasn't a joke apparently.
- chipweinberger 2y agoI think it’s fun and enjoy reading it.
- dang 2y ago"Please don't pick the most provocative thing in an article or post to complain about in the thread. Find something interesting to respond to instead." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- thefaux 2y agoI agree that this was neither my finest nor most constructive comment.
- zarathustreal 2y agoIt makes me chuckle to think you’ve done an analysis of this article for provocativeness. Thinking about a real human spending their time trolling threads to tell someone their critique isn’t interesting..well that’s a bit less humorous.
- dang 2y agoOne can recognize a response to provocation without an analysis. That's because they're so predictable, which is also why we have that guideline.
- YuukiRey 2y agoI highly doubt that was serious. I think you just missed the joke. Or did I miss something? I really hope I didn’t :(
- AndyKelley 2y agoIt's amusing to me that multiple people on HN think I'm joking. Have you ever tried to write thread-safe, lock-free, infallible, non-heap-allocating code before? I'm curious what kind of API the people who think this problem is easy would have come up with, and what its performance characteristics would be compared to mine. I had a blast working on this problem!
- YuukiRey 2y agoI think the part that might raise eyebrows is the “programming language designed for making perfect software”. Perfect is, after all, highly subjective, yet at the same time a maybe unnecessarily hyperbolic term. I don’t mind the language though. I have no doubt that you’re at the top of your game and the problems you’ve outlined in the post do indeed sound challenging.
- AndyKelley 2y agohttps://youtu.be/Z4oYSByyRak?t=161 https://youtu.be/Z4oYSByyRak?t=161 Software Should Be Perfect - A journey of questioning assumptions and building a new programming language This has been my goal since the beginning. I wasn't kidding
- thefaux 2y agoI agree that this is not an easy problem. I have written a status bar for a fairly widely used open source build tool in java. I hijacked System.out and System.err globally and added all writes to a queue that I line buffered and interleaved progress bars at the bottom. There was no noticeable performance degradation relative to not having the progress bar since all the queue management was handled on a background thread. I would characterize the volume of output as medium. The tool is chatty compared to some, but we aren't talking about managing massive amounts of data coming in. At some point though, I stopped working on this tool because it and the compiler it was primarily used for were way too slow and started focusing on compiler design. I am currently working on a compiler that is self hosted and compiles itself in 1 second but I expect to get that down to under 100ms. You don't need progress bars when your build is that fast. I was undeniably rude in my initial post, but I also want to challenge you to be even better as a programmer. I had to write many compilers before I figured out how to self host as quickly as I now can. That is the advantage of working in isolation. I have thrown out more working compilers than all but a handful of people have written. My language is not public because I am still iterating but I wrote the bootstrap compiler in about 10 days of 4-5 hours per day and the self-hosted compiler took about 3 more weeks on top of that. It is ~4200 lines of code in itself. The next version will likely be fewer.
- geon 2y ago> A perfect compiler would compile instantly (or at least faster than human perception is capable of registering) That seems lika a very arbitrary requirement. I'd say a perfect implementation of anything must do what it is supposed to be doing, and that may have a lower bound on processing time. You can't write to memory faster than what the bus allows, for example.