Ask HC: What do you think about Java being taught in high school?
Hello Hacker News, I'm a high school student and have been taking Computer Science for two years. A lot of my classmates in the first year had a hard time understanding the concepts that the language carries. In between lessons, I would show them some Python and Ruby (other languages I was looking into). I was wondering what you all felt about Java still being taught as a first programming language.
As for me, I learned a lot of the concepts quicker and got more things done in Python than in Java. Why can't schools change the curriculum? I feel that doing this would make the classes easier and keep more people interested in programming.
3 comments
[ 3.0 ms ] story [ 17.9 ms ] threadconsider yourself lucky you have a class in java. i went to a big high school and there were no compsci classes at all.
edit: oh, and uphills both ways, snow, etc..
They will, with time. Colleges are slowly moving to Python instead of Java. With time, so will employers and the AP's. Then, slowly, schools will.
This is one thing you learn painfully as you get older - there are a million changes that should happen now, in a perfect world. In the world we live in, change happens slowly - money needs to be allocated to hire new teachers, which takes time, new teachers need to be interviewed and hired, which takes time. Old teachers need to be trained, which takes time, etc. A new teacher has to prove herself as being competent before a high school introduces a new curriculum only she knows, because they don't want to invest developing tests/homework problems/syllabi that will be useless if that teacher quits/gets pregnant/gets hit by a bus.
Java isn't so bad, it definitely has it's place, once you "get it" - it's great for creating concrete specs and controlling large numbers of developers (some of whom may be of intermediate quality). Try working with a crappy code base in Python, JavaScript, or Ruby, and you'll be ready to pull your hair out in a week.
If you're serious about programming and programming languages, though, forget about learning a thing in high school, work for the grades (if that's your style), and learn things on your own. Don't do it to show off to your friends - they're an inexplicably minute fraction of the world at large - impressing them is like a minnow trying to impress his puddle. There will be a lot of people much smarter than you if you get into a good college.
Save up your lunch money for these books, and get through as much of them as you can before grad school (or work):
http://www.amazon.com/Compilers-Principles-Techniques-Tools-... http://mitpress.mit.edu/sicp/ http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme... http://aima.cs.berkeley.edu/
That gives you 5 or 6 years, not nearly enough to really get these things, so make time. And... GO!
PS. consider it a big step in the right direction when you "get" Lisp.
It's better than C++, it's worse than C. Better than Perl, maybe worse than Python. It's the perfect language for classes which don't actually teach you how to program, but instead just teach you how to be a code monkey.
As andreyf said, if you're serious, high school may not teach you much, or so says my own experience. I am only in tenth grade right now, but by my estimation I probably already know the whole CS curriculum at my school (although supposedly it is advanced). I suppose this is actually a very good thing, because I've learned how to learn on my own.
I'm sort of in the same boat as you. What I've noticed though, is that many (if not most) of the students don't really want to learn CS, they just want to take the course. Sad but true.