|
|
|
|
|
by blr246
2948 days ago
|
|
I think there's a crucial component missing from a lot of the good advice here: pick a couple of languages to learn deeply enough to get into the language specification. To really appreciate the interplay between code and execution, you need to dig into some of the differences between how languages are actually implemented and distributed. This will teach you surprising things about the language's execution semantics and what it means to avoid undefined behavior. Even interpreted languages like Python and Java have tremendous depth in their runtimes and design, such as JITs, memory management, and more. Set a goal to learn as much about at least a couple of languages as you can, and you'll be able debug and understand programs much better. It will also ease your learning of new languages, because many of their features will fit into things you know already. |
|