3 ms·
Just curious - what do you do for a living that means you have to write C? I'm interested in really learning C or C++ more indepthly. I feel like I am very pro
by ghrifter 10y ago
Just curious - what do you do for a living that means you have to write C?
I'm interested in really learning C or C++ more indepthly. I feel like I am very proficient in high level programming knowledge (other than design patterns).
Basically, when or if the web dev industry falls out, I want to have a good back up of knowing low-level languages.
- stephen_g 10y agoAnything in embedded systems. I write code for high performance satellite terminal (ground side) and also point-to-point radio systems (ultra-low latency, millimetre wave stuff). 90% of the code I write is in C, about 60% of the time on microcontrollers with <256KB of RAM, and the rest in a cut-down Linux running on an ARM Cortex A8. I'd actually prefer to use C++ for the Linux stuff (std::string, smart pointers and STL containers would save me so much time), but we don't have the C++ standard library in our custom distro.
- nickpsecurity 10y agoDid you or anyone else try Ada or especially SPARK for you application? What were the gripes if so? Btw, since you're in embedded, what do you think about the potential for this Oberon IDE I found custom-designed for embedded? http://www.astrobe.com/Oberon.htm http://www.astrobe.com/Oberon.htm I imagine that, like with Modula's, you could probably turn off safety features where you needed for performance or real-time. I haven't confirmed it, though.
- ghrifter 10y agoInteresting, thanks! If you dont mind, can you give me a rough estimate for your yearly salary or so? How long have you been programming in C?
- Niksko 10y agoProbably embedded stuff. Web dev will probably die down, and with robots and automation and IoT becoming more prevalent, embedded programming will probably become popular. But hopefully by then embedded devices won't force us to us languages like C or C++. If the manufacture of embedded platforms scales up enough (more than it already has) then maybe we'll get devices with gigabytes of ram and insanely fast processors, so we can just write code in whatever language we like and have it be performant. A pipe dream maybe, but it wasn't that long ago that people were exclusively writing in assembler when performance was critical.
- pjmlp 10y agoThere are Basic, Pascal, Oberon and Java compilers for embedded systems, but it is a niche market. As for C and C++ being fast. They are now, but once upon a time their compilers generated very bad code for home computers, those that are nowadays used as embedded ones. Yet mainframes less powerful than the PDP-11, already had better languages available.
- ArkyBeagle 10y agoSo attack that from the EE side of industry. As long as it lasts, embedded has been pretty good hunting for a long time, but the culture shift you might be exposed to looks to me to be profound.
- krylon 10y agoI used to work at a small company whose main business was building waterjet cutting machines. My job was maintaining the software used to mark bad spots on leather hides and placing cutting patterns on them. (Unfortunately, I spent most of my time trying to come up with a better way of placing cutting patterns on hides which involved a lot of computational geometry and basically went way over my head. Well either that, or it was just a really tough problem.) I got the job kind of by chance, I put out an ad in a local newspaper that basically said "programmer / sysadmin looking for work". If you want to learn C/C++, trying to look at and understand some of the open source code floating around might be a good starting point, since there is a lot of it. Pick up some project you find interesting and try to make a few modifications. Alternatively, try building a simple project of your own and take it from there. C has its fair share of problems, and one needs to be aware of them, but it can also be a very fun language. I cannot say much about C++ either way, I find it a bit intimidating, but that's just me. (Of course, if you are interested in lower-level languages, Rust is getting a lot of attention these days... it claims to offer much of the performance of C/C++ while avoiding most of their problems. I have not looked at it myself, though.)