Once MIT used to teach freshmen using the legendary book called <i>Structure and Interpretation of Computer Programs</i> or SICP. Then they stopped teaching it and moved over to Python as the introductory language.<p>Oxford University starts with a functional language as far as I know.<p>There are still quite a few colleges in the USA which teach introductory CS and programming to freshmen using a functional language. One such book is <i>How to Design Programs</i> or HtDP.<p>Those who started in a functional paradigm, what pros and cons did you face later on? And how did that affect your coding life years from your first introduction?