44
irene
20d

Who writes code in C as main part of job?

I will soon 😐

Comments
  • 7
    I don't, but it's certainly not a bad skill to have on the CV! C is still very much alive in many areas of the industry (and is practically all that's used in the low level areas such as firmware development.)
  • 3
    Shieeet I wish I did!!! That is how you make your way to the interesting projects!!
  • 15
    @AlmondSauce it's a low level embedded system for a car. So embedded that even dynamic memory allocation is strictly forbidden.
  • 8
    C is good
  • 6
    @irene Thats awesome! Good luck
  • 9
    I'm doing C in embedded, and I love it.
  • 3
    @irene @Fast-Nop I wish I get a c job someday(when I finished my education)!
  • 7
    I'm amazed by so much love towards C 😐
  • 2
    I do, sometimes its easier to extend ocaml with plain c
  • 6
    @irene c is better than c++, as much as I like c++. C is clean and elegant, and not encumbered by piling on ridiculous amounts of features that are not actually solving the root problems.
  • 11
    @irene Good C programmers don't see C as high level language, but as portable macro assembler. They actually think in a sort of generic assembly and love C because it's pretty clear what the resulting machine code will look like.

    Reading the instruction set of a new CPU is interesting because it shows what C constructs will be fast or which ones to avoid. It's rare that I have to go to assembly because C doesn't give me enough access to the machine, but it happens.
  • 4
    I did embedded c and hopefully will again soon.
  • 8
    The beauty of C is undeniable.
  • 3
    My thoughts and prayers are with you.
  • 2
  • 2
    C and C++ here ☝️ And I love it!
  • 1
    I’ve spent more time reading the manual than actually programming in C.

    C gave me cancer.

    Have fun :)
  • 2
    @Fast-Nop I fully agree.

    Reading this made me think that I should learn some regular c and put off my c++ dev work for a bit
  • 2
    @irene Hope you enjoy your last few days.
    I had C in my first sem, and it wasn't even tough, and I already new Java, and python but I hated every living moment of it.
    I however won't argue that C is in fact awesome at doing some things with great speed, but still it's not a pleasure to code.
  • 2
    @irene ooo, what car company?
  • 1
    @AlgoRythm 🤔 am I supposed to answer? I dunno
  • 2
    @phreakyphoenix I've already used C before. Just not as a professional.
  • 0
    Not ... recently.
  • 8
    @Fast-Nop Oftentimes I feel I just want C-with-namespaces.

    But then I would start wanting templates, and overloading, and then type deduction, and then RAII constructs. I've drunk the C++ Kool-Aid.
  • 3
    @phreakyphoenix you really can't compare academic settings with professional ones though.

    Not enjoying ds and a with C in a school setting does not compare to writing embedded code development.

    The shit done in C is always brilliantly interesting.
  • 0
    @irene Is it Mercedes?
  • 0
    @AlgoRythm nope. 😁
  • 0
    @irene Awe all righty. could use some good devs for Mercedes
  • 0
    @AlgoRythm why is mersedes important for you?
  • 1
    @irene Worked there before. Not in tech, just a shit job
  • 1
    @AlgoRythm why do you need devs there then? 🤔
  • 4
    @halfflat Namespaces are the main thing I'd like.

    Just prefix everything. Sure you can't do "using namespace" but you are at least then being very specific in all cases about which namespace you want ;)

    I like C because it doesn't try to be clever about anything and does exactly what you ask. Most things will at least be linkable to C even dynamically. And it's used a lot. It's just not one of those cool hip modern scripting languages that everyone raves about.
  • 2
    @irene I almost always try to avoid dynamic memory allocation as well in C - when you've got malloc()s and free()s going on everywhere it quickly gets difficult to track when you should be releasing what. Static, stack based memory allocation is great if you can get away with it - you don't need to worry about freeing anything manually, and it makes execution much more deterministic.
  • 3
    @AlmondSauce probably that's the reason why it is banned in this project
  • 4
    @AlmondSauce not only that. Embedded, you don't have MMUs, which means your logical address space is the (very limited) physical one, and you'd easily run into heap fragmentation.

    I've been in an embedded project where they did use malloc/free and disregarded my warnings because I was the noob back then. The end was that the device needed an auto reset every 24 hours to stay stable.

    Another reason is that malloc is fast most of the time, except when the allocator needs to re-unite free adjacent blocks, then it's suddenly and unpredictably slow.
  • 1
    @irene Because I do not like their UX
  • 3
    @irene To your original question:

    I have for 9 years and will be again from 2019-01-01 on.
  • 3
    @FrodoSwaggins C is the core of C++.
    If you stick to the C core as close as possible, you can make C++ a beautiful "C-NG".
    Only use features you need!

    99% of the bad reputation C++ got, comes from wannabes and hotshots who either abstract the shit out of everything, and/or template everything.

    structs with ctors/dtors, overloading of functions and operators, and references. That's everything needed in most small to mid size solutions.

    Don't get me wrong, C is cool and beautiful. But C++ is by far superior. *If* you got people who can handle it.
    Unfortunately, though, most simply can't...
  • 1
    @Yamakuzure you’re talking to me, I give this speech all the time. But facts are facts, c is not bloated like c++ is.
  • 1
    @AlgoRythm oh. That's understandable 😁
    However it's not developers fault. Specs are the issue.
  • 2
    @FrodoSwaggins I hear you. And I concur.
    However, it is my believe that "bloat" lies primarily on the fingertips of the programmer, not in the specs of the language.
    (well, as long as we are not talking about turtle towers like C# .Net 😁)

    The main advantage of C over C++ (and everything else that is not assembler) is its limited pool of keywords. Kind of forces you to keep focused. 😏

    Which is the reason why I tell anybody who asks what to begin with, to start with C. Every time. First learn and master the basics, then go strolling beyond.
  • 1
    @Yamakuzure but C# is nice too 🙁
  • 2
    @irene I didn't say it wasn't. 😉
    But if you want performance...
  • 0
    Congratulations! C is awesome!
Your Job Suck?
Get a Better Job
Add Comment