Posted By: Charles | Oct 24th, 2007 @ 9:44 AM | 14,398 Views | 24 Comments

I recently got the chance to attend JAOO in Aarhus, Denmark. Besides learning a great amount about various approaches to solving hard problems that we all face as programmers (regardless of the stack we spend most of our time developing on), I got to meet so many interesting people from all walks of programmer life. What a great conference! For one thing, JAOO is not about specific products. It's not about one company's view of the world. It's not about one class of technologies or developer. It's not just about Java and LAMP or .NET and Windows...


Bob Martin
is the CEO and founder of Object Mentor. He's also an incredible speaker and very passionate about creating "clean", precise, beautiful code. You've seen him on C9 before.

Chad Fowler is CTO of InfoEther, Inc. Chad has been a software developer and manager for some of the world's largest corporations. He is co-founder of Ruby Central, Inc., the non-profit corporation responsible for the annual International Ruby and Rails Conferences, and is a leading contributor in the Ruby community. Clearly, Chad is a dynamic typing kind of guy.

I thought it would be fun to have a little debate centered around the theme of static versus dynamic typing, especially given how popular dynamic language are these days. It was my hope that at the end of the debate it would be made clear what the differences really are and why some prefer dynamic and others static typing. Of course, as developers, we use the right tool for the job, but it's fun to geek out on these types of discussions and we delve into many more related topics. 

Tune in and learn.

Media Downloads:
Rating:
0
0
Chadk
Chadk
excuse me - do you has a flavor?

They say that hieracy isnt how the world works. I dont think it could be further away from the truth.

Look at our social structure. The way we interact with each other.

How isnt this hieracy?

Johannes
Johannes
Johannes Hansen, Denmark
This is a very interesting video, I'm surprised it hasn't spawned more comments. I feel the 2 most important "unanswered" questions/issues raised were the "IDE" and the "ease of messing up your code" ones.

I agree that there seems to be a dynamic revolution going on right now and that it would be stupid not to follow the development of the dynamic languages closely. So static-type developers keep you minds open to this development.

Given the content of the videos I've seen so far from JAOO I'm very sorry I couldn't come to the conference. I'm definately gonna go next year. Can't wait! Smiley
Chadk
Chadk
excuse me - do you has a flavor?
Im also gonna be trying real hard to make it next year. Awesome it is.

Firstly, one point people rarely make when comparing static to dynamic typing is that sometimes problems are about classification. For example, lexical analysis and parsing work well with guards and union types found in OCAML, ML and Haskell; some programs fit naturally into a type system. Static, or otherwise, types matter, and if you get them wrong your program will break.


Secondly, I think much of the excitement around Ruby in particular, and dynamic languages in general, is due to the fact that many people equate dynamic languages with REPLs (Read Eval Print Loops). Those whose first encounter with a REPL was via a statically typed language such as ML are less likely to be head-over-heels in love with dynamically typed languages. Dynamic typing != immediate feedback. Static typing != C-like syntax.


REPL is the thing I miss most in VB.  Bring it back please, Microsoft.

I thought it was interesting how dismissive they were of LINQ and functional programming additions to C# 3.0, since they're highly touted around here.

staceyw
staceyw
Before C# there was darkness...
hmm.  Lets see, marginal Intellisense, marginal method signature guesses, no good IDE, (no windows dev?), slower, no compile time checks for many cases...  So why is it good again?

Charles, I am not a Ruby guy either (yet) and you asked a good question.  What kind of apps are being developed today with Ruby and shipping?  Windows apps, Server apps, web page scripting?  I mean I love PowerShell (and Ksh before), but I will not dev a Win app or srv app with it for all the reasons above.  Scripts and tying things together is nice.  Personally, I don't feel the static nature of c# is hard - I find the compiler helps me a great deal to find many classes of bugs very early in the cycle.  I have been through the VB variant type years ago and I don't want to go back to that.
Microsoft Communities