F#
Hi all,
I just went over the list of lectures for this year's TectEd event in Israel and found a session about F#.
In trying to figure this out I googled for the term "F#" and got a link to Microsoft Research: http://research.microsoft.com/fsharp/fsharp.aspx
I remember visiting there in the last couple of years as an MVP. I still remember some of the craziest things that I have seen there (most are still under NDA). Most of the design that I have seen could have practical applications but it is obvious that the technology was the main issue here. On the other hand Microsoft Research got some of the best designs that Microsoft brought to the world sometimes developer misunderstand or even abuse.
This time I must admit that I found some confusing mix with F#.
Originally C# was created as a functional subset of C++, one that does not let developers write unreadably complex code. Now F# looks like it is taking the mathematical aspect of C\++. On the other way around C# takes the short and simple syntax of C\++ whereas F# uses something that looks like Basic or Pascal that has long lines and variables that are completely typeless.
See this for example: http://research.microsoft.com/fsharp/manual/getting-started.aspx
let x = 3 + (4 * 5)
let res = (if x = 23 then "correct" else "incorrect")
You can do the same with C++:
x = 3 + (4 * 5);
res = (x == 23 ? "correct" : "incorrect");
Are we not just going back to the mathematical C\++? That old forgotten language where everything is an expression and even " 1; " is a legal command... only we do that with VB syntax...
How about a language called C++# that does the same with C++ syntax?
Maybe I should add to my TechEd session about the .Net Parallel Extensions a sample code using F#.
Parallel F# has to be interesting to read, don't you think?
Asaf