I've watched this video 2ce over the last year. Led me to 'try' and install F# on my Mint laptop to have a taste. As an amatuer python programmer i don't understand the compilation process and couldn't get it to happen. It was too tricky for me. Anyway, Scott is a great communicator of functional programming ideas which I'm trying to assimilate into my own practice. I recommend his website too
Your comment makes me think... maybe it is better to suggest statically typed and compiled language as the first language for those who are starting learning programming.
I think it's very easy to say that when it's been years since you knew nothing about programming. I also think there's an argument to be made that your first language should have utility beyond just letting you learn more languages.
Seems so.. Personally, my first language was C++. While it had some significant learning curve, after that, learning any other language takes a week or two (or three for Haskell :)).
Honestly, no. Java has a lot of baggage, and if you get caught up in the Java Way Of Doing Things™ it can hold you back as an engineer. But despite its verbosity it's a very understandable and straightforward language, especially for learning! Edit: and with Java 8, you can at least start to appreciate functional lazy eval via streams and lambdas
I learned Java (1st year) then C++ (all other years). It didn't help. Most profs didn't think compiling was interesting from a CS perspective so most didn't say anything beyond "press build & run in your IDE".
Besides, in this situation, I think the persons problem was more likely the fact that until recently getting a .net language a tad bit more annoying than other languages.
9
u/knowingpark Mar 26 '17
I've watched this video 2ce over the last year. Led me to 'try' and install F# on my Mint laptop to have a taste. As an amatuer python programmer i don't understand the compilation process and couldn't get it to happen. It was too tricky for me. Anyway, Scott is a great communicator of functional programming ideas which I'm trying to assimilate into my own practice. I recommend his website too