News for hackers. Stuff that matters.
Re:Ask HN: What is your best way to learn Python programming... by hluska on Sunday August 05, 2018 @12:49PM (#17692152)
What static language would you recommend? I figure the choices are basically Java or C#. Of the two, I'd likely suggest that Java will be easier only because I think beginners might find .Net a little large to dive into. But I wouldn't call Java a particular compact language that would be good for teaching someone to think like a programmer. What do you think?
Re:Ask HN: What is your best way to learn Python programming... by tudelo on Monday August 06, 2018 @10:27AM (#17697829)
The worst language to teach someone as a first language has to be Java. It also might be the worst language to teach someone as a second language.
Re:Ask HN: What is your best way to learn Python programming... by hluska on Monday August 06, 2018 @12:09PM (#17698851)
Java gives me a rash, so writing that last comment took every last bit of restraint I had.

But, I still can't come up with a static language that I'd want to teach someone as a first language. C# would be a good choice, but I don't know how much success a beginner would have with .Net. Typescript is hard to debug unless you know Javascript. I wouldn't wish C++ as a first languge upon anyone. Haskell seems like it would be very frustrating for a beginner. Swift might be okay if they really badly wanted to go mobile, but that's not the case here. Rust is the best I can come up with, though it seems like a tough first language.

Do you have any ideas? I see the value of learning static first, but can't come up with a good language!

Re:Ask HN: What is your best way to learn Python programming... by tudelo on Wednesday August 08, 2018 @10:23AM (#17716199)
Well, I guess if your goal was to learn a statically typed programming language Java or C# would be fine. So I don't disagree with you.

Personally, I have been in the role of teaching people programming, and I have seen what Java does to them. And I remember what it was like when I first encountered it.

So, I don't have a better suggestion if that is the goal. But if the goal is to learn programming, I have plenty to say on that. I worked as a TA for 3 years and from my rather biased experience, I would highly recommend HtDP and Racket.