"It's such a good idea, that it's slowly making its way into new programming languages like Perl 6, Fortress, Factor, Scala, and future versions of C++, C#, and VB.Net."
C# 3.0 and VB 9.0, which shipped about 5 months ago, have limited local type inference.
In other words you can type "var x = 5;" or "Dim x = 5" and Visual Studio/the compiler will know that's an integer. It is not late-bound (the derogatory term in .NET/Visual Basic for dynamic typing).
That combined with LINQ (including LINQ to XML, which is the easiest way of doing XML processing I have ever encountered) and closures (which are used to implement LINQ) puts it way ahead of Java as a language at the moment. There are obviously issues with .NET as a platform.
C# 3.0 and VB 9.0, which shipped about 5 months ago, have limited local type inference.
In other words you can type "var x = 5;" or "Dim x = 5" and Visual Studio/the compiler will know that's an integer. It is not late-bound (the derogatory term in .NET/Visual Basic for dynamic typing).
That combined with LINQ (including LINQ to XML, which is the easiest way of doing XML processing I have ever encountered) and closures (which are used to implement LINQ) puts it way ahead of Java as a language at the moment. There are obviously issues with .NET as a platform.