42 ms·
The TL;DR is: Swift strives for ABI stability, Rust does not. There's also a driveby comment that C++ doesn't really support dynamic linking because of all the
by gumby 4y ago
The TL;DR is: Swift strives for ABI stability, Rust does not.
There's also a driveby comment that C++ doesn't really support dynamic linking because of all the templates in its standard library, which is a weird statement to make.
- ahartmetz 4y agoYeah - the big, complicated parts of platform libraries for which post-release bugfixes make sense are usually not templated. The vector container class is a template, but Korean input method support is not.
- ahartmetz 4y ago(Actually, Korean was not a great choice of example. The Korean writing system isn't very complicated. Japanese would have been better - they even have three writing systems!)
- int_19h 4y agoTemplates are not a problem if you're defining the complete set of valid specializations in advance, as would be the case here - that's what "extern template" is for.
- pjmlp 4y agoIndeed, on Windows C++ dynamic linking has always been available, sure there is the ABI issue, but that doesn't mean there aren't C++ frameworks being shipped as dynamic libraries, e.g. MFC, VCL, Qt,...