PDC 05에서 C# 3.0에 대한 발표가 예정되어있는 가운데, 흥미로운 paper가 있더군요. C# 3.0에는 type inference, contract, lazy evaluation이 들어갈지도 모를 일입니다.
Static typing is a powerful tool to help programmers express their assumptions about the problem they are trying to solve and allows them to write more concise and correct code. Dealing with uncertain assumptions, dynamism and (unexpected) change is becoming increasingly important in a loosely couple distributed world. Instead of hammering on the differences between dynamically and statically typed languages, we should instead strive for a peaceful integration of static and dynamic aspect in the same language. Static typing where possible, dynamic typing when needed!
Static Typing Where Possible, Dynamic Typing When Needed (pdf)