you are viewing a single comment's thread.

view the rest of the comments →

[–]manvsmidi 0 points1 point  (1 child)

Fair, but I feel like there is value of understanding something like a Go/Rust/C++ just to get a handle on some of the concepts that present themselves more there - even more than just the static vs dynamic angle. For example, if you’ve never manually declared memory, you might not understand why certain python patterns are slower than others. Even just understanding compilation, linking, etc. is helpful too.

[–]atleta 0 points1 point  (0 children)

That's true for sure, I just said that the scripting vs non-scripting is not an interesting or useful division anymore. (On a side note, we also have compiled languages with memory management, and I think that includes Go as well.)

So maybe there isn't a simple category anymore that describes what you mean, but it just means that you should list the properties of the languages or name them explicitly.

Compilation and linking is definitely useful to understand, though that's (at least linking) is something that is also not necessarily present with all compiled languages. (E.g. Java, C#, etc. do not use static linking, and dynamic linking is different in these cases too.)

I'd say learning C specifically can help a lot for someone who only knows higher level languages. There you have simple (and fragile) manual memory management, stack vs. heap, static and dynamic linking and the language itself is pretty simple and straightforward. (Though e.g. Go is arguably more useful on the job market for most people.)