Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Если учить C++


Автор: [m][a][n] 29.8.2004, 22:04
Всем Добрый Вечер!
Мне мне интерестно, если начать учить C++ НЕ зная С вобще...
Но тем не менее страртовать с С++ (про С вобще забыть)...
То это как?
Не получится ли так (хотя может быть скажу глопо), что выучив С++ выучишь только нововведения с С++ в самое главное это С, а не С++

Автор: Manve 29.8.2004, 23:16
Нет, не выйдет у тебя такого. Ты хорошо выучишь C++ и ООП, однако вполне сможешь програмить на обычном С. Тока придется отказаться от некоторых удобств (типа new, delete), и естесно классов тама не будет и привычного cin, cout. С++ это "надстройка" над обычным С.

P.S. Поправте меня если я в чем то не прав smile.gif

Автор: Олег М 30.8.2004, 04:41
Цитата(Manve @ 30.8.2004, 02:16)
С++ это "надстройка" над обычным С.

С чего ты взял? По-моему С++ это совершенно самостоятельный язык. И, работая на С++ об обычном Си можно, да и нужно, забыть. Однако, изучив С++ в Си совершенно не теряешься - синтаксис и организация программ остались те же.
Так, что [m][a][n], не парься и смело изучай С++, я в своё время так и сделал - нифига не жалею.

Автор: srd 30.8.2004, 04:49
Классиков читать надо smile.gif Страуструп, например, высказался, мол чем лучше вы знаете Си, тем труднее вам будет освоить Си++. Вот так.

Автор: Manve 30.8.2004, 08:07
Олег М Ему по-моему так легче понять будет, да и когда он попрограмит на С++ и С, то сам почувствует разницу этих языков.

Автор: [m][a][n] 30.8.2004, 09:02
Всем большое спасибо!
Как я понял, то что если начать изучать C++ (незная C) то в этом ничего страшного нету?!

Автор: Manve 30.8.2004, 09:17
Нету smile.gif

Автор: Peter 30.8.2004, 13:07
А что, есть проблема с компиляторами или с работой? Заставляют писать на одном языке и отказываться от другого?
Мне, например, на Си++ писать удобно. Поэтому ставлю расширения .cpp, говорю компилятору: компили как сиплюсплюсную программу - и дело с концом.

Автор: srd 30.8.2004, 13:10
Цитата
Мне, например, на Си++ писать удобно. Поэтому ставлю расширения .cpp, говорю компилятору: компили как сиплюсплюсную программу - и дело с концом.

А если прийдут злые CM-инженеры?

Автор: Peter 30.8.2004, 13:18
Цитата(srd @ 30.8.2004, 13:10)
А если прийдут злые CM-инженеры?

Это кто такие? И что они могут сделать?

Автор: srd 30.8.2004, 13:22
А это те, кто следит, чтоб программеры не занимались самодеятельностью.

Автор: lynx_916 30.8.2004, 21:55
Цитата
[a][n], 29.8.2004,  21:04]Мне мне интерестно, если начать учить C++ НЕ зная С вобще...

когда появился С++ очень многие программисты из тех, которые самые умные не могли его освоить, так как это обрывало структурное мышление программера.

Автор: JackYF 31.8.2004, 00:23
Правильно Страуструп сказал СИ++ лучше чем Си. Лучше учиться сразу, чем переучиваться кроме new, delete там ещё и
try, catch и т.д.

Автор: Конструктор 31.8.2004, 07:54
Есть неплохая книжка "Эффективное порграммирование на С++" (вроде так, серия C++ in depth), так вот в ней начинается с разбегу обучение С++. Никаких printf только cout, массивы обсуждаются только после хорошего разбора STL, и то как низкоуровневая структура данных. В книге основной упор делается на то чтобы научить сразу С++ и привить культуру ООП-ного программирования без заморачивания головы С-шным подходом.

Автор: GrayCardinal 31.8.2004, 08:12
а я вообще не въезжал в чем разница между Си и Си++... программил себе на VC и все... когда полез в линуху мне сказали - это "Си++"... я подумал - ну и ладно... хотя сейчас в линухе все программят на Си, думаю меня никто не будет убивать за Си++...
Добавлено @ 08:15
Цитата
ООП-ного программирования без заморачивания головы С-шным подходом.

а потом народ для добавления байтов в буфер юзает CString'овский +. Ладно если один байт - так ведь и для тыщи пишут то же самое...

Автор: Конструктор 31.8.2004, 08:26
Цитата
а потом народ для добавления байтов в буфер юзает CString'овский +.


И в целом ничего зазорного в этом не вижу, ибо проще. А чем проще, тем лучше.

Автор: chipset 31.8.2004, 08:31
Цитата
а потом народ для добавления байтов в буфер юзает CString'овский +.

Позволь заметить, я пишу программмы на C++ и не юзаю CString.
И вообще причем C++ к Си?

Автор: mr.DUDA 31.8.2004, 08:33
Цитата
Цитата
а потом народ для добавления байтов в буфер юзает CString'овский +.


И в целом ничего зазорного в этом не вижу, ибо проще. А чем проще, тем лучше.

Учитывая, что CString к тому же поддерживает предварительное резервирование буфера по границе 64/128/256/512 байт, так что "+" не будет перевыделять память при каждом вызове.

Автор: GrayCardinal 31.8.2004, 09:08
IMHO:
лучше дружить со старым добрым *S (который типа char *) biggrin.gif
А вообще, если юзать юзать ТОЛЬКО ООП даже для всяких мелочей, то об оптимизации можно забыть.

ладно, не обращайте внимание на Линуксоидов со stuff типа snprintf
biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif

Автор: lynx_916 31.8.2004, 16:28
ИМХО: все начали обьединять С и С++ потому что у них названия похожи.
а вот С++ и ПЕРЛ никто не обьединяет.

Автор: [m][a][n] 31.8.2004, 18:58
Хороший вопрос smile.gif
У одого человека я спросил, что такое Perl, от мне ответил это упрощенный С
Как вы думаете это так?

Автор: Wowa 31.8.2004, 19:23
Цитата
[a][n], 31.8.2004,  17:58]У одого человека я спросил, что такое Perl, от мне ответил это упрощенный С
Как вы думаете это так?

никак - нет. Это разные языки, предназначенные для разных вещей.
А если уж говорить, как этот человек, то можно также заявить, что Perl - это доработанный(улучшенный) C++.

Автор: Domestic Cat 31.8.2004, 19:38
Цитата(lynx_916 @ 31.8.2004, 07:28)
ИМХО: все начали обьединять С и С++ потому что у них названия похожи.


Эх... А совместимость C с C++? Желательно тебе Страуструпа почитать.

Автор: sergejzr 31.8.2004, 21:33
Цитата
[a][n], 29.8.2004,  21:04]Всем Добрый Вечер! Мне мне интерестно, если начать учить C++ НЕ зная С вобще... Но тем не менее страртовать с С++ (про С вобще забыть)... То это как? Не получится ли так (хотя может быть скажу глопо), что выучив С++ выучишь только нововведения с С++ в самое главное это С, а не С++


ИМХО: Си (что бы понять, как комп работает) -> Ява (что бы понять ООП) -> Си++ (чтобы соеденить это вместе)

Неплохая дорожка smile.gif

Конечно можно и на Си ООП писать (приходилось), Но тогда вивишь, насколько больше не нужных операций делается и прогить не приятно... В Си++ многое из этого не видно и ты внутренне спокойней biggrin.gif biggrin.gif

Автор: lynx_916 31.8.2004, 22:20
Цитата(Domestic @ 31.8.2004, 18:38)
Желательно тебе Страуструпа почитать.

читал.
а давайте глубже: а почему никто не ассоциирует С с В?

Автор: Manve 31.8.2004, 22:51
По-моему вам пора потиху пережать во флейм. biggrin.gif biggrin.gif biggrin.gif

Автор: JackYF 31.8.2004, 23:36
MFC - дрянь полная. Ну что там хорошего???!!! mad.gif

Автор: -=::BlackCat::=- 1.9.2004, 00:45
nea narod ja dumaju mi eshe C-- ne wspomnili smile.gif

Автор: chipset 1.9.2004, 02:02
Цитата
MFC - дрянь полная. Ну что там хорошего???!!! 

Есть альтернатива?
ИМХО не стоит учить Си, если собираешься прыгать на С++.
Потому как потом будет всё время приводить типа вот так (type) а не static/dynamic_cast.
Ну ещё много всего... hmmm.gif

Автор: Dark Elf 1.9.2004, 13:58
Альтернатива есть - Qt (по-моему намного лучше + кроссплатформ) www.trolltech.com

Автор: lynx_916 1.9.2004, 21:51
лично я до сих пор плохо пользуюсь printf().cout only smile.gif.
а у Дейтелов такого нет.
сначала рассматривается С++ структурный(не С !), а потом классы.

Автор: Конструктор 2.9.2004, 09:16
ХМ, забавно, а я никогда не иcпользую cin и fstream. Только stdio smile.gif

Автор: chipset 2.9.2004, 09:20
cout,cin все остальное пользую а вот файлы как то :xz
Год промученный над Си в полном неведении о С++ дал о себе знать...

Автор: Peter 2.9.2004, 09:31
Цитата
ХМ, забавно, а я никогда не иcпользую cin и fstream. Только stdio

Мне кажется, что я в cin, cout и т. д. чайник. По крайней мере, printf, scanf, gets... умеют все, что мне надо. А iostream-овские... наверно, нет? Или я ошибаюсь?

Автор: chipset 2.9.2004, 09:39
А iostream-овские... наверно, нет?
Покажи пример того что не умеют иостримовские но умею CRT sample.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)