

Are Dynamic Languages Going to Replace Static Languages?
source link: https://www.artima.com/weblogs/viewpost.jsp?thread=4639
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Are Dynamic Languages Going to Replace Static Languages?
Sponsored Link •
Are Dynamic Languages Going to Replace Static Languages?
by Robert C. Martin
April 26, 2003
Summary
For many years we've been using statically typed languages for the safety they offer. But now, as we all gradually adopt Test Driven Development, are we going to find that safety redundant? Will we therefore decide that the flexibility of dynamically typed languages is desirable?
I've been a statically typed bigot for quite a few years. I learned my lesson the hard way while using C. Too many systems crashed in the field due to silly typing errors. When C++ came out, I was an avid adopter, and rabid enforcer of strong typing. I scoffed at the smalltalkers who whined about the loss of flexibility. Safety, after all, was far more important than flexibility -- and besides, we can keep our software flexible AND statically typed, if we just follow good dependency management principles.
Four years ago I got involved with Extreme Programming. I liked the pragmatic emphasis it placed upon developing software. I also liked the emphasis it put on testing. Since then I have become test infected. I can no longer concieve of writing software without using test driven development. I can't imagine not having a comprehensive suite of unit tests to back up my development.
About two years ago I noticed something. I was depending less and less on the type system for safety. My unit tests were preventing me from making type errors. The more I depended upon the unit tests, the less I depended upon the type safety of Java or C++ (my languages of choice).
I thought an experiment was in order. So I tried writing some applications in Python, and then Ruby (well known dynamically typed languages). I was not entirely surprised when I found that type issues simply never arose. My unit tests kept my code on the straight and narrow. I simply didn't need the static type checking that I had depended upon for so many years.
I also realized that the flexibility of dynamically typed langauges makes writing code significantly easier. Modules are easier to write, and easier to change. There are no build time issues at all. Life in a dynamically typed world is fundamentally simpler.
Now I am back programming in Java because the projects I'm working on call for it. But I can't deny that I feel the tug of the dynamically typed languages. I wish I was programming in Ruby or Python, or even Smalltalk.
Does anybody else feel like this? As more and more people adopt test driven development (something I consider to be inevitable) will they feel the same way I do. Will we all be programming in a dynamically typed language in 2010?
Talk Back!
Have an opinion?
Readers have already posted
84 comments about this weblog entry. Why not
RSS Feed
If you'd like to be notified whenever Robert C. Martin adds a new entry to his weblog, subscribe to his RSS feed.
About the Blogger
Robert C. Martin (Uncle Bob) has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, OO, Patterns, UML, Agile Methodologies, and Extreme Programming. In 1995 Robert authored the best-selling book: Designing Object Oriented C++ Applications using the Booch Method, published by Prentice Hall. From 1996 to 1999 he was the editor-in-chief of the C++ Report. In 1997 he was chief editor of the book: Pattern Languages of Program Design 3, published by Addison Wesley. In 1999 he was the editor of "More C++ Gems" published by Cambridge Press. He is co-author, with James Newkirk, of "XP in Practice", Addision Wesley, 2001. In 2002 he wrote the long awaited "Agile Software Development: Principles, Patterns, and Practices", Prentice Hall, 2002. He has published many dozens of articles in various trade journals, and is a regular speaker at
international conferences and trade shows.
Web Artima.com
Recommend
-
6
Are machines going to replace programmers? Or how software creates other software I started doing some home baking recently. It started, like with a lot of other people, during the pandemic lockdown per...
-
9
Dynamic and Static Programming Languages and Teaching Wed, Sep 29, 2010Lately I’ve seen the sentiment, “Why do all teachers need to prepare their own lesson plans” in a few different places, and it strikes me as representative...
-
8
Static v. dynamic languages literature reviewStatic v. dynamic languages literature review There are some pretty strong statements about types floating around out there. The claims range from the oft-repeated phrase tha...
-
12
0:00 / 13:26 ...
-
5
✏️ Edit Show NotesIn this episode of Syntax, Scott and Wes talk about web dev GUIs — what are they, are they going to replace developers, are they good or bad,...
-
3
README.md Code2flow generates
-
12
Why Static Languages Suffer From Complexity People in the programming language design community stri...
-
7
How dynamic languages efficiently handle data types Dynamically typed languages provide near complete freedom with the type of data we choose to store in a variable, pass to a function call or return to a caller. While some languages...
-
0
TikTok has absolutely taken the world by storm since 2020. And it’s not just for the kids — with over 1 billion users, it’s popular across all demographics. User behavior on TikTok has been evolving as its popularity grows. We’ve seen th...
-
7
Dr. David J. PearceProgramming Languages Going Above and BeyondTuesday, June 27th, 2023Having been a programmer for a long time now, I have experienced my fair share of programming l...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK