|
Microsoft announced Visual Studio 2008 and .NET Framework 3.5 will be released at the end of this month. From the beta releases (we have beta 2 now) and .NET 3.0 we saw so many improvements on framework and languages. From now on, we become capable to use Domain Specific Languages (DSLs) like LINQ and we can focus on the domain of the problem space. And we can do Domain Driven Design (DDD) in language level.
|
|
DDD is still one of the hardest design issues in many languages and development disciplines, but LINQ is a really nice approach to that problem. So languages are evolving into higher level. But what is next step for languages? In .NET environment or any other frameworks it is still very difficult to parallelize applications. Few programmers, seniors can write multi-threaded code and very few of them really enough capable to debug. In somehow, the operation theory is totally different than human brain. As commonly known our hardware, computers are ready for those programs for couple of years. Dual core, multi-core processors stand in our laptops, PCs for years. As Aaron Coday from Intel mentioned in Istanbul Bilisim Kongresi 2007, “Software should fallow and support hardware”. Thoughts from the development zone are almost the same. Bill Gates announced in MVP Global Summit 2007, “…..take multiple processors and use them in parallel has been a programming challenge going back many, many decades, so now it's important that we actually solve that problem, and make it possible for developers of all types to take advantage of these multi-core devices….”
So, in my opinion; first step of language evaluation will be in multi-core application development and may be the second one multi-computer (computing-grid) . The name of the first step and opportunities on it are ready : Parallel LINQ or PLINQ.