Live data from Hacker News

Java vs. Scheme in Education

innoq.com

1–10 of 41 posts

Re: Java vs. Scheme in Education

#3
post #2

So scheme is better because there is no tool support and with no tools there is less to be confused by. Hm.

I think the point is that, with Scheme, the tool you use is less important than the thinking you do. With Java, you have to worry about your environment before you can worry about programming.

Re: Java vs. Scheme in Education

#5
post #2

So scheme is better because there is no tool support and with no tools there is less to be confused by. Hm.

I think the point is that, with Scheme, the tool you use is less important than the thinking you do. With Java, you have to worry about your environment before you can worry about programming.

That's really not fair. To start, beginning Java developers (or developers of any language) shouldn't be using a full IDE. Anything more than syntax highlighting (yes, even compiling for you), and you're losing important steps.

That said, the amount of boiler plate code to do anything in Java can make it quite confusing... though, Scanner has made the input easier, and System.out.println() doesn't seem too much more than memorization.

Re: Java vs. Scheme in Education

#6
Asking as a CS major who first learned C, then C++, and didn't touch LISP and Prolog until the upper divs, how difficult is it to learn a functional language as your first programming one? Wouldn't it be trippy? When I first learned that Berkeley students had to learn Scheme first, it made me think of them as hardcore... though I may be overestimating its difficulty.

Re: Java vs. Scheme in Education

#7
"As I see it, a software engineer who hasn't worked through SICP with Scheme, a basic editor and command line, is like a surgeon who has never dissected a frog and faints at the sight of blood." -- Priceless !!! Great comment, Stephen.

Re: Java vs. Scheme in Education

#8
post #2

So scheme is better because there is no tool support and with no tools there is less to be confused by. Hm.

I think the point is that, with Scheme, the tool you use is less important than the thinking you do. With Java, you have to worry about your environment before you can worry about programming.

With Java, you have to worry about your environment before you can worry about programming.

You have to download the jdk and set an environment variable. Then open a text editor. That's about all the 'worrying about the environment' that you have to do before you can start programming in Java.

Re: Java vs. Scheme in Education

#9

Earlier quoted context omitted.

I think the point is that, with Scheme, the tool you use is less important than the thinking you do. With Java, you have to worry about your environment before you can worry about programming.

That's really not fair. To start, beginning Java developers (or developers of any language) shouldn't be using a full IDE. Anything more than syntax highlighting (yes, even compiling for you), and you're losing important steps. That said, the amount of boiler plate code to do anything in Java can make it quite confusing... though, Scanner has made the input easier, and System.out.println() doesn't seem too much more…

I don't see the point of your argument. You say Java developers should intentionally cripple themselves, because they're losing "important steps". What does that even mean? I don't see why I'd lose rename, automatic inherited method shells, auto imports, generate constructors/getters/setters etc... When you buy a car, do you insist that it has manual windows and no power steering?

Re: Java vs. Scheme in Education

#10
post #2

So scheme is better because there is no tool support and with no tools there is less to be confused by. Hm.

I think the point is that, with Scheme, the tool you use is less important than the thinking you do. With Java, you have to worry about your environment before you can worry about programming.

Same point PG made in one of his essays about text editors vs IDE's. With the former you learn and master the language, with the latter you learn the editor and features like code completion substitute for mastering the language.
Post reply on HN