Python's only worse than JavaScript according to your criteria in that
you generally need to install it if you're on Windows.  Is that why
it's a stupid choice?

On Thu, Dec 22, 2011 at 12:17 AM, Reinier Zwitserloot
<[email protected]> wrote:
> Fantastic. It's the 'duh!' language I ALWAYS name when someone asks me where
> they should start.
>
>
> Java is a _horrible_ 'my first programming language':
>
> * You need to sprinkle a boatload of magic pixie dust over your source
> before it works (that would be 'public class X { public static void
> main(String[] args) { .... }}' and even 'System.out'). If you try and
> explain this right from the start you're going to spend 5 weeks explaining
> things with the programmer-to-be not writing a single line. If you know
> anything about didactics you know this is a very bad way to teach things.
> (You really gonna tell your student about 'out' being a public static field
> on the System class? Really? I didn't think so. I sure hope not. Would be
> very confusing!)
>
> * Even if you accept the magic pixie dust as given, it's very discouraging
> because you lack that feeling of 'I know how this works now'. You keep
> thinking: I know a few things but I can't really grok even 'Hello, World'
> because who the heck knows what all this magic pixie dust is for?
>
> * Java is very much not designed for first steps. It lacks useful shortcuts
> ('new BufferedReader(new InputStreamReader(new FileInputStream("foo.txt"),
> "UTF-8")) is great, fantastic even, in a serious project, but really quite
> the drag if you're just trying to play around.
>
> * REPLs are pointless in real life (go away, Kevin), the java IDEs have
> debuggers that can do everything a REPL does for serious work and more...
> EXCEPT for first steps programming language, for the same reason: It's
> perfectly feasible for me to tell some programming whinging about a lack of
> a REPL for java to go spend a week or two becoming an ace at the eclipse
> debugger and then reapply for the job, or whatnot. It's completely
> inappropriate to tell a first-steps student to try to make heads or tails of
> one.
>
>
> A thing or two for this could be fixed by creating a custom environment
> (BlueJ tries this, more or less), but then it's not really 'real java', and
> you get that feeling of 'I don't REALLY know anything yet', which is very
> detrimental to learning.
>
>
> Contrast this to javascript, which is more or less simple, and you get
> instant and immediate payoff. You get a fantastic REPL (load up a webpage,
> hit the 'patch jquery into this thing' bookmarklet, then open up the webkit
> console and go nuts), everybody has everything they need to just start out
> (a webbrowser), and the payoff of "I'm making real, life, useful stuff and I
> just started learning this stuff 3 days ago!" is palpable.
>
>
> Really - this, or logo. Any other choice, including python, is stupid, IMO.
>
> --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/javaposse/-/E0MhSRQUvaIJ.
>
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to