Is C even worth learning in 2017?

is C even worth learning in 2017?

Other urls found in this thread:

benchmarksgame.alioth.debian.org/u64q/rust.html
twitter.com/SFWRedditVideos

Yes.

Of course not. The trillions of lines of C code worldwide disappeared overnight in 2016, so no new or legacy software require C developers whatsoever.

>implying there won't be a javascript to C interpreter and virse-versa

If you plan on doing any sort of embedded systems programming, absolutely.

C is the best. All other languages fail in comparison.

>interpreter
You've triggered me

t. C zealot

The only reason to learn C is for legacy purposes since it's still basically everywhere, there are more modern languages that do what it does better these days however.

Maybe if you want to do Linux system programming or work with embedded systems but otherwise not really.

What about C++?

Not really but it doesn't hurt if you're interested in it. Just don't force yourself to learn it because you think it's useful.

Reasons to learn C:
>Do you want to work on a project that's written in C?
>Do you want to write something that C is a good fit for?
>Do you think it'd be fun and interesting to write something in C?

This is much the same as for any language, but there you go.

No. No one will hire a self taught C developer for the 100 jobs available nationwide.

I can't take a programmer seriously if they don't even know C.

W-what about c++ ?

C++ is for people who can't write good C.

Triggered

>C++ is for people who can't write good C.

>C

>Can't wrap head around pointers
>Gets frustrated
>Says C is a bad language

>C++ is for people who can't write good C.

Please tell me what modern language does systems programming better than c?

>C++ is for people who can't write good C

Nope. C is close to the metal and thus faster. It's practically portable assembly. All other higher level programming languages use runtime resolution and by extension, are slower. If you want speed, you want C, hands down full stop.

C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.

In other words: the choice of C is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it's actually true. I've come
to the conclusion that any programmer that would prefer the project to be
in C++ over C is likely a programmer that I really *would* prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.

C++ leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:

- infinite amounts of pain when they don't work (and anybody who tells me
that STL and especially Boost are stable and portable is just so full
of BS that it's not even funny)

- inefficient abstracted programming models where two years down the road
you notice that some abstraction wasn't very efficient, but now all
your code depends on all the nice object models around it, and you
cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and
portable C++ ends up to limit yourself to all the things that are
basically available in C. And limiting your project to C means that people
don't screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don't screw things up with any
idiotic "object model" crap.

>virse-versa

Any remotely decent programmer would be able to figure out C in a day, so knowing any C-like language is good enough.

Wrong.

>Wrong.

This. Although C programs written pre-90s look insane.

It's just as true now as when he said it.

C isn't good, but necessary.

...

>looking for a programming job in my area

>search for 'java'
>48 results

>search for 'C#'
>52 results

>search for 'COBOL'
>32 results

>search for 'C'
>1 result

>search for 'C++'
>2 results

now do python you quadruple nigger

>fewer results for 'C'
>even though 'C++' contains 'C'

6 results.
4 of them for data science jobs, 1 for an "ethical hacker", and 1 for a sysadmin with scripting experience.

YES

> " there are more modern languages that do what it does better these days however. "

Do what it does => YES
Better => Proof?

Name one.

benchmarksgame.alioth.debian.org/u64q/rust.html

>C beats out rust in almost every field
Really makes you think.

>C
>Lets the programmer do what needs to be done
>Rust
>Gets in the programmer's way as much as possible

Its like all those modern language are saying "we can't trust programmer using our lang" yet were suppose to trust the ones who made the language in the first place.

> productivity turned on its head
> innovation stifled

Rust

Rust is a much better systems language with modern semantics and an actual package manager. Soon, with compiler optimisation (and ditching llvm), rust will out perform C if it doesn't already.

Go may even out perform C soon, fucking pathetic language

You clearly have no fucking idea what you're talking about.

fallacy

C > K-On

Well of course, you can earn money with C to buy more Azunyan figurines.

Got eem.

What fallacy?
Also, your post is in itself a fallacy: the fallacy fallacy.

No

This

>>Gets in the programmer's way as much as possible
Only if your programming style is hacked together skid tier

Is Jesus a jew?

A programming language is as good as the people programming with it. The Rust community is full of SJW idiots who jerk off to how "safe" Rust is over C or C++ and how Rust is the future rather than doing something useful.

>A programming language is as good as the people programming with it.
You using language X and sucking at it doesn't make X bad.
Take your shitty 14 y/o tier logic somewhere else dude

...

>Anime
Hi!
Go to hell.

>c javascript interpreter running emscripten running a c javascript interpreter running enscripten running a c javascript interpreter
wtf

That applies to C too.

>reddit
Hmmmmm....

Remove yourself from this entire website.

Yes, so you can learn C++17.

>only reason to learn C is for legacy purposes

So there's no new
>firmware
>embedded software
>OS kernels
>hardware drivers
>low-level tools & utilities
? Or are the new ones now implemented in

fuck off Mike

I don't know. Do people still hire C programmers? Or do you have some task that can best be solved by C? Those are the only real ways to answer your question.

literally all legacy reasons

>firmware, embedded, drivers and low-level tools are legacy
Neo Sup Forums everyone

...

it's mostly done in C for legacy reasons you imbecile

what would they write instead?

C#

you're right

not 4 u

>ffmpeg is written in C for legacy reasons
>libpcap is written in C for legacy reasons
>your shitty microcontroller code is written in C for legacy reasons

>OS kernels, embedded software and hardware drivers in an interpreted language

No.
Only Python3 is worth learning in 2017.

interpreter

Stop posting trap horses

C++ but only as far as structs with methods and constructors goes, everything else is shit.

Why would you pull in all of the fuckery that is C++ and all of its inherent disadvantages for something as trivial and useless as that?

>"C with classes"
Fuck off.

STL containers alone is a reason to use C++ over C.

this

C++ Templates and the STL are a cancer.

Haha, I'm a retarded and I've only used C++ in the method that I've described. I baited you into giving me more reasons to form an opinion, negative or positive, over C++, you fools!

>software with over a decade of history is written in C
that's what i'm talking about you fucking idiot

HOW ABOUT PHP

ffmpeg is a library with extremely high performance requirements. Even if it was to be started from scratch today, it would make absolutely no sense to use anything else.
If you've ever looked at multimedia libraries, including very recent ones (libaom is a good example), they are all written in C.

this

fuck off, schoolkid

>compile-time dependencies is cancer
Enjoy a less typesafe and more error prone garbage relic from the seventies then.

>container types are cancer
Enjoy reinventing the wheel every second then.

>I baited you into giving me more reasons to form an opinion, negative or positive, over C++, you fools!
I'll give you some more then:

1. Containers are good, you want standard implementations for commonly found data structures

2. C++ has (proper) const-correctness and type correctness

3. C++ has RAII, which allow you to have memory safety (see smart pointers) and other resource handling (for example lock guards)

4. C++ allow you to do generic programming at compile time (templates and constexprs), increasing type safety (point 2) and detecting potential errors at compile time rather than in run time

5. Exceptions offers a decoupled error handling, allowing you to write code in a natural way where you assume error conditions are literal exceptions, rather than having to write convoluted code where you have to deal with errors inline. In fact, decoupling error handling from the expected code path allows the compiler to optimise for the expected path


They're written in C because there is an abundance in open source community of people who know C.

>Praises exceptions
Opinion completely discarded. You're clearly retarded.

Sadly C is the only somewhat reliable choice of interface language for FFIs, that is gluing together code in different languages. You can't just reliably call C++ or Rust code for performance reasons e.g. from Python, Node or PHP without a C intermediary.

meh, knowing C++ implies you know C so I don't think it's anything personal to C.

off-topic question:
I've never scripted... is it easy to pick up and where should I start?

Ran out of arguments already, I see.

>knowing C++ implies you know C
Not really. Knowing C++ doesn't mean you know how to write good C.

So, C is here to stay or is it becoming like COBOL?

Exceptions are good if you respect that they're not general purpose error handlers. They handle exceptional cases, and they're good at that.

This.

Idiomatic sepples with modern move semantics and whatnot is very different from what's considered idiomatic C code aka "caller is responsible for resource management"

There is no point arguing with retards.
Exceptions are a cancer. The fact C++ even has them IMMEDIATELY makes it completely inappropriate for replacing C, amongst other things.
Enjoy your fundamentally broken ABI.

Ask again in 5-10 years.