C programmers in 2019

People who write in C in 2019

Exhibit A: The Dinosaur
>Has litterally been around since the stone age
>Tabstop=8
>Complains about modern programming conveniences usually starting with the phrase, "back in my day"
>Only other languages they have written in are ASM, Algol 68, Fortran, and maybe COBOL
>Uses Gotos to print "Hello World"

Exhibit B: General C Programmer
>Probably in their 20s
>Embedded Systems/Linux Dev
>Nice person who generally does not attack people for what they program in
>Probably runs Linux but may also use Windows or OSX
>Doesn't hate any OS
>Normal fucking human being

Exhibit C: Python/Java/Webdev Programmer
>HOW DO I COMPILE THE PROGRAM
>WHY DO I GET SEGFAULTS
>WHAT IS A POINTER
>WHERE ARE MY HASH TABLES AND LINKED LISTS
>WHAT HAPPENED TO CLASSES
>I DONT LIKE C ANYMORE
>No one likes them
>Actual faggot
>Should not be allowed to touch such a pure language
>Most likely a virgin

Exhibit D: Jow Forums C autist
>Hates anything that is not C including C++ because it adds too much gay fucking bullshit for the average user
>Probably pretty good at programing in C but also probably cannot do anything else
>FUCK VOID*
>Jerks off to their ArchLinux build
>Spends more time making fun of people that don't write in C than actually coding
>Also faps to anime
>Likely that they are also a virgin
>Hates pervasive state
>tfw no gf
>Reading this in basement of parents house
>Hates Microsoft and Apple
>A general burden on society

Exhibit E: PHP Programmers
>HALLO OIM TOM SCOTT

what do you think of this take lads?

Attached: dr.jpg (1200x873, 315K)

Other urls found in this thread:

ref.x86asm.net/coder32.html
tpcg.io/MQl0nR
twitter.com/SFWRedditGifs

>tfw exhibit B but hates all OSs and all software (including C and shitton of things about modern unix)

>what do you think of this take lads?
You're wrong about the age of people in B, I'm 32 and all people I've worked with in this field have a master's or PhD and some years of experience which makes them 27-28 at youngest. Also, we're not normal. The rest is pretty much correct, I use macOS on my laptop at home. I hate using Windows though, because I think it is a crappy OS.

I don't fit into any of these categories desu. I used to write Rust, got tired of the slow fucking compile times. Now I write C and I love it. Also I run Linux and hate Windows with a passion.

A moment of silence for our self hating IT anons

thats just exhibit D you autist

>Probably in their 20s
>Embedded Systems

Attached: 1548136062393.gif (500x259, 485K)

>got tired of the slow fucking compile times
I feel that way about a ton of higher level languages for example java (cant speak to much about rust since I have no experience with it) but i get so hung up on how fucking slow they can be.

Exhibits A and B are like that because they actually understand the relationship between C and ASM

Attached: 1542570923751.png (620x720, 201K)

lol why are you so obssessed with c programmers?

Attached: Loituma.gif (352x240, 227K)

Most languages like Java aren't that bad to compile, but Rust can take like 2 minutes. Fuck that, I have shit to do.
The reason C compiles so fast is because it translates almost directly to ASM. Most languages should focus on that rather than muh abstractions.

embedded land is full of ESL spaghetti code.
t. works with logic and controls

That's not unique to C. It just requires the language to be designed with that in mind. I'm making a toy functional language that translates so well into Assembly I don't even need an AST.

lol I write in C everyday I just feel like a lot of people either really like it (me) or absolutely cannot stand it. both of which I feel like are valid ways to look at it since it lets you do most of the heavy lifting. If that isnt really your thing then you most likely dont care for it. If you can deal with doing most of the under the hood kinda stuff yourself and dont need the training wheels that most modern languages provide then it is super rewarding. Kinda a baity post but i wanted to see y'all's thoughts :)

>embedded land is full of ESL spaghetti code.
t. works with logic and controls

freakin tell me about it user im embedded lol

>It just requires the language to be designed with that in mind.
That's more or less what I just said. Rust could've been a good replacement for C, but it's been overcomplicated to the point where it can only realistically replace C++. C still remains unbeaten.

Is there any reason this can't be the case?

See It may be different where you live for all I know, but here it is very unlikely to get an embedded programming position without a master's + several years of experience.

misconceptions
I make my moneyz in web dev, its fast easy and convinient, I am huge fan of C and start my programming career trough C++, moved to Java, ended on PHP for work, however I still preffer C for my personal projects, once I hoard enough moneyz, thinking of switching to game dev career.

currently a 2nd year undergrad CS student on an embedded co-op. Generally speaking I am the youngest person here. a lot of people have higher level degrees. but some come right out of college

This is my third embedded job, and I'm the youngest person here at 32 (and were at the other places at well). I guess it varies from where you live.

>Hates anything that is not C including C++ because it adds too much gay fucking bullshit for the average user
kinda, it's subset of what I hate
>Probably pretty good at programing in C but also probably cannot do anything else
doesn't apply
>FUCK VOID*
doesn't apply
>Jerks off to their ArchLinux build
doesn't apply
>Spends more time making fun of people that don't write in C than actually coding
I have a 40h/weeek job, so doesn't apply
>Also faps to anime
doesn't apply
>Likely that they are also a virgin
>tfw no gf
I had sex once 6 years ago
>Hates pervasive state
I don't know what pervasive means
>Reading this in basement of parents house
doesn't apply
>Hates Microsoft and Apple
doesn't apply, I just hate friction imposed by silly licensing
>A general burden on society
doesn't apply

2/9 seems pretty far off

Attached: 1546625570814.png (376x341, 102K)

>Exhibit C: Python/Java/Webdev Programmer
Why are you generalizing? Plenty programmers know Assembly and C but work with Java or other higher-level languages predominantly.
It's not illegal to know more than one language, you know. I personally know a PhD working on cutting-edge software and they use a mix of C++ (data processing), Java (web server) and Python (glue).

I'm the type B person. The only difference is I do kenrel development for an OS other than Linux that is used on our embedded platforms.

Almost no one has a master's were I am working. Every one has engineering degrees instead of just CS. I have both EE and CS. It would b hard to do my job without a some EE knowledge, even though I mostly do all software stuff.

Fucking accurate

>>Uses Gotos to print "Hello World"
The only sane way to do C.
#include
#include

static int hello (const char *name) {
if (printf ("hello %s\n", name) < 0) goto err;
return 0;
err:
fprintf (stderr, "printf failed\n");
return -1;
}

static int helloall (char *const *names) {
loop:
if (*names == NULL) goto end;
if (hello (*names) != 0) goto err;
names++;
goto loop;
end:
return 0;
err:
return -1;
}

static char *const defnames[] = {
"world",
NULL
};

int main (int argc, char *argv[]) {
char *const *names;
if (argc == 1) goto def;
names = argv;
goto tell;
def:
names = defnames;
tell:
if (helloall (names) != 0) goto err;
return EXIT_SUCCESS;
err:
return EXIT_FAILURE;
}

oh sweet jesus oh god oh fuck

What? Is there a bug?

>printf failed

>If a writing error occurs, the error indicator (ferror) is set and a negative number is returned.

Where is the problem exactly?

There is no reason to start a new project in C in 2019.

learn to code in microcode faggot.

You'll never ascend to the ranks of 10x programmers if you don't move on to megacode.

>microcode faggot
What is "microcode faggot"?

Attached: 1536175309737.jpg (400x276, 20K)

This is glorious, down to the NULL-terminated char array.

Attached: le-boomface.jpg (250x229, 8K)

god

You don't need "goto"s to print hello, world. In fact, I have literally never seen a goto being used in that manner in C or the equivalent in assembly (jmp). I have no fucking clue where OP even got that retarded idea from.

Writing a library

>god
Which one?

lots of my EE friends do this

what is C11

actually it is the code used to control how a cpu works, it is a step below machine code or opcodes, above opcodes is assembly.

shit

Who else /exhibit b/ here?

can you write an embedded system or operating system in your meme language faggot? Because that is what I'm attempting to do...

sorry i dont listen to hip hop

Sepples has been better than C for years in that regard as well.

What's a "meme language faggot" and how do you write code with it?

tfw c :9

I'm going to write my own language, I don't like syntax that is difficult to read, there is no reason for a programming language to be obscure to the average human.

well you goto college and say you would like to be a web developer, game programmer or some other profession of the month. Then one day you get to drink onions latte in some hipster cafe to fit in with all the other dumb asses that know fuck all about computers.

it's fairly easy to understand the syntax, idk what's the problem

or you can actually study computer science and become an engineer.

the problem is when starting to use libraries, in fact the problem is that some things could be wrote differently and yet produce the same OpCodes which is essentially the machine codes used to tell the cpu to do stuff.

Java makes me want to puke in my mouth, as does c# but both of these are much easier to understand than C. They are just too limited for my tastes, I want something between assembly and say C# but much easier on the eyes and the mind. I want the power of assembly but much easier to read and write as a coder.

You should not have to comment your code if you wrote it correctly but with C even that isn't enough! I want to be able to walk away from a project and in 6 months time return to it and know exactly what the code is doing just by reading it.

embedded bros: what kinds of skills does your company look for when hiring? I'm currently in a job that's technically embedded but even after 2.5 years I pretty much just work with the legacy codebase, which is all badly written bare metal assembly. I know C decently well, but I've had very few opportunities to exercise my C skills here. Aside from that I know git, and a little java, python, and js from college. I want to get a new job, but I fear that even though I can technically say that I have 2.5 years of embedded experience, my actual skills are far behind what most companies would want. What sort of quick portfolio projects can I work on to bring myself up to speed with the rest of the industry?

I would say a general knowledge of C is fantastic but I just started my embedded position 3 weeks ago and my job rn is porting software to cpp so I guess my input isn't the most valuable ha ha

what kind of shit did you have on your resume? aside from "gud at c and c++"

Almost all embedded companies are looking for people with domain knowledge, i.e., they're not looking for generic experience but rather concrete experience within the domain (or a very similar domain). For example, if the company makes routers and router firmware, your knowledge about IP networking and TCP/IP must be quite good in order to get considered.

skills
>electronics in general
>how to read schematics
>how to read datasheets
>how to write portable software without race conditions and undefined behavior
>how to write bare-metal/RTOS-based systems
>how to write linux kernel modules
>how to write desktop tools to test/interact with your embedded device
>how to write simulators
>how to automate regression testing of real hardware
etc

>resume
past work experience/embedded stuff. I can post my general resume stuff when i get home in like an hour or so

kk, tks in advance

I have my objective which is like 4 sentences long. Then I have my education followed by past work experience which is like the bulk of my resume. I follow that with some relevant projects one of which being embedded the other being romhacking stuff which is ASM and C. I end my resume with skills and programming langs

Djikstra died for our sins.

21st century C is a good book, read it idiots.

thanks, that's definitely helpful.

>not setjmp and longjmp between functions
Dijkstra cries in the bath because of you user

Attached: yodawg.jpg (600x399, 22K)

Get on my level
#include
#include
#include
#include
#include

static jmp_buf env;

static const char* shc =
"\x55\x48\x89\xe5\x48\x89\x7d\xe8\x48\x8b\x45\xe8"
"\xc7\x00\x08\x00\x00\x00\x48\xc7\x45\xf8\x00\x00"
"\x00\x00\x48\x8b\x45\x08\x48\x89\x45\xf8\x48\x8b"
"\x45\xf8\x5d\xc3\x69\x05\x05\x01\xed\x0b\x00\xb4"
"\x47\xfe\x09\x06\xfb\x00\x9b\xf6\xde\xad\xbe\xef";

static int calculate(int a, int b)
{
do
{
a ^= b;
b = (a ^ b) & b;
b

>mfw in my twenties and do embedded systems for a living

Attached: 1539873708118.png (650x650, 13K)

>Get on my level
My code is portable C89.

>bad = ((void (*(*)())(int*)) shc)(&s);
:)

>tfw EE and CS

Is there anything more comfy than this? You know about computers from the lowest level to high and dont have to work on the kill-myself-tier bullshit CS jobs like webdev. The hacker's patrician choice

Isn’t this just CE

Thats the brainlet option

Literally can't fault it

t. freshman in college in both majors

OMGUS0H4)(

get on my level.

ref.x86asm.net/coder32.html

What is this magic?

tpcg.io/MQl0nR

Attached: Screenshot 2019-01-29 at 00.58.59.png (416x182, 17K)

a spacker using C asm instructions when he could have done it in assembly and got better results. Some of it looks to be shell code, i have no idea and don't care.

today in class my professor told us we will be skipping over the C portion of the course because it's out dated and won't help us get a job.

How do you get an embedded job in C without a degree?

By contributing to the kernel.

The inline assembly is merely a call to the write() system call. The string "install gentoo" is literally not found in the code at all.

B here, I love C because it is cathartic.
For work, I find myself using Visual Basic and Python more often than not.

I like you.

>be systems developer in my 20s
>use linux, but don't really give a fuck what anyone else uses
>only make fun of C++ users
>liked by my coworkers as far as I know
mfw I'm B

Attached: tumblr_pbg3mbY6cu1xz9074o7_400.jpg (333x333, 28K)

Based and gotopilled.

>be numerical phd fag
>"programmer"
>"scientist"
>mfw all numerical software backends are all in c
>mpi is in c
>"code" in c
>mfw
pure algo people just use matlab irl tho.

How did you break into embedded, user?

Even though all math libraries are in C, C++ is still often nicer.
Fields, graphs, and other constructions are just really nice to write as classes.
With some luck and suitable abstractions you can pretty much copy parts of a program into paper.tex, making the code literally self documenting.