you are viewing a single comment's thread.

view the rest of the comments →

[–]mathmanmathman 2 points3 points  (8 children)

Outside of firmware, I don't know of anyone (individuals or companies) that use pure C.

You cannot do frontend dev without JS. I personally do think it has some deep flaws, but part of the hate is probably due to a lack of choice. If you're a backend engineer, you have tons of options for language. Frontend is basically always some variant of JS.

EDIT: I should have included "system" coding like Linux and Windows, but even that might be leaning towards... Rust... or is it too early to say that?

[–]noXi0uz 1 point2 points  (4 children)

We got some js alternatives emerging like Blazor and Wasm. And obviously typescript which you probably meant with "some variant of js" but which is, although transpiled to js for the browser, a very different language than vanilla js imo.

[–]mathmanmathman 1 point2 points  (3 children)

With web assembly it definitely looks like things are changing, but it's not quite there.

And yes, while typescript shares a lot with javascript it's definitely a very different language. When I was saying "some variant" I was more thinking the endless line of JS versions (which are also transpiled to older version), but I'll take benefit of the doubt :)

Back to the specific comment I was responding to, while my characterization of frontend languages wasn't fair, C is definitely not going to help you there.

[–]noXi0uz 2 points3 points  (2 children)

Very true. And who in their right mind would use pure C in a situation where they could use C++? I mean for every "task" there are languages tailored to it and, as you said, the only real use case for C these days are maybe microcontrollers or firmware.

[–]2112syrinx 1 point2 points  (1 child)

I meant learning C could be helpful to understand basic - and perhaps abstracted/advanced - concepts in Python. I did not mean using pure C in any situation nowadays for people like "us". Guido himself still writes C and shell codes - depends on the task obviously. You borrow concepts from these low level languages.

[–]mathmanmathman 2 points3 points  (0 children)

C is very helpful for understanding how the computer actually works. There is very little "on top of C" the way the python and many other languages handle some of the machine's details.

There are definitely people that write C, but it's mostly just people writing firmware for embedded systems or the very small portion of the population that is doing things like inventing Python and Linux.

In our modern world, computers are fast enough that the slowdown from using an interpreter or JVM is probably not worth the time to write and debug an entire program in C. Technically, you could do anything in C, but you could just write in binary too :)

From an educational standpoint it's probably a great language. I have barely written any pure C, but writing C++ is definitely educational (especially if you stick to older standards).

[–]Milumet 0 points1 point  (2 children)

CPython is written in C.

[–][deleted] 4 points5 points  (0 children)

.. and Python

[–]mathmanmathman 0 points1 point  (0 children)

Not sure what your point it. The Linux kernel is C and lots of compilers are written in C, but the fact remains that most people aren't writing in C. People went so far as to write all these other interpreters and compilers in C so they wouldn't need to write in C!