Студопедия
rus | ua | other

Home Random lecture






Совместная эволюция


Date: 2015-10-07; view: 414.


В прошлом Visual Basic и C# разрабатывались отдельными группами, что часто приводило к появлению каких-либо языковых средств в одном языке раньше, чем в другом. Например, в C# были автоматически реализуемые свойства (auto-implemented properties) и инициализаторы набора, которые отсутствовали в Visual Basic, а в Visual Ba­sic давно были такие возможности, как позднее связывание и необязательные параметры, которых не было в C#. Но, как только некое языковое средство появлялось в одном из этих языков, многие заказчики начинали просить добавить эквивалентную возможность и в другой язык.

В итоге в Microsoft решили объединить группы Visual Basic и C#, приняв на вооружение стратегию совместной эволюции. Цель очевидна — совместное развитие языков. Когда в одном из языков вводится новая значимая функциональность, она должна появиться и в другом. Это не значит, что каждая функция должна присутствовать в обоих языках и работать совершенно одинаково; на самом деле у каждого языка свой история, свой дух — все это важно сохранять. Таким образом, совместная эволюция подразумевает, что любая задача, которую нетрудно решить на одном из языков, должна так же легко решаться и на другом.

В .NET Framework 4 в обоих языках — Visual Basic и C# — сделаны гигантские шаги в этом направлении и в каждый язык добавлен ряд возможностей, уже присутствовавших в другом. Но совместная эволюция не завязана на одни прошлые достижения — это еще и стратегия будущих инноваций в этих языках. Ради этого в .NET Framework 4 введены новые мощные средства вроде Dynamic Language Runtime, Embed Interop Types и обобщенной вариантности (generic variance), поддержка которых была реализована в обоих языках одновременно, что позволит разработчикам на Visual Basic и C# задействовать все преимущества .NET Framework 4.


<== previous lecture | next lecture ==>
Basic 3-Or-Not.vhd | Неявное продолжение строки
lektsiopedia.org - 2013 год. | Page generation: 2.705 s.