Среда разработки под Windows на С++

fisher555

Что посоветуете? И какую литературу для обучения использованию(я прогал до этого, но херь всякую, поэтому лучше литературу для ламеров)?

apl13

gcc 3 + всякие девелоперские примочки.

tashka

visual studio как среда разработки
и книги Петзольда(Petzold) и Рихтера (Richter)

yolki

Emacs в качестве редактора и IDE, OpenWatcom в качестве компилятора

kokoc88

Что посоветуете?
Только Visual Studio. Всё остальное под виндой - жалкие безделки, которыми тяжело пользоваться.

Olenenok

MinGW+Eclipse 3.3+CDT 4.0

kokoc88

MinGW+Eclipse 3.3+CDT 4.0
И кто предпочтёт дебаг из командной строки? Для Си++ под винду этот коктейль по всем параметрам сливает VS.

Olenenok

Ты бы посмотрел для порядка, что это такое

kokoc88

Ты бы посмотрел для порядка, что это такое
Так я совсем недавно всё это ставил.

myrka68

И кто предпочтёт дебаг из командной строки?
наличие удобного дебагера не всегда плюс, т.к. часто вместо того чтобы подумать, начинают тупо выполнять по шагам (printf для отладки порой гораздо более продуктивен, т.к. заставляет думать головой, а не тыкать кнопки руками)
а этот встроенный дебагер умеет аттачится к уже запущенным прогам?

mkrec

студию, конечно
дебаггер умеет аттачиться к "внешним" прогам, конечно. Правда, обычно толку чуть. Имхо.

kokoc88

наличие удобного дебагера не всегда плюс, т.к. часто вместо того чтобы подумать, начинают тупо выполнять по шагам (printf для отладки порой гораздо более продуктивен, т.к. заставляет думать головой, а не тыкать кнопки руками)
И что мешает тебе думать и выполнять по шагам?
а этот встроенный дебагер умеет аттачится к уже запущенным прогам?

А ты как думаешь? Конечно, умеет. И краш-файлы программ он тоже умеет загружать. И останавливать только один поток в процессе. И так далее.

myrka68

И что мешает тебе думать и выполнять по шагам?
обычная лень как это ни странно
ткнуть кнопку проще, чем подумать =)
А ты как думаешь?
никак, я просто не знал

kokoc88

обычная лень как это ни странно
ткнуть кнопку проще, чем подумать =)
В таком случае мне лень писать printf'ы (особенно, когда некуда). Проще поглядеть в списке на значение переменной перед нажатием Step Over.

myrka68

В таком случае мне лень писать printf'ы (особенно, когда некуда). Проще поглядеть в списке на значение переменной перед нажатием Step Over.
о! есть новая темя для спора — необходимость отладочной информации (логов) при разработке программ в VS со встроенным дебагером =)

agaaaa

Кому надо её без проблем добавит и под MS VC++.
Студия решает Edit-And-Continue.

oliver11

Мы же с тобой выяснили, что Edit-And-Continue работает далеко не всегда.
По сабжу: Far + Colorer + MinGW + GDB.
Литература... Во-первых, надо хорошо знать C. Дальше - Страуструп "Язык программирования C++" и "Дизайн и эволюция C++".

fisher555

Во-первых, надо хорошо знать C.
Все еще не на столько плохо.
Дальше - Страуструп "Язык программирования C++" и "Дизайн и эволюция C++".
О классической литературе мне известно и она у меня есть. Меня больше интересует литература по среде разработки как таковой(то есть если советуется VS, то будет просто замечательно, если еще и книжка будет указана по которой будет легко в этой среде ориентироваться). Может кто-нибудь пользовался билдером от борланд? Если такие есть, то выскажите свое мнение и сравните его с другими средами(конечно, если есть с чем сравнить).

pitrik2

литература по среде разработки как таковой
имхо это бред
справка вызывается по F1
что еще надо то?
мне кажется что даже F1 нафик не нужна
тыкаешься мышкой по менюшкам и кнопочкам туды сюды минут 20
вот и все
разве нужна литература чтобы понять что кнопка Compile будет компилировать а кнопка Run запускать?

yolki

Как истовый апологет борланда могу сказать следующее: лучше всего у него получился паскаль (delphi в том числе).
с++ и джава отвратительно.
Если по каким-то причинам не нравится emacs - посмотри на eclipse.

mkrec

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

Reves2

в борланде еще компилятор саксовый, он далек от стадарта.

fisher555

спасибо за советы

Barselona

Во-первых, надо хорошо знать C.

Объясни плз почему? В кратце хотя бы

yolki

тоже считаю, что знание языка С для изучения С++ вредно.
хотя не так...
я считаю, что поверхностные или средние знания языка С очень вредят при изучении С++.
если человек _отлично_ знает и разбирается в С, и отдаёт себе отчёт, что С++ - это совершенно другой язык, с похожим синтаксисом, и не пытается применить "шаблоны" (не в смысле templates) из С в С++ - это конечно плюс.
но не стоит ставить доскональное знание языка С как необходимость для изучения С++

oliver11

Потому что C - подмножество C++ настолько, насколько это возможно. Невозможно хорошо знать более широкое множество, не зная хорошо его подмножества.

oliver11

Лично я только прочитав "Дизайн и эволюцию" осознал, как и почему в C++ всё работает так, как работает. И неплохое знание C мне понадобилось для понимания.
А если человек не представляет, во что превращается код, который он пишет, то потом появляется код с использованием итераторов после push_back-ов в вектор (как у нас на лекциях в 4-м семестре :-).
А поверхностное знание всегда вредно. Надо останавливаться на каком-то логически завершённом уровне.

karkar

О, у меня тоже вопрос к общественности.
Есть ли в природе редактор для С++ (может быть плагин к VS) с автокомплитом и автоформатом как в VS для С#?

Barselona

"Дизайн и эволюцию"

кто автор?

oliver11

Всё тот же Страуструп.

FRider

! есть новая темя для спора — необходимость отладочной информации (логов) при разработке программ в VS со встроенным дебагером =)
Темы для спора нет.
Дебаггер удобная штука, и ее стоит применять там, где реально облегчается жизнь, вместо того, чтобы "спать в гамаке стоя", сиречь думать когда не надо.
Но далеко не все решает дебаггер. Самый элементарный пример - когда апликуха падает у юзеров.
Или работающая длительное время прога, некий сервис.
Про многопоточку я уже вообще молчу

sbs-66

не знаю что там в C#, но в для С++ есть visual assist x или как-то так. Там помидорка нарисована.

mkrec

только он не умеет корректно работать с неанглийскими буквами. Автокомплит в студии и так более или менее реализован (иногда, правда, не работает).

kokoc88

Есть ли в природе редактор для С++ (может быть плагин к VS) с автокомплитом и автоформатом как в VS для С#?
Увы, на макросах и шаблонах умирает любой автокомплит. Ждём хорошего freeware C++ парсера.

salora

На макросах он умирать обязан. Но, вроде, на шаблонах VisualAssist X неплохо это умел. Неплохой автокомплит также у Sun Studio 12 (под венду нет и у CDT 4.0

kokoc88

На макросах он умирать обязан. Но, вроде, на шаблонах VisualAssist X неплохо это умел. Неплохой автокомплит также у Sun Studio 12 (под венду нет и у CDT 4.0
На макросах умирать никто не обязан. На шаблонах Visual Assist вполне себе спотыкается. CDT умирает ещё раньше.

danilov

Во-первых, надо хорошо знать C
Как раз, наоборот. Лучше вообще не знать C. От него остался только синтаксис.
Знания C только помешают правильно прогать на плюсах

pitrik2

категорически не согласен
вот я работаю прогером на джаве
многим моих нынешним и бывшим коллегам я бы запретил программировать вообще
они ж нифига не понимают как чего устроено, иногда услышу какиенить их рассуждения или код увижу и УЖАС берет
upd
о блин
вместо джава написал дача
это по Фрейду?
сосбна поясню мысль: чтобы хорошо прогать на C++ и Java нужно до этого азы изучить, например, С

sbs-66

Для Java это верно, для С++ - нет. Он и так достаточно низкоуровневый.

Dasar

> На макросах умирать никто не обязан.
как раз парсеры обязаны умирать на макросах, потому что вот такой код хрен распарсишь:

BEGIN
ITEM(10)
ITEM(11)
END

ppplva

По крайней мере, они не тьюринг-полны, а значит их можно распарсить за конечное время. В отличие от шаблонов.

kokoc88

как раз парсеры обязаны умирать на макросах, потому что вот такой код хрен распарсишь:
Распарсить можно всё, что компилируется. И умирать при этом никто не обязан. Больше проблем должно возникать с шаблонами, но и там задача может быть вполне разрешима.
Оставить комментарий
Имя или ник:
Комментарий: