Как начать учиться C++?

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Лучше все-таки начинать с Паскаля, а не с ассемблера. Конкретный язык - это ведь не более чем инструмент. А главное в программировании - умение ясно мыслить и четко излагать свои мысли в коде, неважно на каком языке. В том числе и на русском/english etc ;)
Паскаль еще чем хорош: он специально разрабатывался как язык обучающий именно программированию, т.е. пониманию основных принципов работы с данными, структур и алгоритмов. Плюс, в отличие от Си, обеспечивает жесткий контроль типов, т.е. ничто не должно отвлекать от творчества :)
А потом можно переходить на Си, попутно изучая архитектуру компьютера, представление данных итд. Ассемблер при этом никуда не денется: кто хорошенько освоил Си, можно считать, уже знает половину ассемблера :)
Вадим Пишков
Сообщения: 16
Зарегистрирован: 24 май 2006, 01:59
Откуда: г. Ижевск, Россия
Контактная информация:

Вообще, хранение данных и передача данных через стек в процедуры прямо не касается обучения программированию на данном этапе. Вполне можно освоить Паскаль, а потом, зная, т. с., практику, заняться теорией организации самого компилятора. Хотя нас вот учили подряд. :) И тоже здорово, мне понравилось.
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

Eugie писал(а):Конкретный язык - это ведь не более чем инструмент. А главное в программировании - умение ясно мыслить и четко излагать свои мысли в коде, неважно на каком языке.
Вот прочтение главы доки "Паскаль изнутри" мне как раз и добавило "ясности мысли" :) Например, понял, как "на практике" происходит передача параметров по ссылке и по значению. И что var-параметр и параметр-указатель на переменную отличются лишь в теории, а практически (на уровне, скажем так, ассемблера) это одно и тоже: в стек попадает адрес твоей переменной :)
Интересно было почитать (это я про Паскаль), как происходит передача параметр по значению типа string, и как происходит возврат функцией значения типа string.
А ассемблер тут еще пригодился и тем, что в Turbo Pascal-е была ведь возможность писать функции/процедцры на ассемблере и линковать полученные obj-шники. И вот для этого случая уже НУЖНО было знать, как происходит передача параметров "на низком уровне" :)
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

BBB, так заведи новый топик в разделе Delphi и Pascal и выложи туда ссылку на эту доку, если она вправду хорошая. А народ будет добавлять, как сейчас в разделе С и С++.
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

Eugie писал(а):BBB, так заведи новый топик в разделе Delphi и Pascal и выложи туда ссылку на эту доку...
Это была "бумажная" дока (и читал я ее лет 15 назад). По-моему, глава из руководства по Турбо-Паскалю (вот даже кажется, что глава [или часть] № 16). Так что со ссылкой прямо не знаю.. :confused:
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Turbo Pascal 6.0 (Руководство программиста)
Часть 3. Turbo Pascal внутри.
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Кто ищет, тот всегда найдет :)
Oscar, выложил бы ссылку в разделе Паскаля, тут она благополучно будет погребена валом новых вопросов.
Madshall
Сообщения: 19
Зарегистрирован: 21 июн 2006, 18:12

Учи С++. Но для того чтобы понимать все правильно(а это тебе очень поможет) начни с ассемблера, без него ты не будешь полноценным программистом С++.
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Ну да, никто ассемблера не знает, но считает что незнание ассемблера это типа как ошибка молодости (надо было хорошо учиться, слушаться папу/маму итп).
2B OR NOT(2B) = FF
Madshall
Сообщения: 19
Зарегистрирован: 21 июн 2006, 18:12

Если ты не знаешь, сиди и молчи, не нужно думать что все такие же. А если хочешь что-то написать, напиши что-нибудь умное.
Ответить