9 ms·
Keep in mind that a language like Rust would've been effectively unusable in its current form 25 years ago due to the RAM and CPU requirements by the compiler.
by simias 5y ago
Keep in mind that a language like Rust would've been effectively unusable in its current form 25 years ago due to the RAM and CPU requirements by the compiler.
As CPU and RAM increases you can make smarter compilers and generalize things like type inference, bigger compilation units and higher level constructs that rely heavily on compiler optimization for good performance.
Many people think that Rust and C++ are too slow to compile today, imagine what it would've looked like on a Pentium II CPU with 128MiB of RAM!
- fortran77 5y agoI was using C++ 25 years ago! Worked fine.
- est31 5y ago25 years ago it wasn't C++11, but C with classes. Less TMP noise, small compilation units instead of the source code of entire libraries being #include'd.
- pjmlp 5y agoI guess you never used ATL, OWL, VCL, CSet++.
- est31 5y agoNo. I was born in the 90s. in the 2000s I was mostly doing .Net and Java, started doing C++ seriously in 2010s until I discovered Rust. Have I got the C++ history wrong?
- jolux 5y agoTemplates have been in C++ for a very long time, like 30 years iirc. I am not a big C++ gal but I'm pretty sure TMP long predates C++11.
- est31 5y agoTMP is older than C++11 yes, but the trend to use it so extremely is new I think. Or maybe I got that wrong, idk.
- pjmlp 5y agoHere for you, https://docs.microsoft.com/en-us/cpp/atl/active-template-library-atl-concepts?view=msvc-160 https://docs.microsoft.com/en-us/cpp/atl/active-template-lib... In 2000 it was version 3.0 alongside Visual C++ 6.0.
- deleted 5y ago[deleted]
- galangalalgol 5y agoI was using both templates and the stl heavily in 2002. I started learning c++ in 94 or 95 can't remember. Turbo c++ did not have templates, before the 98 standard it mostly was c with classes. And lots of unnecessary inheritance and overloading. Edit, should include that the experience in 2002 was on a corporate project which ultimately had many millions of lines of code, so not just some crazy guy in a basement. Lots of crazy people were in the basement with me.
- est31 5y agoAlright, thanks for that anecdote. I was wrong about that then.
- pjmlp 5y agoTurbo C++ for Windows 3.1 already had template support, this was in 1993. On MS-DOS Borland C++ 2.0 was the first compiler to support them. Naturally this was work in progress, try to keep up with the latest stand from WG 21.
- fortran77 5y agoLeave the hard stuff to us C++ old-timers!
- est31 5y ago> Stick to Rust and leave the hard stuff to us C++ old-timers! Excuse me?
- mousepilot 5y agolol or MFC, I checked that out and subsequently pulled the power plug on my pc. Granted I'm probably not a very good programmer. heck my comment is probably not even on topic in this thread.
- pjmlp 5y agoNot sure what is so fun about it, given that after 4 years in development C++/WinRT still doesn't have Visual Studio support that can match MFC.
- fortran77 5y agoThis is completely, 100% wrong. 25 years ago on was on the Adobe Photoshop team, happily programming in C++. We had templates, smart pointers, and the STL. And the people at Taligent were all about C++, around the same timeframe.
- simias 5y agoSure, but the language was smaller back then (not small, mind you, but smaller). Boost was only created in 1999 after all! Also, people have been complaining about C++ compile time for as long as I can remember, so I don't think it necessarily invalidates my point.
- User23 5y agoC++ was incomprehensibly complex back then too. Comeau was the only vendor that even pretended to offer a conforming compiler.
- rwmj 5y agoC++ 25 years ago (1996) was terrible. I used to have to keep a large C++ application going on GCC, Sun's compiler and Microsoft's compiler and it was a nightmare. Using templates with classes would invariably cause one or other of the compilers to crash, so we had to concentrate on the simplest subset of the language that worked. STL was very new and not supported on all platforms so we ended up reimplementing a lot of that in our own classes. Build times were glacial and the resulting binaries were enormous. Multiple string types. And horrific things like CORBA's C++ bindings ...
- stjohnswarts 5y agoHaha I used to be very protective of APIs for shared libraries as much for having to recompile as I was about just having stable APIs :D
- evgeniysharapov 5y agoI have used C++ in 2001 with ROOT and it was a long wait most of the time. Depending on your codebase and libraries involved making compiling and linking fast was an art form
- yawaramin 5y agoBut Pascal was and still is super-fast to compile. And Pascal was pretty powerful back then and is even more powerful now. Rust made design choices even beyond the complexity of LLVM that make its compiles slow.