Teach Rust! Do NOT Teach C!Written on September 16th, 2020 by Raniere Silva
In March 2020, I enrolled in a Master in Computer Science and all students must attend the “Analysis of Algorithms” course. This “Analysis of Algorithms” course has a few projects and the first project is to implement a trie, also called digital tree or prefix tree, in C.
Students’ experience with C varies and the project throw the students under the bus! For students without previous contact with project organisation, documentation, testing and other software programming practices, use C for this project might re-inforce unsustainable software development.
I was reading the official Rust Getting started page and the “Hello, world!” mentions everything necessary for a new user:
- how to make a new project?
cargo new hello-rust
- how to keep metadata for the project?
- how to keep dependencies for the project?
- how to compile the source code?
- how to run the project?
- how to run the project’s test?
- how to build the project’s documentation?
For C, we don’t have a official “Getting started” page so we will get the first result from Google.
ev3dev’s Getting Started with C
is fabulous because it mentions
it helps towards the project sustainability.
it doesn’t cover metadata, dependencies, tests, and documentation.
Other introductions to C,
for example Wikibooks’ C Programming/Intro exercise
doesn’t even mention
Next time, consider require students to use a programming language that has a lower bar to new users regarding sustainability!