C# 4.0 - A peek into the future

By mOrPhie on Tuesday 15 July 2008 09:48
Category: programming, Views: 2565

Now that C# 3.0 and .NET 3.5 are out, Microsoft is planning the next versions already. One of them is C# 4.0. Channel9 has a nice video, where the C# design team is introduced and talks about what we can expect with the next version of C#. Click to watch (silverlight/moonlight needed).

Highlights:
  • Concurrency - Today we have processors with 4 cores. Within a year we'll have 8 or 16 cores. In the future we might have 256 cores or even more. Our software isn't ready for that. Microsoft already introduced us to the Parallel Framework which will extend the existing System.Threading model. But the C# team is going to include some changes too. Not to include a threading system, but to enable threading teams to create better API's. One of the things they talked about is "Method Purity", which means that a method does not access or modify anything but local variables for example. This makes threading easier since pure methods can run on its own. For this we'll get immutability supports, which is more than just lock an object entirely, but providing ways to identify something as immutable, even if some values can be adjusted, for example.
  • Dynamic support - With the DLR and IronPython .NET was introduced to the dynamic world. But interoperability between static and dynamic languages isn't at a level Microsoft wants it to be. For this, C# will get features to cope with dynamic languages. C# won't become a dynamic language, but since the new .NET framework will get notion of a dynamic dispatch, static and dynamic .NET can coexists in C# 4.0.
There is some more stuff, but those two will most likely become the topics of debate. ;) To get more details, watch the video.

Volgende: iPhone developers hate the "Fucking NDA"! 07-08
Volgende: Microsoft DevDays 2008 - An overview 26-05

Comments


By T.net user Cloud, Tuesday 15 July 2008 12:25

Cool, ben benieuwd. Zal vanavond die video eens kijken :)


By T.net user Exiss, Tuesday 15 July 2008 22:21

C# moet haast wel DLR gaan ondersteunen willen ze ook "voorblijven" op talen als ruby en python die momenteel rap terrein winnen (Vooral op PHP dat wel). JAVA heeft tegenwoordig al moeite genoeg om bij te blijven bij .NET en het tempo waarin de .NET community onder andere met ALT.NET zich aan het professionaliseren en verbeteren is, zorgt ervoor dat .NET nog vele malen gevaarlijker wordt voor de concurrentie.

Standaard ondersteuning voor multi processoren is natuurlijk helemaal geweldig :) PLINQ is hier al goed voor op de weg. Ik ben zeer benieuwd wat het brengt, maar het is tegenwoordig verdomd lastig om bij te blijven op .NET gebied!

By T.net user mOrPhie, Wednesday 16 July 2008 12:19

Standaard ondersteuning voor multi processoren is natuurlijk helemaal geweldig :) PLINQ is hier al goed voor op de weg.
PLINQ is onderdeel van het Parallel Framework (Parallel FX voorheen) waar ik naar refereer. Het zorgt ervoor dat je een IEnumerable of een IQueryable als "AsParallel" kunt opvragen, waardoor iteraties in Tasks (ITask) worden opgedeeld en het maximaal aantal threads onafhankelijk de Tasks verwerken. PLINQ besteedt het werk dus uit aan het threading model van Parallel Framework. :)

By T.net user Exiss, Wednesday 16 July 2008 15:29

Ah ja, ik heb het kort gevolgd. Toen was het nog min of meer een apart project(je), wist niet dat tegenwoordig in het Parallel framework zat. Weer wat bijgeleerd :P

Comment form
(required)
(required, but will not be displayed)
(optional)

Please enter the characters you see in the image below: