Off: Начал изучать Visual C++ и не могу понять основы, выручайте :)

Активист

Активист
Команда форума
Off: Начал изучать Visual C++ и не могу понять основы, выручайте :)

Для реализации одного проекта и в целях самообразования решил изучить Visual C++ 2005
Зайдя в магазин привлекла меня одна книжка "Visual C++ 2005. Базовый курс". (C) Айвор Хортон (аацццтойно пишет, чесно слово), но лучше не нашел, да и первое впечатление оказалось обманчиво :(

Так вот, только прочитав главу о определенном разделе C++ (Автор отмечает, "Чистый C++"), так натыкаюсь на повторное изложение задачи на "C++/CLR". Прочитав до 250 страницы невыдержал, и начал искать в начале "нормальное" пояснение разницы и растановки приоритетов изучения, не нашел...

Подскажите, умные люди, которые помимо PHP еще и C++ знаю, в чем разница между C++ и C++/CLR.

Пока я заметил огромную разницу в синтаксисе и подходе программирования. О том что CLR много контролировает (defrag кучи, утечки памяти и т.п.)

1. Что такое C++/CLR и с чем его едят? Как я предпалагаю из прочитанного мной, автор упоминул, что это некий стандарт программирования, где за работой алгоритмов следит некая оболочка или ОС (аналогичная интерпритатору PHP), но указав, что эта оболочка есть и в других ОС, но к сожалению, не указав в каких... Также автор забыл указать приритеты и особенности... И еще, C++/CLR Only For Windows?

2. На что делать упор в разработках и обучении? C++ или C++/CLR под Windows?

3. Если появится задача изучить особенности C++ под Unix, мне брасать C++/CLR и учиться заново?

С остальним справляюсь :)
 

fixxxer

К.О.
Партнер клуба
я конечно ничего в этих виндах не понимаю и не хочу, но clr это насколько я понял .net-овская виртуальная машина, то есть с++ компилируется не в натив код а в дотнетовский байткод. очевидно, это windows-only (всякие моно не считаем).

-~{}~ 31.07.08 19:08:

а изучать лучше сначала классический си по k&r, а потом с++ (для начала страуструп, а потом тебе уже с++-гуру насоветуют).

-~{}~ 31.07.08 19:11:

и еще, это конечно мое субъективное мнение, но всю литературу не по языку/библиотекам, а "про windows" я бы выкинул^W отложил "на потом". они плохому учат %)
 

Alexandre

PHPПенсионер
я конечно ничего в этих виндах не понимаю и не хочу, но clr это насколько я понял .net-овская виртуальная машина, то есть с++ компилируется не в натив код а в дотнетовский байткод. очевидно, это windows-only (всякие моно не считаем).
+1
Вообще, у меня на изучение VС++ 6.0 ушло более месяца при базовом знании C++. за что и был осмеен на этом форуме некоторыми "гуру". Очевидно они считают, что освоить более 300 базовых классов человек способен за три дня :)

и еще, это конечно мое субъективное мнение, но всю литературу не по языку/библиотекам, а "про windows" я бы правильно подмеченно: VС++ ни есть С++
выкинул^W отложил "на потом". они плохому учат %)
+1
вот по этому я и не люблю винду.


Есть отличная книга Шилдта Самоучитель C++
Шилдта - отличный писатель, но очевидно тут иной случай, именно требуется работа с VisualStudio
вообще я бы начал Страуструп : Язык программирования C++. с http://www.books.ru/shop/books/541854 Это основы.

далее рекомендую книги: Александреску, Майерс.
 

Krishna

Продался Java
Шилдта - отличный писатель, но очевидно тут иной случай, именно требуется работа с VisualStudio
вообще я бы начал Страуструп : Язык программирования C++.
Я тебя правильно понимаю, что ты утверждаешь, что Страуструп писал про "работу с VisualStudio", в отличие от Шилдта?

Мои отложившиеся воспоминания о книге Страуструпа - для первичного обучения откровенно непригодна. Ибо излишне академичный и всеохватывающий труд. Я именно пробовал по ней учиться, как результат - головная боль и низкий КПД.
Шилдта я прочитал за 2 дня целиком и как в Матрице "познал кунг-фу".
 

Alexandre

PHPПенсионер
Мои отложившиеся воспоминания о книге Страуструпа - для первичного обучения откровенно непригодна. Ибо излишне академичный и всеохватывающий труд. Я именно пробовал по ней учиться, как результат - головная боль и низкий КПД.
согласен, есть доля истины
 

Сергей Тарасов

Профессор
Все нужно осваивать постепенно :)

Мои студенты начинают вообще с книжки "Березин. Березин."
http://www.ozon.ru/context/detail/id/3561679/

Страуструп - прекрасная книга.
 

kode

never knows best
Автор оригинала: Alexandre
Вообще, у меня на изучение VС++ 6.0 ушло более месяца при базовом знании C++. за что и был осмеен на этом форуме некоторыми "гуру". Очевидно они считают, что освоить более 300 базовых классов человек способен за три дня :)
Таки ви MFC или libstdcpp или дотнет (managed C++) или COM изучали?

мне этого для c++ хватило http://www.cplusplus.com/doc/tutorial/
а что вы такого специфичного в VCS (кроме некоторых отличий в компиляторе) я не вижу.

А для того чтобы не заморачиватся с MFC, WindowsForms и прочей нечестью - использую QT (я щитаю лучший фреймворк, да ещё и опенсурсный)
 

Alexandre

PHPПенсионер
kode это было лет так семь-восемь назад, интернета дома не было, книг под руками не было, все позновалось методом проб и ошибок.
проблем со стандартным использованием VCL компонент не было, MSDN вполне хватало. Но если захотелось что-то использовать не стандартно, тут то меня и клинило. не знаешь каким боком и куда подползти...

-~{}~ 04.08.08 18:49:

мне этого для c++ хватило http://www.cplusplus.com/doc/tutorial/
это мой любимый сайт по С++ на сегоднешний день
 

facelift

Новичок
Активист
я конечно ничего в этих виндах не понимаю и не хочу, но clr это насколько я понял .net-овская виртуальная машина, то есть с++ компилируется не в натив код а в дотнетовский байткод. очевидно, это windows-only (всякие моно не считаем).
+1. Все так и есть. Не читай вообще про CLR, просто пропускай. Это не чистый С++, это С++ Managed (как-то так).
 

cranchzerro

Новичок
Re: Off: Начал изучать Visual C++ и не могу понять основы, выручайте :)

> 1. Что такое C++/CLR
CLR - Common Language Runtime; C++/CLR - Managed C++ (если писал на С++ до этого, 99% что этот манагет-код тебе не понравится)

>с чем его едят?
его не едят, его курят. обычно курят с Сепультурой

>C++/CLR Only For Windows?
нет, есть ещё такое: http://mono-project.com/
но настоящей кросс-платформенности, как например в JAVA, ессно не существует

> 2. На что делать упор в разработках и обучении?
на данный момент, поменять слова Разработка и Обучение местами

> 3. Если появится задача изучить особенности C++ под Unix, мне брасать C++/CLR и учиться заново?
нет, ты учишь один раз С++ как язык без каких-либо рантаймов только с его стандартными библиотеками, затем в MSDN-е читаешь про Misrosoft Specific (ограничения и незначительные отступления от стандарта), далее, ты изучаешь Managed C++, плюёшься и переходишь на C#, на котором успешно пишешь под винду.
Далее, для реализации одного проекта и в целях самообразования, тебе возможно прийдётся писать под НИКСы, и вот когда прийдёт эта необходимость, то вместе с ней прийдёт и осознание, что лучше бы ты с самого начала выбрал Яву...

> С остальним справляюсь :)
удачи.
 
Сверху