Design a site like this with
Get started

Rust as a first programming language

Someone suggested to me that Rust is a good first programming language for beginners.

As a first programming language, Rust is wholly unsuitable. First of all, it’s a rather large and complex language compared to something like Python or Smalltalk.

The ownership and borrowing feature will be tough for newbies to wrap their heads around.

Second, newbies don’t need to concern themselves with runtime performance. They should focus on basic programming concepts and methodologies.

Moreover, performance is not a critical factor for many, many classes of applications. That’s why Python, Java and JavaScript remain immensely popular languages.

Third, the most popular programming methodology in the IT industry is, by far, object-oriented programming (or OOP). Without solid OOP knowledge, your professional options will be relatively limited.

The best way to learn OOP is with the Smalltalk programming language. It is the epitome of OOP and no other OOP language can compare with it. Languages such as Python, Java and C++ do a disservice to OOP.

Fourth, the employment opportunities for Rust developers are still fairly limited. At Indeed, for example, there are around 1,500 job postings for Rust, while for Python and Java, there are 90,000 and 60,000 respectively.

You will have much more difficulty finding employment as a Rust programmer. You will be competing with Rust experts for a limited number of positions.

Fifth, concurrency is an oversold feature. The practical reality is that most application classes do not make use of concurrency. In fact, most programmers don’t even know how to do concurrent programming, which is quite tricky.

Sixth, I’ve never seen any literature that says Rust is a good first programming language for newbies. I challenge you to cite such literature.

The Stack Overflow surveys show that Rust is a Most Loved and Most Wanted programming language, not that it’s at all suitable for beginners.

I want to be perfectly clear. I think Rust is a terrific language, especially in certain problem domains, but I would not recommend it to newbies. I always recommend Smalltalk, a wonderful language with a plethora of qualities:

  • the reason for Smalltalk’s supreme productivity is its live programming environment. No other language does live programming like Smalltalk can. Code and data can be altered during runtime, greatly enhancing debugging. And it’s all done graphically!

With Smalltalk as a solid foundation, the rest of the programming world is much more easily accessible. Other OOP languages come into better focus. Have a deeper understanding of computing. Appreciate the value of live programming. Know what real scalability means. Become a better programmer. And have a lot more fun doing it.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: