dwyl / learn-elm

:rainbow: discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
https://github.com/dwyl/learn-elm
485 stars 43 forks source link

Incremental Elm Examples #92

Open YvesMuyaBenda opened 7 years ago

YvesMuyaBenda commented 7 years ago

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!

newswim commented 7 years ago

Wow, this is great!!

YvesMuyaBenda commented 7 years ago

@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!

newswim commented 7 years ago

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.

YvesMuyaBenda commented 7 years ago

@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.

newswim commented 7 years ago

Something similarly structured, for Go-lang (https://gobyexample.com)

YvesMuyaBenda commented 7 years ago

@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/.

newswim commented 7 years ago

That's a great point! ElixirSchool is a great model for what a project like that might look like.