Open YvesMuyaBenda opened 7 years ago
Wow, this is great!!
@newsim @bryanjenningz is my new documentation hero! I was just soaking up the language following the comments within the step by step incremental development of the code; which goes to show, very well commented code within an incremental progression is as good as any video tutorial; heck, it is so well done, that one would just need some recording device, and read out the comments and type the code!
I love this. That reminds me also, if you can't explain it simply, you don't really understand it.
Incremental, stepwise learning is very powerful! Plus it makes spaced repetition that much easier.
@newswim Too, it gets one reading and understanding code as quickly as possible, in that the incremental approach (1) limits and delimits the number of concepts one has to hold in mind, and (2) immediately applies that to compilable runnable code. Since the number of concepts are delimited and limited, then one can play around with those concepts, building them up as you go. It such well commented code! For example, in the 5th code example, one could experiment with an app, where the counter starts at 1, and the number is being doubled, halved, and reset to 1, or other such variations.
Something similarly structured, for Go-lang (https://gobyexample.com)
@newsim I had already bookmarked that Go-lang resource as a useful type of documentation to write up while learning a language: something like a technical writing exercise, that given a beginnger book on the language, write up something similar to https://gobyexample.com/. However, the main difference between that Go-lang example and the Elm example I have linked to is that the Elm example is incrementally building a sequence of standalone apps, which helps in putting together the basic language elements in constructing something you can ship, as opposed to "learning the language", or, learning to use the langauge as a tool vs learning to use the language as a standalone thing.
Still, though, it would be fun to write elmbyexample.com, and also still in my mind as one of the cleanest reference-type expositions of the basics of a langauge I have yet seen is https://elixirschool.com/.
That's a great point! ElixirSchool is a great model for what a project like that might look like.
From a post on the Elm Facebook group by Charles Scalfani, I thought it might be of use for some people: https://github.com/bryanjenningz/25-elm-examples
Incremental examples are difficult to come by, whether in a specific technology like Elm, or within a wider discipline like web development, so I am super pleased!