|
|
|
|
|
by Joel_Mckay
321 days ago
|
|
High level languages tend to hammer the allocator like a Piñata. C++ can improve code smell of C, but different languages have their own specific use-cases. The reason llvm and GC based languages is a problem in low-level real-time code is bewildering for many. Java is unique in that it often ran a dual stack for byte code, and platform specific binary objects. My advice often is to use high-level languages if you can get away with the convenience, and a low-level language with proper design patterns if you must. Many programmers I've met shouldn't write C/C++, but mostly because they can't be trusted to use memory or thread safe code. Cheers, =3 |
|
C doesn’t inherently have to be bad (and can often be better than C++) if you are strict about adhering to standards.
I like to point to OpenBSD as a successful and well-done C project. As a bonus, if you develop on OpenBSD, your program is more likely to have correct memory handling operations (OpenBSD has a lot of very aggressive memory protections. Many issues in ported applications like Firefox were found and fixed by OpenBSD users, but would happily keep running on Linux).