Lots of people (particularly people associated with LessWrong) are telling me I should become a computer programmer; in response I've taught myself a little Python using this site, written a couple Python scripts on my own, and just now sent in an application to App Academy. But if I don't end up going to App Academy, what's the best way to develop some actually marketable programming skills? I've heard people recommending getting involved in open source projects on Git Hub, but when I looked at Git Hub I found it overwhelming, with no idea of how to find a suitable project to work on. Advice?
The only thing that really bugs me is the inability to use variables declared in a try block in an ensuing catch or finally block. That would let you scope things much better.
What are you thinking of?
Lack of multi-parameter polymorphism, lack of return-type polymorphism, lack of algebraic data types, lack of parametric polymorphism, etc.
Okay, essentially I want Java to be Haskell. That's an impossibility, but most of the type-level stuff needs no runtime support whatsoever.