Практикум программирования на C++ под Windows
comp.soft.prog.cppwin
Выпуск #7B
21/10/2000
*** ВОПРОСЫ И ОТВЕТЫ ****************************************************
Общие вопросы
Q: Вышлите пожалуйста предыдущие выпуски
Вы можете получить их сами: Архив Рассылки.
Если у вас нет доступа к WWW, можно получить их по почте:
напишите на адрес subscribe@subscribe.ru письмо, содержащее строчку
ARCHIVE comp.soft.prog.cppwin html 2000
и робот вышлет вам шаблон для получения выпусков из архива.
Q: Где есть русскоязычные обсуждения по C++ ?
Обратите внимание на Фидо-конференции, гейтующиеся в Интернет:
SU.C_CPP
SU.WIN32.PROG
SU.WINDOWS.PROG
Их вы можете найти на любом ньюсовом сервере в иерархиях relcom.fido или
fido7.
Q: Можно ли к вам обратиться с вопросами?
Безусловно. Конечно обращайтесь. Постараюсь вам помочь.
Но сначала постарайтесь разрешить ваши трудности сами.
Описывая мне проблему, приводите всю полезную информацию, чтобы не пришлось
переспрашивать. Очень трудно разобраться в вопросах типа "У меня кнопка не
нажимается. Что делать?".
Напомню, что я предпочитаю получать почту как text, а не HTML.
Q: Есть ли ваша книга по этой теме?
:) Нет. А может быть - пока нет.
Список рекомендуемой литературы см. в #2.
Q: Хотелось бы получить ваш курс целиком
Мне бы тоже хотелось. Но цельного и написанного курса пока нет. Думаю, он
будет формироваться как результат написания выпусков рассылки...
Вопросы о среде разработки и ее выборе
Q: Расскажите про выбор языка и среды разработки
Мне кажется, в выпуске #7A я достаточно подробно изложил свою точку зрения
на этот вопрос. Что касается реальных продуктов - для изучения и работы я
рекомендую MSVS 6.0 или MSVC 5.0. Если нет такой возможности, то Borland
C++ не ниже версии 5.
Q: Какая среда сейчас перспективна для работы с базами данных?
Все опять же зависит от задачи. Любая серьезная СУБД в настоящее время
содержит свой собственный язык программирования и/или язык запросов (напр.,
SQL). Все современные среды также как правило имеют развитые средства для
доступа к базам.
Q: Какой средой пользуешься ты?
MS Visual C++ 6.0 из пакета Visual Studio 6.0 и MSDN '98, работающие под
русской Windows 98 SE build 1998.
Q: Чем отличается BC++ от CBuilder? Чему отдать предпочтение?
Borland C++ (BC++) - просто одна из сред разработки программ под WinAPI.
Borland C++ Builder - средство быстрой разработки приложений, в основе
которого лежит язык C++.
Для обучения, на мой взгляд, более подходит BC++. Однако, существуют,
конечно, и другие мнения.
Q: Сколько стоит MSVC 6.0 и MSDN?
Немеряно много. Отдельному человеку, тем более - в целях изучения, его
покупать нет никакого смысла. Для приобретения нужно обращаться к дилерам
Microsoft в России - пишите на russia@microsoft.com.
Q: Где достать C++? Где скачать MSVS?
Скорее всего - на ближайшем к вам радиорынке или в магазине компакт-дисков.
Вряд ли MSVS имеется где-то для свободного скачивания.
А MSDN, напротив, доступен в он-лайне - msdn.microsoft.com.
Borland (borland.com) предоставляет на своем сайте бесплатный компилятор,
но только компилятор, без среды разработки.
Странно слышать о проблемах, связанных с установкой MSVC. По моим
наблюдениям, это наиболее надежный в установке и работе продукт.
Проблемы могут быть связаны с "палеными" версиями или повреждением
физического носителя.
Q: При компиляции MSVC зависает. Что делать?
Ага, встречались с такой проблемой. Эти баги у MSVC еще с версии 1.5, если
не раньше. На простейших синтаксических ошибках компилятор зависает, хотя
сама среда нормально работает. Чаще всего это было связано с парностью
скобок '{' и '}'. Проверьте текст программы и попробуйте еще раз - как
правило, помогает...
Вопросы и предложения по содержанию рассылки
Q: Пишите пожалуйста реже, но подробнее
Частота рассылки и объем выпусков - это две величины, связанные обратной
пропорциональностью. Если делать выпуски реже (скажем, раз в неделю), объем
одного выпуска увеличится в несколько раз. Я предпочитаю давать информацию
как можно чаще, пусть и объем ее будет минимален... Ничто не мешает вам
читать несколько выпусков сразу, не так ли?.. Конечно, если вы не успеваете
освоить новый для вас материал - это может оказаться проблемой. Но не думаю,
что она перед вами серьезно встанет. Ведь кроме обычных выпусков я собираюсь
давать массу дополнительной информации...
Q: Расскажите про Visual Studio 7
Как нибудь обязательно расскажу - как только сам разберусь...
Q: Опубликуйте описание библиотек для C++
Увы, я не настолько хорошо знаю все эти библиотеки, чтобы выступать гидом
по ним. Однако, если я найду что-либо подобное, либо мне это пришлет кто-то
из читателей, вы это увидите.
Q: Как скоро будет что-то продвинутое?
Смотря чего вы ждете. Первые программы с окошками мы начнем разбирать уже
со следующего выпуска. Затем - подробное рассмотрение Win32 API.
Изучение классов, после чего - переход к MFC...
Q: Расскажите про стиль форматирования кода
Этому будет посвящено по крайней мере два выпуска - #12 и #12A.
Q: Расскажите про STL
STL (Standard Template Library) - библиотека шаблонов, входящая в стандарт
C++. Не думаю, что мы будем подробно на ней останавливаться - она довольно
слабо связана с Windows.
Q: Будет ли домашнее задание по каждой теме?
Иногда - да, иногда нет. Будут упражнения, какие-то рекомендации. Но не
думаю, что я могу или хочу как-то контролировать вас в вашем обучении.
Q: Хочу изучать MFC. Желательно с основ
Обязательно перейду к изучению MFC спустя некоторое время. И очень
постараюсь не забираться сразу в дебри...
Q: Приводите примеры тонкостей C++
Постараюсь, все что вспомню - приведу в рассылке.
Q: Будет ли рассматриваться ActiveX?
Возможно. Но, наверное, очень не скоро.
Q: Будет ли рассматриваться идеология программирования искусственного
интеллекта?
Как мне кажется, это не соответствует тематике рассылки. Все, что выходит
за рамки программирования на C/C++ под Windows, рассматриваться не будет.
Вопросы по опубликованному материалу
Q: Почему использован printf, а не cout << ?
Опыт преподавания программирования убедил меня в том, что сначала -
процедурный подход, а затем уже - объектный... Библиотека iostream (в
которой описан упомянутый '<<') написана на объектах. Именно поэтому я не
стал ее использовать. Действительно, первый пример был написан практически
на чистом C. Но C++ не мешает использовать и "старомодные" способы.
Q: Почему main объявлена как void main() ?
Потому, что ничто не мешает так делать. А забивать читателям мозги лишней
информацией - не хочется...
Q: Почему HANDLE - void* ? Всегда был int!
Странно. Все объявления, которые я нашел, убеждают меня в обратном.
Впрочем, это непринципиальный вопрос, поскольку никто напрямую не работает
с тем, на что указывает (или что нумерует) дескриптор (handle).
Заключение
Ну что же, исходя из этих ответов вы можете заключить, что автор - самодур,
делающий со своей рассылкой все что пожелает. И это действительно так!
У меня есть информация, которая многим интересна, я могу ее подать, эти
многие меня читают - что же можно еще пожелать?..
*************************************************************************
Количество подписчиков: 5446
Архив Рассылки
Никита Зимин
Nikita_Zeemin@mail.ru