Ask HN: Should I take this course?
As described in my bio, I'm a high-school student earning a computer science technical degree. For my senior year starting in August (technical degrees start earlier and end later), my CS teacher pulled me aside and offered me an entry to Java AP for next year. Only 10 will be allowed to the program. The Java AP class adds an extra hour to my schedule.
Next year, Java is taught only to Java AP students.
My question is, then, should I take this course? The problem is not those extra hours a week: I don't mind that. Neither is the class, nor the AP (that actually helps me later, so...). The thing is that I'm very immersed into Ruby right now, and I'm afraid that learning two languages simultaneously won't be very helpful. I know that being proficient in many languages can help me, but I'm not sure about learning them simultaneously.
I took my final exam on C++ yesterday (which I hadn't touched since last semester), and already I was forgetting all the semi-colons and whatnot.
So, in the real world, will Java AP help me a lot?
Thanks, I appreciate your comments.
12 comments
[ 2.5 ms ] story [ 40.8 ms ] threadAs too your question, if you've got nothing better to do with your time, sure take the Java class. I am guessing though that the reason you are already forgetting your C++ is because you haven't "used" the knowledge.
For the second part, in my time I do the usual student stuff like going out and hanging out, but I really like Ruby and Rails, so I do that as well. I also think that's why I'm already forgetting C++ - the lack of use.
I know Java is potentially useful, but I gear my programming towards the web, mostly. I could use Java with the Google App engine, but I can use Ruby with it too with JRuby. There's my dilemma.
The one benefit you may get from Java that is tough to learn in Ruby is formalization of your object interfaces. Since you've already been a bit brain damaged by C++, the Java won't do any worse ;).
I was trained in COBOL and FORTRAN. I used COBOL for all of six months (more than twenty years ago) and never used FORTRAN. But knowing them got me my first programming job.
I'm in my 30s now and no-one cares that I knew Pascal once, but in job interviews I still get asked about being on the rifle team at school...
I am of the opinion that yes, knowing Java will help you a lot. But will Java AP help you a lot? It depends on you. If you took a class on C++ and were forgetting it by the time you took the final, that means you weren't using C++.
You can't learn to program from a class, you have to do it yourself. So learning Java will help you, but that won't necessarily happen if you take Java AP.
My strategy has generally been to take the easiest possible combination of classes to get a degree (because let's face it, that world wants you to have a degree), and I spend a lot more time trying practical things. Last semester I wrote my own UNIX shell. I'm friends with a guy who took a class on UNIX, and thought I should take the class with him. But I can tell you right now - he hasn't got a clue how to use his knowledge. So who came out of that semester with a better education?
Even if you wind up using Ruby more than anything else, knowing how ASP.NET interacts with the web won't hurt.