49
irene
144d

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!!
  • 18
    @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.
  • 5
    @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.
  • 3
    @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.
  • 1
    Not ... recently.
  • 9
    @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.
  • 1
    @irene Is it Mercedes?
  • 0
    @AlgoRythm nope. 😁
  • 1
    @irene Awe all righty. could use some good devs for Mercedes
  • 0
    @AlgoRythm why is mersedes important for you?
  • 2
    @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.
  • 2
    @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...
  • 1
    Congratulations! C is awesome!
  • 1
    So much so far it wasn't hard at all. Just some basic functionality.
  • 2
    Also use C as part of my job, still love it
  • 0
    Welcome to hell.
  • 0
  • 1
    @LrdShaper are you for real.😔 Tell me how much time you spend optimising optimising you code and including new features
  • 0
    @TRex not much for now. And probably won't because client won't approve unrequested changes.

    The code I've wrote so far was relatively straightforward.
  • 0
    @irene I'm talking about data manipulation. I'm working on a project where we've to collect network packets,extract data, calculate route, map network topology and act as information base for networking devices. not to mentioning interfacing it with python services and multithreading. Now you tell me is it fun doing all this using C (not fun but it's worth it).
  • 0
    @irene in this age computational power isn't an issue if you're not create next vcs or kernal go for other languages like python c# or java. (It's just my opinion)
  • 1
    @TRex it's an embedded system. Managed languages won't be acceptable. It could be in C++ though (and some parts are in C++) but it is as it is. I'm not choosing the means to develop it.

    And the system is kept relatively simple and straightforward with tons of precautions. I bet you don't want your shiny new car going haywire. 😏
  • 0
    @TRex the system is not as complex as yours and is indeed multiprocess with several demons doing their own job and sending message packets to each other. But each demon works mainly in single threaded mode.
  • 0
    @irene yeah i don't
  • 0
    @TRex tell me are you one of those who "make it work first then optimise it later"? 😊
  • 1
    @LrdShaper just realized I'm one of those devs.😁 honestly I'm surprised by you deductive skills. But i do go back and optimize my code.
  • 1
    @TRex hahahahahaha
Your Job Suck?
Get a Better Job
Add Comment