Compilers as Teachers
ferrous-systems.com
ferrous-systems.com
- [1] back in 2015 Elm puts out a blog post titled Compiler Errors for Humans
- [2] then another, Compilers as assistants
- [3] then in 2016 Rust announces they'll borrow from Elm for error messages
Really great that the students were able to see how much the Rust community cares about error message quality.
1. https://elm-lang.org/news/compiler-errors-for-humans
2. https://elm-lang.org/news/compilers-as-assistants
3. https://blog.rust-lang.org/2016/08/10/Shape-of-errors-to-com...
https://static.barik.net/barik/publications/icse2017/PID4655...
I first started dabbling in C programming because I was coming across (open source) software that did everything I wanted save for one or two small problems, and I wanted to make changes. I'd only worked with higher-level languages in the past, and so I quickly discovered that I had no idea what to do with pointers. I understood what they were, conceptually, but not when or why to use them within these large existing codebases.
So, um, I basically just started doing whatever the compiler said to. When I used the wrong symbol for a variable, the IDE displayed a warning, and I'd cycle through the possibilities (foo, *foo, &foo, **foo, etc) until the warning went away. Somewhat to my own surprise, this strategy absolutely worked—I can't recall a time when it led to a problem.
...and I'm not sure that's a good thing. It was certainly helpful, but I didn't learn anything.