3 ms·
Oh look. Something works. Lets not break it? How crazy is that? I sometimes wonder if what happens is like this: 1. Have problem. Need higher level computer l
by talkingtab 9mo ago
Oh look. Something works. Lets not break it? How crazy is that?
I sometimes wonder if what happens is like this:
1. Have problem. Need higher level computer language.
2. Think about problem.
3. Solve problem - 'C'
4. Think about problems with 'C'
5. Attempt to fix problems with 'C' - get C++
6. Think about problems with C & C++
7. Get: Go, F#, Rust, Java, JavaScript, Python, PHP, ...other
etc.
I tend to do this. The problem is obvious, that I do not repeat step #2.
So then I move to the next step.
8. Thinking about how to fix C, C++, Go, F#, Rust, Java, JavaScript, Python, PHP, ...other is too hard.
9. Stop thinking.
- tialaramex 9mo agoAlthough Mozilla's reason to pay for Rust R&D was because of problems with C++ it's probably not most helpful to think of Rust (let alone F#) as an attempt to specifically fix those problems. C is a Worse is Better language (https://en.wikipedia.org/wiki/Worse_is_better https://en.wikipedia.org/wiki/Worse_is_better). The bet is that if it's simpler to implement then the fact that what you're implementing isn't great will be dwarfed by that ease of implementation. And it worked for decades which is definitely a success. You can make a similar argument for Go, but not really for Rust. The other side of the Worse is Better coin is that maybe you could make the Right Thing™ instead. Because implementing C is so easy and implementing the Right Thing™ is very difficult, the only way this would compete is if almost nobody needs to implement the Right Thing™ themselves. In 1970 that's crazy, each Computer is fairly custom. But by 1995 it feels a lot less "out there", the Intel x86 ISA is everywhere, Tim's crap hypermedia experiment is really taking off. And when Rust 1.0 shipped in 2015 most people were able to use it without doing any implementation work, and the Right Thing™ is just better so why not? Now, for an existing successful project the calculation is very different, though note that Fish is an example of this working in terms of full throated RIIR. But in terms of whether you should use C for new work it comes out pretty strongly against C in my opinion as a fairly expert C programmer who hasn't written any C for years because Rust is better.