Ну я пожалуй, выскажусь.
Когда я его впервые (а было это где - то год-два назад) увидел (точнее сказать немного за ним поработал), у меня сложилось отличное впечатление о среде разработки, но так как тогда у меня небыло свободного времяни с ним разбираться я его забросил. А разбираться, на мой взгляд там действительно есть над чем: весь язык, опять же на мой взгляд, очень сильно изменился, стал более строгим, а так же стал ещё больше похож на С++
, но что касается ольшинства нововведений, то они мне теперь очень и очень нравяться. Да забыл сказать, снова я вернулся к нему, из-за того что пришлось мне где-то месяц назад покупать лицензионный ВБ, но так как в своем, теперь родном, городе Екатеринбурге, 6-ой версии я не нашел, я решил всётаки купить VB.NET. И с тех пор начал в нем потихоньку разбираться, и очень многое из преобразований языка мне нравиться, а к некоторым вещам я привык дня за два:
1. Наконец то при объявлении переменных, конструкция вида
- Код: Выделить всё
Dim a, b, c as String
действительно объявит три переменные типа String, а не две вариантных и одну строку (да кстати, теперь в ВБ.НЕТ нет типа вариант, есть только Object, который и заменяет любой тип данных)
А такие строки
- Код: Выделить всё
Dim s as String = "Hi"
Dim a() as Integer = {1,2,3}
Сразу же определяют все переменные, и даже массивы (только для динамических)
Появились конструкции
- Код: Выделить всё
a+=3
...
a^=2
позволяющие производить операции с переменными, не указывая их, т.е. a+=3, значит тоже самое что и а = а+3...
2. Язык стал, скажем так, "более" объектно ориентирован и проявилось всё это в многих вещах:
Microsoft теперь не скрывает от нас, что любая форма это класс с событиями, и что можно хоть сколько создавать одинаковых или почти одинаковых (это при наследовании) форм, не загромождая лишним кодом программу
Наконец то (покрайне мере я был этому несказанно рад) можно перегружать функции и процедуры, т.е. создавать функции с одинаковыми именами, но с разными параметрами, и всё будет отлично работать.
У типа данных String появились методы, т.е. теперь ты, объявив переменную a as string, к примеру, можешь писать что-то типа такого:
a.Length(), т.е. вычислять длину строки
a.Concat(Str1, Str2, Str3), и производить конкатенацию
Да, по поводу конкатенации, в таком виде она выполняется значительно быстрей, чем a&= Str1 & Str2 & Str3.
Теперь, используя доступные классы из Framework'а, ты можешь выполнять практически любые действия, для работы своей программы.
3 Похожесть на С/С++: вообще я не считаю, что это страшно, даже наоборот, некоторые вещи ещё надо было бы позаимствовать, что возможно и было сделано в VB.NET 2003, Теперь нет такого понятия как Type, вместо неё Structure, в которую можно засунуть и методы и события, вообщем почти что класс, только она от класса отличается способом хранеия экземпляров данного класса/структуры. Теперь что бы выйти из функции, тебе можно просто вызвать:
Return "какое-нить значение"
и далее процедура или функция продолжаться не будут, выполнение программы перейдет к вызывающей процедуре, но пока ты можешь использовать и обычный способ, что на мой взгляд очень и очень хорошо.
Появилась структурированная обработка ошибок, но эту уже отдельная тема.
Теперь, что касаеться недостатков:
Сама IDE сжирает очень приличное количество ресурсов, у меня на П2 400, кое как шивелилась, благо сейчас за Athlonom 2600+ сижу.
Далее сами программы стала значительно меньше, но теперь тебе придеться таскать за собой ещё 20 МБ фрамеворка, что впринципе для меня не критично.
Но вообщем мне он, очень и очень нравиться.