|
|
|
|
|
by lmm
4523 days ago
|
|
There seems to be this puritanical view that beginners should always learn a low-level language because it's good for the soul or something. Which is bollocks. To take the Java example because I'm more familiar with it, if I want to develop a simple Web application with a single form in Java, yes I absolutely do want to install Spring, Spring MVC and Hibernate. If I'm doing this to learn Java with a view towards using it in larger applications, it makes sense to learn the stack I'm going to use for those larger applications. If I'm writing the app for its own sake, those frameworks still let me code much faster, and in a less error-prone way, than if I were using raw servlets or something. And what's the cost? A few tens of megabytes of libraries on the server? Who the hell cares? |
|
I worked on a few large scale java web apps and regularily had to find and fix performance issues. I'm not sure if it would have been possible for me to easily dig into GC internals or find bottlenecks in Spring itself, without some lowlevel understanding.
So first of all you need some kind of lowlevel understanding to understand a GC. Hell I've talked to Java guys that couldn't explain the difference between stack and heap.
And you need to be able to support the "few tens of megabytes of libraries" (which surprise, are not just a few tens of lines of code) for real projects. If shit hits the fan and you can't google the solution, you need to dig into the framework code.
Which is (I think) is why the OP sais, don't use a framework if you couldn't code it yourself.
Sure you can work yourself top down the stack, but chances are (from my experience with others) that since Spring just works (in most cases) and for small apps never really have to deal with the GC, they think it's okay to not understand that stuff.... until shit hits the fan.