Вице президент Microsoft Developer Division S. Somasegar анонсировал новый функциональный язык, созданный в недрах Microsoft Research.
Soma[segar] говорит:
"One of the important themes in programming languages over recent years has been a move to embrace ideas from functional programming."
И мы видим это на примере C#. Последние изменения в C# пришли именно из области функционального программирования (анонимные делегаты, лямбда выражения, LINQ). Joe Daffy говорит о том что F# упростит построение параллельных программ.
Похоже MS всерьез повернулась лицом к функциональному программированию:
"This is one of the best things that has happened at Microsoft ever since we created Microsoft Research over 15 years ago." (Somasegar)
И основная причина тому - необходимость адекватного ответа в области средств разработки на вызов со стороны производителей железа в виде многоядерных процессоров.
F# это полностью CLR совместимый язык, и его поддержка будет включена в Visual Studio. В принципе можно уже пробовать
А пока несколько code snippets на F#:
let task1 = async { return 10+10 }
let task2 = async { return 20+20 }
Async.Run (Async.Parallel [ task1; task2 ])
.....
let AsyncHttp(url:string) =
async {// Create the web request object
let req = WebRequest.Create(url)
// Get the response, asynchronously
let! rsp = req.GetResponseAsync()
// Grab the response stream and a reader. Clean up when we're done
use stream = rsp.GetResponseStream()
use reader = new System.IO.StreamReader(stream)
// synchronous read-to-end
return reader.ReadToEnd() }
...
Async.Run
(Async.Parallel [ AsyncHttp "http://www.live.com";
AsyncHttp "http://www.google.com";
AsyncHttp "http://maps.live.com";
AsyncHttp "http://maps.google.com"; ])
Выглядит интересно.
Комментариев нет:
Отправить комментарий