Graduated with a major in CS roughly 2 years ago, and my stack had been largely Java related as a student for everything. Right now I am working on Apache Spark with Java 8, and it involves fairly basic concepts of functional programming; however, I find it difficult to easily get resources that would help me learn things from the very fundamentals. As a student, the textbooks helped a lot in understanding not just the language, but the overall view, background and the concepts implemented in it. However, as a professional, and maybe for a lack of better books, I mostly visit sites like Stack Overflow, find a related issue and solve it for "getting it to work". Very few do I get an in depth view of the fundamentals of the tech I am working on.<p>How do you keep up learning in such scenarios?
One of the best books on functional programming is "How to Design Programs" which is an introductory programming text based on functional programming,<p><a href="http://www.ccs.neu.edu/home/matthias/HtDP2e/" rel="nofollow">http://www.ccs.neu.edu/home/matthias/HtDP2e/</a>