Do I need to learn C language?

This is my #1 complaint with Python. I love Python… but dynamic typing can be a recipe for bugs.

It’s really just about when the bug will surface. At compile time, or at run time.

But I will say catching incorrect value assignment (i.e. the value is the wrong type) at compile time does have a lot of benefits. That is (in part) why TypeScript is used as much as it is for larger codebases. Typing can also help the IDE give better feedback and auto-completion.

Yeah, Rust has me in love with how many bugs can be caught at compile time.

Also, I’ve seen some beginner mistakes that can happen in Python because beginners can misunderstand data types (understandably).

Typing has its pros and cons.

I should say, I’m not a TypeScript guy. But in web development, say a React application, it can get a little ridiculous trying to type everything because you do not just have “normal” data types. I have seen seasoned developers that use TypeScript daily struggle to give the correct types and the extra time it takes doesn’t always immediately pay off so it can feel like a time waste (mostly it has its payoffs at some point).

If you are not used to reading TypeScript it can really make what should have been otherwise legible JS code completely illegible. Sometimes it’s pretty neat and succinct, other times it’s just so noisy to look at. But like I said, I’m not a TypeScript guy, so what do I know.

1 Like

Ah, my experience is all in numerical computing, where everything more or less can be represented as some sort clean type. Seeing plain JS was like stepping into the wild west for me.

If you really want to see how crazy it can get you can look at some TypeScript type definitions.

@types/react index.d.ts

This is obviously an unfair example as we (most of us) just use the definitions but I still think it makes a point, and someone has to write the definitions.

But again I should really be careful to speak too much about something I have so little knowledge about.

The first language I learned was C in school.
Should you learn it?.. Why not?
Should you not learn it?..As you wish.
If you are a person who is goal oriented (I mean if you have fixed goals(unlike me) like I wanna be a web developer etc. etc. Try to find if you are going to need it ever.) It depends on what your are aiming for.
Otherwise, There’s no harm in learning something extra. If you have time sure. {But If you are thinking to learn java in future, I will suggest start with C.(personal suggestion)}

2 Likes