Re:Why did we choose Rust to develop TiKV?
by jdright on Wednesday September 27, 2017 @03:52PM
(#15351640)
Real real-time embedded systems, low-level operating system components, etc. are some kind of things that GC languages exclude completely, so by definition, the subset of "system programming" set is eliminated from use with ie. Go but not from Rust. Consequently, Rust has wider class of systems which makes it a true system programming language as C and C++.
[ Parent
| on HN ]
Re:Why did we choose Rust to develop TiKV?
by abiox on Wednesday September 27, 2017 @04:45PM
(#15352151)
"system programming" is not composed entirely of things where GC presents a non-trivial problem.
Re:Why did we choose Rust to develop TiKV?
by jdright on Thursday September 28, 2017 @11:13AM
(#15357639)
But 100% > 50%.
Re:Why did we choose Rust to develop TiKV?
by abiox on Friday September 29, 2017 @02:30AM
(#15363206)
i don't quite follow what you're trying to say.
Re:Why did we choose Rust to develop TiKV?
by jdright on Friday September 29, 2017 @11:31AM
(#15366150)
Simple put: Go ISN'T a true systems programming language because it simple does not work for every and ALL type of systems.
Yes, it may work with some type of systems, but this does not make it a systems language. If you don't want to accept this fact, then you have bigger problems or you reality is narrow.
Maybe this can help you see through your bubble: https://github.com/CppCon/CppCon2017/blob/master/Presentatio...
Re:Why did we choose Rust to develop TiKV?
by SAI_Peregrinus on Friday September 29, 2017 @01:55PM
(#15367507)
Another way to say it: The set of systems programming tasks for which Rust can be used is a superset of that for which Go can be used. Go cannot be used for real time code, as it does not provide latency guarantees. Go cannot be used for many embedded (microcontroller) systems as the runtime is required.
I've gotten Rust code to run on an ATSAMD21G18 Arm Cortex M0 (Adafruit Feather board). That board has 256K flash and 32K RAM. Go executables can't even fit in the program flash! Considering the sheer number of systems that have microcontrollers in them somewhere it would be very hard to call a language that doesn't support them a "systems" language. Maybe "applications language" would be more appropriate.