З нового, що відразу помітно:
- мова F# встановлена за умовчанням (відразу з’явилося бажання вивчати функціональне програмування), що не може не радувати;
- нова .NET Framework 4.0 (так як шарпові мови цікавлять мало про нововведення тут);
- можливіть вибору версії .NET Framework під час створення проекту;
- у діалоговому вікні створення проекту є пункт Online Templates, де знаходяться декілька досить цікавих шаблонів;
- покращений редактор коду;
- додали Extension Manager зі зручним інтерфейсом доступу до додатків, їхнім встановленням і керуванням (є досить цікаві і надія що будуть досить зручні додатки для доступу до систем контролю версій)
- додали Parallel Patterns Library (PPL). Річ досить цікава, але як я зрозумів не кросплатформена (але ж Microsoft це ніколи не хвилювало), тому доведеться використовувати OpenMP покищо (omp.h наявний). Ще були додані Asynchronous Agents Library, Work scheduler і Resource manager, але їх я ще не вивчав. Досить зручно використовувати для розпаралелювання циклів(Concurrency::paparallel_for_each, Concurrency::paparallel_for):
#include <ppl.h>
#include <array>
#include <iostream>
template<class Ty>
void square_function(Ty& n)
{
n *= n;
}
int main(int argc, char* argv[])
{
std::tr1::array<int, 5> values = { 1, 2, 3, 4, 5 };
Concurrency::paparallel_for_each(values.begin(), values.end(), &square_function<int>);
return 0;
} - додані нові C++ фічі (Lambda functions, Transporting exceptions, Rvalue references, auto keyword, decltype keyword).
UPD1 02.06.2009