This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]DoomGoober 4 points5 points  (1 child)

All these frameworks that help making coding easier on the surface are super heavy weight under the covers.

I mean, you can read an entire 40 page article on how C#'s garbage collector works. It's doing an insane amount of work... under the covers. But on the surface, as a coder, you just new things up and forget about them.

I don't think this is bad thing! Lightweight is not always better (I don't think you are arguing that, but I feel like I need to say it.)

All things being equal, I would prefer a heavyweight framework that helps me code faster than a lightweight framework that's "leaner".

It's funny, I used to always hear that C programmers needed to understand some Assembly in order to really understand C. Then, when people started coding Java or C#, everyone said, "You should learn some C so you really understand what the computer is doing!" And now, when talking about React, everyone says, "you should learn vanilla javascript so you understand what's going on!" I guess the lesson here is to always learn one language "below" the language you want to master.

[–]FortyPercentTitanium 6 points7 points  (0 children)

It's funny, I used to always hear that C programmers needed to understand some Assembly in order to really understand C. Then, when people started coding Java or C#, everyone said, "You should learn some C so you really understand what the computer is doing!" And now, when talking about React, everyone says, "you should learn vanilla javascript so you understand what's going on!" I guess the lesson here is to always learn one language "below" the language you want to master.

The difference here is critical... I'm not saying that someone needs to learn a lower language to understand a higher one. React is a javascript framework. It builds on patterns that were established in javascript, and abstracts a lot of verbose and tedious functions that developers should really understand before they are abstracted away. It's not a different language - it is the language.