Mark Lewis
1 min readJun 22, 2020

--

I actually think that all the people teaching Python and other dynamic programming languages early are doing a disservice to their students. I also think it does a disservice to the industry in that we tend not to look to tools that help us make correct software. We look to tools that let us slap things together quickly and we cross our fingers hoping they will last long enough to turn a profit.

Keep in mind here that I’m also talking about the introductory language specifically. In no way am I saying there should be one perfect language and everyone should learn that. I’m recognizing that students need to learn multiple languages. Which languages put them in the best position to do that? I don’t think it is Python. I think JavaScript qualifies even less. I really do believe that starting with a statically typed language with a regular syntax and things like block scope help lay a foundation for future learning. It is easy to pick up Python after learning one of those languages, much easier than going the other way around.

As for adding other languages, Kotlin probably qualifies as well. Swift might too. If someone wants a systems language, then Rust might be a good tool. I simply have more experience with Scala than with any of those others, hence I pull my examples from Scala.

--

--

Mark Lewis
Mark Lewis

Written by Mark Lewis

Computer Science Professor, Planetary Rings Simulator, Scala Zealot

Responses (1)