re: Why learn... a statically typed language? VIEW POST

FULL DISCUSSION
 

Static typing still rules in many parts of the industry. It was interesting to see an article advocating for static typing vs one advocating for dynamic typing (which is what I've seen more often).

I believe the world is moving towards a major change. In the past all introductory languages in most universities was statically typed (with the honorable exception of MIT and friends that went the Scheme/Racket first route). Most universities used languages such as Pascal, then C/C++, then Java or even C# (others include Ada even). So a great amount of developers learned this first and it was part of their natural thought process.

However, these days for the first time many many developers are learning Python as their first language, then using other dynamic languages like Javascript so contact with static typing is a bit more limited.

I seriously wonder what the long term effect of that will be. Are we looking at a future where dynamic typing becomes a new norm? (as this generation begins to have more powers to decide?)

I don't really know but its an interesting question. Smalltalkers and Lispers of the past had often argued that static typing was limiting and too verbose. Most of the industry disagreed. But lets see where we go in the years to come.

 

Oddly enough, I think that we're seeing more of a return to static typing at the moment. The best evidence I have for this is the turn that's happened in the last few years from Ruby towards Rust / Go.

A few years back the Ruby community was flooded with Java developers 'escaping' to a simpler world. And it was simpler and more powerful - Ruby's reflection and type coercion makes a lot of dumb tasks a lot quicker. And you never have to compile it! What could be better?

Fast forward a few years and now all those Ruby developers are 'escaping' to Go (and Rust). All the benefits of static typing that they've been missing in Ruby are available, but now the compiler is fast and the tooling is amazing.

I think the future is going to be languages with ways of checking correctness built in, and explicit typing (and type checking) is going to be a part of that. But who knows.

 

I think the folks that start off with dynamically typed languages will likely naturally come upon on the need for a type system as they try to more carefully design their production systems. This has been my experience.

I think the dynamic languages are simply a better introduction to programming because they subtract a layer of complexity and allow you to focus on the basics.

code of conduct - report abuse