В пятницу скачал и установил на ноутбуке Visual Studio 2005 .NET, чисто попробовать. Должен сказать - я был в восторге. Столько всего очень удобного появилось, в том числе и улучшенный преобразователь кода из VB6.
Очень понравилось, что даже во время разработки (режим Design) среда указывает на большую часть ошибок (VB6 указывал только на синтаксические ошибки).
А также понравилось:
  • Добавили перегрузку функций, то есть возможность создавать несколько функций с одинаковым именем, но разными аргументами. В зависимости от списка аргументов при вызове функции, среда автоматически вызывает нужную.
  • Среда теперь указывает не только на ошибки, но и на недочеты - например: 1) Объявление неиспользуемой переменной, 2) Внутри функции наличие ветви алгоритма, при которой функция ничего не возвращает
  • Появилось окно задач - как бы простой органайзер программиста, в котором можно составлять список того, что нужно сделать
  • В том же окне задач есть еще список особых комментариев. Теперь он собирает все комментарии, содержащие особое ключевое слово, со всего кода, и выводит их в списке
  • Если переименовать переменную в строке ее объявления, среда любезно предлагает также переименовать ее во всем остальном коде
  • Раньше точки останова были простыми - выполнение программы приостанавливалось как только оно доходило до этой точки. Теперь же в точку останова можно задать дополнительные параметры - останавливать только при определенном условии, останавливать через определенное количество проходов программы через эту точку, и так далее...
  • Переменные одного типа теперь можно объявлять вместе, то есть вместо Dim i as Integer, i2 as Integer, i3 as Integer можно писать Dim i, i2, i3 as Integer
  • Наконец-то добавили возможность в классах создавать массивы с фиксированной длиной
  • Убрали Default Property. И правильно сделали
  • По-моему, моя игра стала работать значительно быстрее...
А то мега-выражение, о котором я писал в предыдущей записи, оказывается, можно сократить с помощью алиасов. Так что я теперь вместо Microsoft.DirectX.Direct3D.Matrix.Multiply пишу D3D.Matrix.Multiply, Microsoft.Windows.System.Forms.Form.ActiveForm вообще пропускаю, ну и так далее
Программирование теперь стало напоминать квест - отыскать среди вышеприведенных структур нужную функцию ).

Правда, есть и несколько странностей, например - зачем-то Integer переименовали в Short, а Long - в Integer...