DEV Community

Discussion on: What would you like your first programming language to be (or have been)?

Collapse
 
evanoman profile image
Evan Oman • Edited

I started with C# which is a pretty solid choice (by my prof). I haven't touched it since but I think it did a good job introducing many of the important introductory topics (Types, Variables, Control Flow, Classes, Encapsulation, Inheritance, Polymorphism, etc).

If I were to choose a language to start with now it would have to be Scala (my favorite, go figure!). Scala is multi-paradigm (Object Oriented and Functional), has a strong static type system + type inference, and can generally be quite terse. All of these characteristics would allow students to start in the language doing simple things and then take on more and more complicated topics as time goes on, all while staying the in the same language.

I agree that the many ways to use Scala make it a bit complicated, but this same property makes it flexible enough to cover a wide swath of CS topics.