4 ms·
>Loving how this Graydon person thinks already. Same stuff pjmlp and I are always saying. Rust was bootstrapped by a compiler written in OCaML. Like you and p
by qwertyuiop924 10y ago
>Loving how this Graydon person thinks already. Same stuff pjmlp and I are always saying.
Rust was bootstrapped by a compiler written in OCaML.
Like you and pjmlp, Graydon is a massive fan of fanatically strong typing, and most of that stuff was actually in many older languages that lost because C was an optimal solution at the time.
However, at scale, C is no longer an optimal solution. Thus Rust can start eating C/C++'s lunch, and people will stop using C for what it does badly, and using it for what it does well (namely, writing small programs that do one thing and do it well, doing embedded work, kernels, and other bit hacking, and bootstrapping better languages).
- nickpsecurity 10y ago"Rust was bootstrapped by a compiler written in OCaML." Another wise choice. I gave them credit for that, too, when they told me. "because C was an optimal solution at the time." Whoa, we've talked about this before. It's closer to an optimal solution if you're squeezing max performance out of old hardware with a higher-than-assembly language. It wasn't optimal on ease of compilation, safety, large programs, or even performance optimization for general case. That all takes different design decisions than the personal preferences of its designers when building on Richards' work. It was also achieved by Wirth shortly after to point that C's remaining benefit could've been had as an option or tweak to Wirth's approach. Easier to tweak his for C's benefits than vice versa since his was actually designed and simple. Final proof of that was when C's inventors did that in their ideal language: an Oberon-2 improvement called Go. "Thus Rust can start eating C/C++'s lunch, and people will stop using C for what it does badly, and using it for what it does well" This is true. Again, though, due to social reasons more than tech. People been able to do that with GPL'd Ada. Rust takes off, though. The likely reason is a combo of developers preferring its syntax/semantics, how the community runs, and primarily Mozilla's effort [like Sun's Java & Microsoft's C# before it]. Like with the Richard Gabriel and the startups, details of execution matter more than how great the idea is.
- qwertyuiop924 10y ago>It's closer to an optimal solution if you're squeezing max performance out of old hardware with a higher-than-assembly language. That was what was happening when C got popular.
- pjmlp 10y agoDepending on the OS. On MS-DOS, there was hardly any difference between the code quality generated by the Borland C and Pascal compilers.
- qwertyuiop924 10y agoBut by that time, C was already very popular.
- pjmlp 10y agoNot really. I only bothered with C in 1993, yet I started coding in 1986, used Turbo Basic, Turbo Pascal 3, 5.5 and 6.0, alongside TASM before that year. Similar experience to many other Portuguese fellow coders. We only bothered with C either at the university level or because some had access to UNIX at work. My first UNIX experience, the teacher carried a PC desktop with Xenix into class and we would take turns to use it.
- qwertyuiop924 10y agoHowever, by that time, in the industry and academia, UNIX was starting to take hold, as was C. And on the PC, while UNIX hadn't yet arrived, C was rising in popularity: If you look at what systems programs, major applications, and videogames (probably the 3 most poplar applications on the PC at that point) were written in, the two most popular languages, AFAICT, were Assembler and C.
- pjmlp 10y agoC and Pascal were the Unity of MS-DOS, real games used Assembly. C's adoption for games started to increase around MS-DOS 5.0 got released, specially with Watcom C, 386 and DOS extenders. Doom was probably one of the first successful C based games. Of course on Windows 3.x commercial games were all C.