4 ms·
I've worked in automotive where literally everything except the infotainment systems are in C. Almost all, if not all, firmware is in C. Also, not to mention
by ixaxaar 3y ago
I've worked in automotive where literally everything except the infotainment systems are in C.
Almost all, if not all, firmware is in C.
Also, not to mention every operating system.
I really don't know where the "bugs are horrible" argument grounds itself on. I've worked on large C, rust, go, python and even Haskell codebases. Everyone of them had their share of super corner case bugs.
The systems which use the simplest concepts and tools tend to have the least bugs cause they are more readable and hence fixable.
- ogogmad 3y agoOK but surely there's stuff that you wouldn't do in C. Maybe stuff that would require too much C code. Its features are pretty limited.
- uecker 3y agoThis is not my experience. I switched from C++ to C for all my programming. C certainly does not bring much out of the box, but with some data structures libraries ts a very good language for almost all purposes. A lot of bad press which is not really justified IMHO. There is certainly a lot of old bad C code around, but modern C written using modern tools can be quite good. For example, there is no need to do buffer management or string manipulation using open-coded pointer arithmetic, one can wrap this in safe APIs and then it is as safe as in any other language.
- pjmlp 3y agoWith high integrity code quality certifications like MISRA-C, a quality level that most folks with cry if forced to work daily under such restrictions. And since most companies keep failing at achieving the quality that random C coders say it is so easy on the Internets, provided one is a good C coder with discipline, now we have cybersecurity bills that in the long run will make any application making use of C or derived languages, be under similar control as MISRA and friends. Alterantively, one can use a safer language and not be so strictly regulated, as per those cybersecurity guidelines.