5 ms·
I think this is an interesting point and it seems to me there are two distinct learning styles. Bottom up learning where you start from the basic features of th
by josephlord 12y ago
I think this is an interesting point and it seems to me there are two distinct learning styles. Bottom up learning where you start from the basic features of the language and theoretical foundations of computers (or the practical foundations for C and assembly) and a top down approach where you start with rich frameworks and bolting together code that you don't understand.
I think the different approaches lead to a different environment in terms of libraries available and the types of learning guides available.
- minikomi 12y agoThere's definitely a stage when you want to graduate from bottom-up tinkering & learning the underlying concepts to making things -- this is where I feel there's a big gap in the haskell materials right now. There's some great screncasts though which have been helpful. https://www.youtube.com/watch?v=0I90MTip-OQ https://www.youtube.com/watch?v=0I90MTip-OQ - Implement a sed clone in Haskell (a bit broken towards the end but a great look at a small incremental project) https://www.youtube.com/watch?v=zZ_nI9E9g0I https://www.youtube.com/watch?v=zZ_nI9E9g0I - implementing redo in Haskell
- josephlord 12y agoOf course those starting at the bolting together of significant blobs may learn their way down to the more fundamental levels too as they start to dig into the libraries that they use and even down into the languages. I don't take a particular view on which is the better way. The distance from the fundamentals up to something superficially impressive seems a very long way to me. So I think probably the realistic approach for most will be to start of the bolt things together and then discover a desire to understand the fundamentals. I think to start at the fundamentals end needs a lot of patience but it probably suits those intolerant of magic.
- innguest 12y agoI think to start at the fundamentals end needs a lot of patience but it probably suits those intolerant of magic. Very well said; I'm one of those people and that's what drove me from Ruby to Haskell - Ruby and its frameworks are all very magical and don't seem to hinge on any common foundation other than the intricate details of Ruby's object model, which is not a satisfactory set of principles, but an arbitrary set of rules. On the other hand, while Haskell is several times harder for it, it does eventually quench the thirst to connect every new thing I learn with the foundational things I already know (and which are in fact a set of simple rules - lambda calculus).