Чтение онлайн

на главную - закладки

Жанры

Программирование на Visual C++. Архив рассылки

Jenter Алекс

Шрифт:
 mailto:jenter@mail.ru Красноярск, 2000.

Программирование на Visual C++

Выпуск №8 от 08/07/2000

Здравствуйте!

НОВОСТИ
Что дядя Билли нам готовит, или Visual Studio Next Generation

Многие из вас наверняка гадали – а что дальше? Какой он будет, новый Visual C++? Какие планы на этот счет у Microsoft? Ну что ж, сейчас завеса тайны более-менее

приоткрылась, и можно уже о чем-то говорить.

Прежде всего следует заметить, что Visual Studio 7.0 будет больше ориентирована на разработку Web-приложений. Дело в том, что Microsoft недавно представила свою новую платформу .NET (читается "dot net"), предназначенную для еще большей интеграции интернета в операционную систему. Уже следующая ОС Windows, пока известная под кодовым названием Whistler и ожидаемая только к 2001 году, будет основана на этой платформе. Новая версия Visual Studio должна значительно упростить разработку программ для интернета.

На конференции VC-разработчиков фирмой Microsoft были заявлены основные планируемые изменения и улучшения, которые коснутся Visual C++. Итак, стало известно следующее:

1) Планируется ввести унифицированную среду разработчика (IDE) – теперь VC и VB будут одной средой. Хорошо это или плохо, покажет только время. Я не берусь сейчас давать оценку этому нововведению, потому что очень много будет зависеть от того, как именно это будет реализовано. Из плюсов такого подхода следует отметить то, что теперь независимо от того, на каком языке вы собираетесь программировать, вам нужно освоить только одну среду, а если в будущем вам придется воспользоваться другим языком, изучать другую IDE будет уже не нужно. Тем более это актуально, если вы планируете использовать оба языка. 

2) Следующий релиз vs будет включать в себя технологию, называемую "ATL-сервер". Эта технология предложит набор классов-расширений для Active Template Library (ATL) и будет обеспечивать доступ ко всем функциям Internet Information Server (IIS). Microsoft полагает, что это значительно упростит и ускорит процесс создания масштабируемых Web-приложений.

3) Расширение для языка – "attributed programming" – (Я бы перевел как "описательное программирование", программирование за счет свойств). Оно призвано уменьшить объем кода, который программисты должны писать для создания COM+ компонентов. Свойства инкапсулируют доменные понятия (такие, как Data, COM, Web Services) в простые объявления, которые вставляются прямо в исходный код. Эти объявления предоставляют компилятору Visual C++ всю необходимую контекстную информацию, что раньше требовало сотни строк кода. 

Следует также отметить, что все новые продукты Microsoft, спроектированные для платформы .NET, будут иметь расширенную поддержку XML. 

И, наконец, самое интересное. Microsoft анонсирует новый язык программирования, который будет называться "C#" (читается как "C sharp". Мы, кстати, уже обсуждали связь знака "#" со словом sharp в выпуске №6).

C# — это новый объектно-ориентированный язык программирования, который позволит разработчикам быстро создавать

широкий диапазон приложений для новой платформы .NET.

Новый язык будет конкурировать скорее с Java, чем с C++. Естественно, Microsoft совершенно не устраивает Java, прежде всего потому, что Java – это детище Sun Microsystems. Еще одна причина создать альтернативу Java – патологически малая производительность последнего, большей частью обусловленная его мультиплатформенностью. Как и Java, новый язык будет основан на C++. В C# будет встроена поддержка COM и XML, причем последний будет стандартным форматом структурированных данных для посылки через интернет.

В C# любой объект – это COM-объект. Разработчикам больше не придется явно реализовывать IUnknown и другие COM-интерфейсы. Программы на C# также смогут легко использовать любой COM-объект, независимо от того, на каком языке он был написан. 

Новый язык спроектирован таким образом, чтобы исключить частые ошибки программистов. Например, "сборка мусора" позволит разрешить главную проблему C++ – неправильно используемые указатели; переменные в C# будут инициализироваться автоматически, а cам язык будет обладать повышенной типовой безопасностью.

Описание языка в формате MS Word (на английском языке, естественно) все интересующиеся могут скачать отсюда.

ВОПРОС – ОТВЕТ

Прошу прощения у Александра Панченко, который также прислал ответ на вопрос о 256-цветных курсорах, но не был мной упомянут в прошлом выпуске, и у Ивана Невраева (Ivan Nevraev), который также написал ответ на вопрос о нестандартной форме окна.

Сейчас рассмотрим ответы на два оставшихся вопроса из выпуска №5:

Q. Версия Debug работает без проблем, а при запуске версии Release появляется сообщение о недопустимой операции. Хотелось бы знать в чем проблема и пути ее решения.

George V. Samodumov

A1. VC++ порой глючит и не делает перекомпиляцию файлов, либо не линкует исправленные файлы при incremental link-е. Если выполнить build-all то иногда можно обнаружить что-нибудь вроде синтаксической ошибки, хотя до этого компиляция проходила без проблем.

Igor Kurilov

A2. Это явно что-то с указателями. Причём как при их использовании, так и при повторном освобождении. В debug-версии MFC помечают память, на которую указывают освобождаемые указатели символами 0xСD. Соответственно, в отладчике Вы сразу поймёте, что что-то не так, если увидите такое значение. При этом может невозникать исключений. Если работать под WinNT они возникнут почти наверняка, а вот Win9x ведёт себя в этом отношении проще: никаких исключений не возбуждается. При использовании release-версии объекты инициализируются по-умолчанию в NULL. Попытка использования такого указателя вызовет исключение как в WinNT, так и в Win9x. Всё это проверено не раз на практике…

Dmitri A. Doulepov, MCSE
Поделиться:
Популярные книги

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Совершенный: охота. Часть 2

Vector
4. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный: охота. Часть 2

Попаданка в деле, или Ваш любимый доктор - 2

Марей Соня
2. Попаданка в деле, или Ваш любимый доктор
Любовные романы:
любовно-фантастические романы
7.43
рейтинг книги
Попаданка в деле, или Ваш любимый доктор - 2

Метатель. Книга 2

Тарасов Ник
2. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель. Книга 2

Черный дембель. Часть 5

Федин Андрей Анатольевич
5. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 5

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Знойные ветры юга. Часть 1

Чайка Дмитрий
8. Третий Рим
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Знойные ветры юга. Часть 1

Сирийский рубеж 2

Дорин Михаил
6. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сирийский рубеж 2

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Монстр из прошлого тысячелетия

Еслер Андрей
5. Соприкосновение миров
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Монстр из прошлого тысячелетия

На границе империй. Том 7. Часть 5

INDIGO
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 7. Часть 5

Адвокат империи

Карелин Сергей Витальевич
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.75
рейтинг книги
Адвокат империи

Боевая ботаника и с чем ее едят

Дэвлин Джейд
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Боевая ботаника и с чем ее едят

Черный Маг Императора 17

Герда Александр
17. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Черный Маг Императора 17