четверг, 25 февраля 2010 г.

Переход с Delphi 7 на Visual C# - Часть 1 (Аспекты)

Если вы имеете опыт программирования на Delphi 7 и не имеете на C#, то эта статья для вас. Лично мне переход дался не большой кровью, к тому времени я уже приобрел книгу "C# 2008 и платформа .NET 3.5 для профессионалов" (авторы Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон и Морган Скиннер). Очень замечательная книга, в ней описаны очень полезные примеры работы и .net framework.

И так. Для чего нужно переходить на C# и .net framework?

1.Лично для меня как для разработчика в первую очередь это удобство использования ранее написанных модулей - сборок. В Дельфи нам приходилось загружать библиотеки, находить адрес процедуры, если адрес был равен 0 - выдавали сообщение об ошибке. Далее нужно было библиотеку высвободить. Очень часто использование динамически загружаемых библиотек вызывает ошибки доступа к памяти (при определенных обстоятельствах). Но по большей части - это дело опыта.

В C# задачи выделения и освобождения памяти берет на себя исполняющяя среда. Нужно добавить ссылку (Reference) на нужную сборку (.dll файл) и можно использовать её классы. Указывать процедуры загрузки и выгрузки статичный сборок не надо.

Существует ещё и способ динамической загрузки сборок. Но в данный момент я его не рассматриваю.

2. Сборки называют избыточными, или самодостаточными - они содержат весь нужный код и не требуют наличие в реестре каких либо ключей. Это удобно при переносе сборок с одного компьютера на другой.

3. Среда NET предлагает очень понятные разъяснения возникающим ошибок процесса выполнения. В лице Visual Studio 2008 представляется возможность глубокого анализа состояния классов и переменных вашего кода на момент возникновения исключения.

Остальные преимущества для меня менее важны, теперь хотел бы рассказать о недостатках.

Первый недостаток который меня расстроил - скорость построения формы насыщенной компонентами. Если на форме много компонентов то после запуска приложения приходится ждать 1-3 секунды с учетом работы антивируса, который наверняка тоже тут причастен.

Второй недостаток - мало стандартных компонентов. Есть сторонние производители которые предлагают дополнительные компоненты - например Developers Express (www.DevExpress.com) которые стоят хороших денег. Компоненты ставятся инсталятором размер которого примерно 220МБ. Есть возможность попробовать компоненты бесплатно в течении 30 дней.

Третий недостаток прожорливость ОЗУ. Однако размеры самих *.exe файлов достаточно скромен.