.NET Framework po raz szósty

Technologiczny wyścig pomiędzy wiodącymi platformami programistycznymi trwa nieustannie. Microsoft będzie chciał uzyskać przewagę nad konkurencją za sprawą .NET Framework 4.0.

Firma z Redmond chce zwiększyć swój udział w rynku nie tylko narzędzi programistycznych, ale także platform systemowych, agresywnie promując swój produkt wśród programistów i kierownictwa firm. Microsoft od przeszło 8 lat nieustannie rozwija .NET Framework, bardzo mocno zmieniając jego oblicze oraz wiodących, dedykowanych do niego języków, czyli C# oraz Visual Basic.NET. Dawno już minęły czasy, kiedy publikacje dotyczące C# zachwalały go ze względu na prostotę i ograniczoną liczbę możliwości w porównaniu z innym językami, jak na przykład C++. W założeniu miało to ułatwiać programistom opanowanie tej platformy, ale aby zyskiwać nowych klientów, trzeba nieustannie udoskonalać produkt, a to zawsze wiąże się ze zwiększaniem funkcjonalności. W związku z tym deweloperzy aktualnie pracujący z C# i .NET dysponują typami generycznymi, elementami języków deklaratywnych, funkcyjnych oraz innymi mechanizmami.

Programowanie równoległe

Microsoft, tworząc .NET Framework 4.0, musiał się dużo bardziej postarać niż w przypadku jego poprzedników, czyli wersji 3.0 i 3.5. Po dokładniejszym przyjrzeniu się im, dostrzegało się, że tak naprawdę dostarczały one głównie nowych bibliotek oraz rozszerzały składnię języków, cały czas bazując na wersji 2.0. Fundament pozostawał bez zmian. Razem z najnowszym wydaniem .NET Framework zmiany musiały pójść znacznie dalej, niż to miało miejsce dla wersji 3.x - Microsoft musiał zaoferować coś więcej. Jedną z tych zmian jest ułatwienie programowania równoległego. Postęp w dziedzinie wytwarzania procesorów wielordzeniowych i ich powszechność sprawiły, że znacznie zwiększyło się zapotrzebowanie na kod, który potrafi wykorzystać potencjał drzemiący w najnowszym sprzęcie. Potrzeba w tej dziedzinie wymusiła na producentach opracowanie coraz lepszych narzędzi dla programistów aplikacji równoległych. Samo wsparcie dla OpenMP w Visual C++ już nie wystarczało i niezbędne były nowe elementy wprowadzone do najważniejszych języków platformy. Firma z Redmond nie mogła pozostać w tyle i wprowadziła PLINQ, czyli Parallel LINQ oraz odpowiednie rozszerzenia w języku i bibliotece standardowej.

Zbiór publicznych typów i API, który ma służyć programowaniu równoległemu, jest określany jako TPL, czyli Task Parallel Library. Należy on do przestrzeni nazw System.Threading oraz System.Threading.Tasks. TPL ma dynamicznie skalować operacje, aby efektywnie wykorzystać dostępne w systemie procesory. Oprócz tego, zapewnia on też podział pracy, harmonogramowanie zadań w puli wątków (ThreadPool), anulowanie operacji oraz zarządzanie stanem. Za pomocą TPL, można zrównoleglić kod, korzystając z równoległości danych lub równoległości operacji. Natomiast PLINQ, czyli równoległa implementacja LINQ to Objects implementuje pełen zestaw standardowych operatorów zapytań LINQ oraz wprowadza dodatkowe operatory dla operacji równoległych.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200