4 ms·
> system programming worth mentioning that this term has a broader meaning than how some rust evangelists use it.
by abiox 9y ago
> system programming
worth mentioning that this term has a broader meaning than how some rust evangelists use it.
- jdright 9y agoThe Rust "evangelists" version of system is most of the time the broader meaning of it as Rust do not exclude an entire class of systems as some languages out there.
- abiox 9y agoapologies, but i don't quite follow. what do you refer to by 'class of systems'? one common sentiment promulgated by rust evangelists is, for example, that go is 'not a systems language' because it has a GC. however, this definitional exclusion doesn't seem to align with (evidently broader) historical use of the term 'systems language'.
- jdright 9y agoReal 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++.
- abiox 9y ago"system programming" is not composed entirely of things where GC presents a non-trivial problem.
- jdright 9y agoBut 100% > 50%.
- abiox 9y agoi don't quite follow what you're trying to say.
- jdright 9y agoSimple 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/Presentations/When%20a%20Microsecond%20Is%20an%20Eternity/When%20a%20Microsecond%20Is%20an%20Eternity%20-%20Carl%20Cook%20-%20CppCon%202017.pdf https://github.com/CppCon/CppCon2017/blob/master/Presentatio...
- SAI_Peregrinus 9y agoAnother 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.
- abiox 9y agooh, i see. so you were pointlessly making a some kind of fallacy argument. no "true" systems programming language, indeed.
- jdright 9y agoSeriously? Fallacy? That is really not wanting to understand things how they are. You should really go back to textbooks and try to understand hardware.