That's true, but for beginning programmers, they don't have to use any of the OO features. Sure, there's a bunch of extra boilerplate stuff they have to deal with, but I'd hope it's something that's manageable.
It's definitely manageable, but I hated being told by my teachers "just ignore this stuff". Fortunately, I already knew what it meant since one of my first languages was C++, but I dislike having that kind of crap around.
That's true, but sometimes it's easier to learn something if you're able to treat something as a black box. For example, not having something like ArrayList or vector is pretty fucking annoying in any cases.
Definitely true, but using certain classes without knowing how it works can be bad. Here's an anecdote (a couple more of these and we'll have data!):
I was using Excel the other day. I had a huge (60,000 or so.. that's huge for Excel) list of ip addresses in column A and a count in column B. Column A had duplicates, and I wanted to know the total numbers. So in column C, I did "sumif(A:A, A1, B:B)", then pasted that formula in all 60,000 cells. After about a minute of Excel being frozen, it occurred to me that I was doing 60,000
2 operations, and that Excel can't handle 3.6 billion operations in any reasonable time. So, I killed the process, went back, and did it in a far more optimal way.
My point, besides that that's a neat story, is that if I hadn't known how the functions work on the inside, I wouldn't have known how to fix the problem.
So yeah.. I realize we aren't really disagreeing, but I just wanted to tell that story.
You are.
The Express editions of Visual Studio are free.
Nice, didn't know that!
Any idea what the downside is? I didn't click the link or anything, but I'm guessing they're fully functional for learning purposes, but you can't use them for professional development?