

Ask HC: What do you think about Java being taught in high school? - JulianMontez

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.<p>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.
======
andreyf
_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?_

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://www.amazon.com/Compilers-Principles-Techniques-Tools-
Gradiance/dp/0321547985/) <http://mitpress.mit.edu/sicp/>
[http://www.amazon.com/Introduction-Algorithms-Thomas-H-
Corme...](http://www.amazon.com/Introduction-Algorithms-Thomas-H-
Cormen/dp/0262032937/) <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.

------
PieSquared
Depends on what you're comparing with.

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.

------
noodle
java is a good, safe choice. it makes sense from the standpoint of a high
school, because corporate america likes java and the point of high schools are
to prepare students for getting jobs.

consider 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..

