Skip to content

Comment on Ask HN: Beginner Programmer: Haskell Book or SICP?

Comments

For functional versus imperative programming, don't worry about it. Learn structured, imperative programming in Python. It's a core skill and one of the deep mathematical structures of the field. Learn Haskell or Scheme as you have time and interest. (I say that as someone who was at one point somewhat known for my Haskell work.)

More important than worrying about learning resources is to 1) produce working code and 2) read other code to learn how to improve. It's more like learning to play music. If you don't have the basics of your instrument and ear under control, deep theory and sophisticated analysis do you little good.

So try to produce programs that solve day to day problems for you, even if they're awkward. Read the code for the libraries you use or the Unix command line utilities.

I agree: If you are taking a class in python, then its really better to first ground yourself in python. Python is also a great first language to learn. But some people find good books really useful. Here are two:

https://greenteapress.com/wp/think-python-2e/

https://automatetheboringstuff.com/

So I'm apprehensive about diving into Python and not grounding myself or exposing myself to functional disciplines.

I wouldn’t be. You can learn FP at the start of 2020.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.