4 ms·
At least one reason is that it hides too much from you. I started out in Java. It really got me into programming - I could make all these pretty little windows
by PieSquared 19y ago
At least one reason is that it hides too much from you.
I started out in Java. It really got me into programming - I could make all these pretty little windows and graphics and do everything else quickly and easily. But, as I later found out, at the expense of that ease came my knowledge.
Example: The ArrayList class. It's a dynamic array. The LinkedList class. It's a linked list. They're fundamentally different. But in Java, they look and act pretty much the same, and they're already available in the standard library. The learning programmer doesn't need to know how they work or anything.
Same thing with memory. In Java, you get no feel for what memory is being used, or how it's being managed. In C, you're the master (and the slave), and you yourself have to manage and take care of memory and pointers. It tells you much more about how computers actually WORK when you're programming in C.
In summary, Java just gives you too much. It hides you from the raw details. This is great for a production purpose language - but for a teaching language, what could POSSIBLY be worse, when the intent is to reveal and NOT hide all the small details?
- mixmax 19y agoThanks for the reply Sound like the reason you state is basically Joel Spolsky's Law of leaky abstractions. http://www.joelonsoftware.com/articles/LeakyAbstractions.html http://www.joelonsoftware.com/articles/LeakyAbstractions.htm... I started programming in PHP, and can relate to the experiences you've had with java. It's great for actually getting stuff done right out of the box, but I suspect a lot of stuff is being hidden from me. Since you seem to have gone through this process, in your experience, does this give problems later on in a production setting?