4 ms·
Yet somehow it has stayed relevant for more than 45 years. Go figure.
by codesushi42 7y ago
Yet somehow it has stayed relevant for more than 45 years.
Go figure.
- pjmlp 7y agoOne cannot teach new tricks to old dogs. What has made relevant was the rise of FOSS UNIX clones and the GNU guidelines for using C. All major desktop OSes were already on the path of adopting C++ frameworks. BeOS, Windows, OS/2, Mac OS. Thankfully C has been shown the door on Apple, Google, Microsoft, Sony, Nintendo and ARM platforms. Others will follow. FOSS UNIX clones and old time embedded developers are the only ones keeping C relevant.
- codesushi42 7y agoAgain, yawn. Now you are conflating embedded systems with other things. And resorting to ad hominem attacks assuming that all C programmers must be old, tired dummies. Pathetic. Heard it all before, many times. C will be just fine whether you like it or not. I also heard there's a new JavaScript framework out. Go fetch.
- pjmlp 7y agoFirst of all, the only place worthy of JavaScript is the browser. Secondly, apparently you are talking about PIC class systems as embedded, given that even a lonely ESP32 has C++ SDK support. Thirdly, AUTOSAR now advises C++14 as certification language. Do you read Embedded Magazine? Most C proud devs are using C89 alongside proprietary language extensions for their target boards + Assembly, and very resistant to any kind of improvements, not even using unit tests or static analysis tools. Old dogs indeed, I bet that until 2030 the new C++ generations will take over the remaining holdouts.
- nec4b 7y agoESP32 SDK is written in C, but can be compiled with C++. All the libraries for the WiFi, BT, FreeRTOS,... are written in C. Are you one of those people who think everything before their time was bad and only what they do is worth something. I don't know why would you have such demeaning attitude towards people who laid the foundations on which we can build on. Is somebody forcing you to use C?
- pjmlp 7y agoMy time in computing started during the mid-80's, C had hardly any meaning outside UNIX clones, on our home computers running CP/M, AmigaDOS, MS-DOS, TOS, or other mainframe platforms like VAX/VMS, ClearPath, OS/400, z/OS,.... So those of my generation know that C being the very first systems programming language, the only way to write portable code across platforms in high level languages, is a kind of cargo cult from C devs. Yes, I should have been more explicitly regarding ESP32's SDK. Point being that ESP-IDF Tools Installer supports C++.
- nec4b 7y agoSince almost all of the operating systems you listed were written in different languages, some specifically designed for a single hardware, the believe of your peers at the time, that C was the only way to write portable code at that time was pretty much correct. This was one of the design features of C. C is also a small, relatively easy to write a compiler for language. That is also a reason why so many mcu manufacturers included a C compiler with their products instead of a C++ compiler, even though C++ is also an old language.
- pjmlp 7y agoC is portable alright, as long as the underlying OS looks like UNIX. Apparently you lack some knowledge of portability efforts done in other programming languages. There is plenty of material available from old manuals, scanned papers and what not.
- nec4b 7y agoC doesn't need an OS, and the OS doesn't need to look like UNIX at all if you're using one. We were originally talking about embedded systems and you since you mentioned ESP32 SDK, most of those libraries are portable to other MCUs and none of them has an OS or anything to do with UNIX. "Apparently you lack some knowledge of portability efforts done in other programming languages. There is plenty of material available from old manuals, scanned papers and what not." Besides you mounting a personal attack here, I don't get you're point here. I have never said that there was no other portable language.