3 ms·
for the vast majority of modern projects, you don't need the performance that manual memory management provides. I would bet that 90%+ of modern software is wri
by beaconstudios 8y ago
for the vast majority of modern projects, you don't need the performance that manual memory management provides. I would bet that 90%+ of modern software is written in a memory-managed language. If you need to leap from JS to C, it's really not that hard. But trying to learn about stack frame allocation and RAII and cache line optimisation is a lot to take on when you've just learned what a variable is.
The abstractions are what's important, memory layout is an implementation detail. Even when you're writing C or assembly, you're still thinking in terms of data flow and logic, you're just having to do a lot of the work manually. Learning the abstractions without the baggage of the implementation detail will get 90% of people 90% of the way. Once you have that solid foundation, you can go on to learn assembly or C if you need it because it's not that big a leap from a coding mindset to a hardware control mindset. But to go straight from no coding experience to hardware control is going to be more difficult for a new student to wrap their head around.
- eksemplar 8y agoI think you misunderstood me. It’s not the abstraction that’s important. It’s the problem solving that comes with knowing how the understanding. How can you really be tasked with solving problems if your first response is to look for a node package that does it for you? And that’s what JavaScript teaches you. I’m not saying you shouldn’t use node packages. But learning to do that as your first steps into programming is robbing you of learning how to use code to solve problems.
- beaconstudios 8y agoAh I see - so your issue is with the proliferation of tiny libraries associated with NPM? That's not inherently an issue with Javascript. I agree that solving every issue with a library is bad in the same way that solving every issue by copy-pasting from stack overflow is bad, but it's not inherent to the language. I primarily work in Javascript these days and I've never actually seen a project that relies on an excess of micro-libraries. A good teacher will teach students to understand programming logic, not to lean on excessive crutches.