Contents tagged with .NET
-
Visual Studio 2010 and .NET Framework Beta 2 available on Wednesday
This blog has been abandoned for the longest time :-$ but I’ve got great news to try and re-inaugurate it (again): it’s just been announced that beta 2 for Visual Studio 2010 and .NET Framework 4 will be available the day after tomorrow, i.e. on October 21st; moreover, we now have a firm date for the launch of the final versions of these products: March 22nd 2010. There is a lot of cool stuff in the new versions of Visual Studio and .NET Framework but my personal favorites (at least for the time being :-) are:
-
Cloning objects in .NET
In an interesting project where I'm giving a hand, we need to clone objects of a number of different types, perhaps surprisingly the CLR doesn't offer a general cloning method, of course you could use MemberwiseClone() but this is a protected method, so it can be invoked only from inside the class of the object being cloned, which makes it difficult to use it in a general method, besides, MemberWiseClone() does just a shallow copy and what we really need is a deep copy.
-
Eight Silverlight training sessions
A little bit of cross-posting but I find this interesting enough as not to risk you miss it...
-
Tuples: an F# lightweight data structure
Maybe the best thing to do is to start by showing a few examples of tuples:
-
F# doesn't need parenthesis in functions, or does it?
In a previous posting I mentioned that when you define a function in F# you don't need parenthesis surrounding the parameters, or commas separating them. So, this simple definitions are all valid:
-
ParallelFX: multi-processing extensions for .NET Framework
It is interesting how new solutions bring new problems: when Intel noticed that Moore's Law was loosing steam, it had to look for a new way of producing ever more powerful computers ¿their solution? Put more CPU's on every chip (the famous multi-core), they started shyly (2 with Core Duo) then they got up to speed (4, 8 CPU's) and now nobody's laughing when someone says that in 10 years home computers will have 32 or 64 CPU's.
-
F# basic function definition syntax
In the comments to this post, Anon and Josh complain about the syntax of F#. On one hand, they've got a point: most programmers are used to notations similar to those of Visual Basic, C# or Java, and for them many of the syntactic details of F# will look weird (or just plainly annoying ;-) ). On the other hand, it's not the case -as Josh suggests- that Microsoft is creating a new language with a purposedly cryptic syntax :-D; actually, F# was designed to follow as much as possible the syntax -and semantics- of OCaml (1996), a popular language in the functional world. OCaml in turn basically offers object-oriented extensions to Caml (1985), which inherits most of its syntax -and semantics- from ML (circa 1973). So, as much as I would like to say that Microsoft has created a whole new language, its more like it is moving the spotlight to a tradition as old (LISP anyone?) as imperative languages themselves, by providing an implementation nicely integrated into .NET Framework.
-
Another new version of the F# compiler (1.9.2.7 and counting...)
-
Python 2.5.1 and IronPython 1.1 released
-
Programming in .NET military style
It seems like the .NET platform happened to be a nice innovation test bed. Mary Jo Foley talks about the “Sharps”, the growing cloud of experimental programming languages (A#, Cocoa#, F#, Gtk#, J#, Sing#, Spec#, X#) that range from data oriented (X# or C Omega) to functional programming (F#, my favorite) to operating system construction (Sing#). What all this has to do with the title? Some thirty years ago, the American army figured that its contractors were using too many programming languages (well over 400) so they had a real Tower of Babel. What to do? Well, in pure military fashion they formed a committee to choose the best programming language, the committee decided that no existing programming language deserved the label so that, in order to eliminate the excess of programming languages in use, they decided to create another one: Ada. Ada saw the light in 1980 and, for a while, the Department of Defense tried to force its contractors to use nothing but Ada, in the end they had to abandon the rule, even though the initiative did give fruit: from over 400 languages used they went down to less than 40, nice try indeed. What does all this have to do with .NET? Well, one of the "sharps", A#, is an implementation of Ada in .NET and, to be honest, this is not even news, A# has been alive since 2004 and its latest version (June 2006) works only on .NET 2.0. So if you feel like programming in .NET military style, you can use A# (as for me, I have my hands full with C# and F#).