In highschool common languages to be taught are Python and Java, and that is understandable to a certain point.
Python has been increasingly in demand, and has found itself in various fields, however is it wise for either it or
Java to be a first language? For those who aren't aware I am quite found of the Rust programming langauge and have it
circulate through my whole projects, and to discuss it's place in a public education standpoint requires views on
both sides of the table.
Python is easier to read
Even if I am fond of Rust, I cannot deny that Python is as readable as languages can be,
and other students won't share the same view on it as I. Python is a good choice for beginners
to gain confidence in programming, however it does not teach great at things like static typing,
compiling, or the fact that OOP isn't commonly touched. However this is why Python is taught
in Grade 10, so it provides a confidence boost for the two other years in which Java takes over, and
sets us up for the next point...
Java or Rust?
Java is a nuisance to write with it's long type structure, and is actively being replaced by Kotlin
in fields such as Android development. It is used to introduce students to static typing, object oriented programming,
however if those are the important factors then Rust is a viable option right? Rust can teach students about borrowing
and memory safety, it has a great community, and lastly systems programming is a good learn overall.
Here's the current problem with our plan:
- Rust is new, so CS teachers will also need to learn it
- There's already a curriculum built for Python and Java
- It's strict memory safety may cause students problem
Here's the pros for teaching it:
- Learning Rust can help students be better overall
- Cargo allows students to easily share their projects
- Web servers using fraemworks like Actix can be Culminatings
- Rust allows students to play around with a new modern language
- Informative compiler helps students when stuck
- Lastly it's not Java
With all jokes aside, I strongly believe that Rust can be a viable option to teach in Highschool ICS.
For this to work factors such as Rust's popularity, prospect and curriculum are to be considered.
I stil do think that in due time it can be seen, however on my end I will try to make as much resources
for Rust, as one of the sources of the already multitude of resources available.