Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.66
VadimAndronov
24 / 24 / 4
Регистрация: 15.06.2012
Сообщений: 138
#1

Си или Си++ с чего начать? - C++

17.06.2012, 19:41. Просмотров 4806. Ответов 50
Метки нет (Все метки)

Владею только паскалем. Решил изучить новый язык, остановился на Си, но многие советуют Си++. Суть темы: На много ли С++ сложнее С? На много ли С++ сложнее паскаля? Какие глобальные отличия концепции ООП и процедурного программирования.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 19:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Си или Си++ с чего начать? (C++):

Хочу начать учить C++ с чего начать? - C++
Посоветуйте действительно хорошие книги/видео уроки по этому языку. За спиной у меня нет других языков программирования. Еще хочу задать...

С чего начать ? C# или C++ ? - C++
Вот встал передо мной такой вопрос... Программировать умею на php и js. Цель: писать софт под виндоус, особенно интересен сетевой софт. ...

С чего начать? - C++
Доброго времени суток! Хочу выучить язык С++, подскажите с чего лучше начать изучение? Заранее благодарен!

С чего начать? - C++
Всем привет! Вводная. Мы тут с товарищем решили замутить небольшой проект на С++. Роли распределили так: он - программист, я -...

C++ с чего начать? - C++
Здравствуйте, подскажите, пожалуйста, есть ли смысл сначала изучить С, а потом перейти к С++. Или сразу лучше изучать С++? Спасибо!!!

С чего начать? - C++
Очень сильно научиться писать хотя бы примитивный софт по типу чекеров, клиентов и т.д Но я х3 с чего начать, как и все наверное......

50
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
17.06.2012, 21:56 #31
я бы посоветовал осилить это
читается как роман. но, конечно, некоторая степень владения чтением на английским требуется. может, перевод есть?
0
iama
1251 / 976 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
17.06.2012, 21:57 #32
Jtalk, насчет простоты можно бесконечно спорить (примеров типа a = ++a + ++a полно), но на базовом уровне, если есть нормальная математическая и общая база, учится вполне себе быстро.
0
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
17.06.2012, 22:03 #33
Цитата Сообщение от iama Посмотреть сообщение
Jtalk, насчет простоты можно бесконечно спорить (примеров типа a = ++a + ++a полно), но на базовом уровне, если есть нормальная математическая и общая база, учится вполне себе быстро.
Я имел в виду не способы выстрелить в ногу, а общую выразительность. Язык с минимумом выразительных средств, по сути, даже для подмассивов нет встроенного синтаксиса, только методы из контейнеров или адресная арифметика. Т.е. не надо, как в D, например, выяснять, зачем тут две точки, а тут восклицательный знак — тыкаем vector.substring (мимо), vector.substr — попал. А с автодополнением знание языка вообще утыкается в знание stl, algorithm, исключения и нескольких крутых слов типа "конкатенация" и "добавление".
1
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
17.06.2012, 22:50 #34
Цитата Сообщение от novi4ok Посмотреть сообщение
может, перевод есть?
Да, в русском переводе книга называется Философия С++.
0
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
17.06.2012, 22:53 #35
Моё мнение:
Начинать с Си. Заканчивать плюсами.
Почему:
ООП это, несомненно, энтерпрайз. Другими словами - это когда сидишь и строчишь код на компанию. Си должен научить структурному мышлению, чтению кода, пониманию как у программиста. Си очень недостаточен (4 enterprise of course) так как нет нормальных строк, автоматический менеджер памяти без уборщиков мусора, ассемблер как окно в низкоуровневый мир - это никак не способствует БЫСТРОМУ и КАЧЕСТВЕННОМУ коду.
Си++ новый шажок. В сторону энтерпрайза. Оставив после себя туеву хучу говна от Си в целом не плох. Для осваивания Си++, как мне кажется, важно сначала освоить Си. И если кто-то скажет, что в голове будет каша - да. Это так. Но преодолев эту кашу и систематизировав весь накопленный опыт после Pascal, Си и Си++, программист может считаться ставшим. Имея кучу хлама от Си, программист Си++ должен ограничивать себя сам. При этом есть окно вплоть до самого низкого уровня, что позволяет эффективно использовать железки (CUDA, 4 example).

Теперь, каким способом изучать. Каюсь, не читал Страуструпа. Книг не особо много читал. Изучал через общение, исследования, собственные гипотезы появлялись и уничтожались. И, мне кажется, это весьма полезный опыт. Мог бы и прочитать Страуструпа и половину вопросов у меня так и не возникли, а на другую половину я бы сразу дал ответ. Но тогда меня не покорил бы Си++, просто было бы не интересно.

Теперь для кого: для тех, у кого есть желание. Ни в коем случае нельзя браться за изучение столь мощного и коварного языка как Си++. Я не знаю ни одного языка ентерпрайзед уровня в котором были undefined behavior, кроме как Си++. Некоторые гиганты вырезают половину возможностей языка, заставляя сотрудников использовать "обрезанную версию". Правильной (но не обязательной постоянно) практикой считаю включение максимального уровня предупреждений в настройках компилятора, при котором warnings становятся error'ами.
Если хочется просто "лопатами" грести бабло и поработать в компании уровня Google (ну или просто в IT-компании), то советую присмотреться к Java, Python и DHTML. Просто потому что в плане освоения они проще, они более удобны, много безопаснее и не менее интересные (впрочем, зависит от задач). Так же не стоит исключать мобильный сегмент, где Си++ любят чуть менее чем никак, просто потому что он слишком опасный (впрочем, тут стоит вспомнить ObjectC, так что возможно я не прав). Такие вещи как Mono, Python, DHTML5 (HTML5 + CSS3 + CoffeeScript) и почти умирающий Flash возможно заменят Си++, который останется уделом глубоких бекэндов и системного программирования.

P.S. Уф. Много букв. Не пинайте сильно...
1
VadimAndronov
24 / 24 / 4
Регистрация: 15.06.2012
Сообщений: 138
18.06.2012, 00:03  [ТС] #36
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Моё мнение:
Начинать с Си. Заканчивать плюсами.
Почему:
...

P.S. Уф. Много букв. Не пинайте сильно...
Чтож, проведу ночь в прочтении "Керниган, Ричи. Язык C"
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.06.2012, 01:20 #37
P.S. Уф. Много букв. Не пинайте сильно...
Я чуть-чуть
Си должен научить структурному мышлению, чтению кода, пониманию как у программиста.
Имхо, этому должна учить школа и Паскаль
автоматический менеджер памяти без уборщиков мусора
А разве в плюсах есть сборщик?
ассемблер как окно в низкоуровневый мир - это никак не способствует БЫСТРОМУ и КАЧЕСТВЕННОМУ коду.
Я смотрю, в моде сейчас медленный и некачественный код, поскольку Си занимает второе место в топе языков программирования(8 февраля, может даже поменялось что-то, не наблюдаю за этим)
Теперь для кого: для тех, у кого есть желание. Ни в коем случае нельзя браться за изучение столь мощного и коварного языка как Си++.
Отвечу вам и сразу по теме: я изучал плюсы сразу после Паскаля. Даже не так: на тот момент я знал Паскаль примерно наполовину. И чем мне это помешало?
Кстати, я начал изучать плюсы а не Си по двум причинам. 1) мне посоветовал их учить отец 2) у Си фиговая подсветка(как мне тогда казалось).
ТС, решать вам. Скажу одно, я ни разу не пожалел о том, что начал изучать плюсы.
2
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
18.06.2012, 01:53 #38
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Си++ новый шажок. В сторону энтерпрайза. Оставив после себя туеву хучу говна от Си в целом не плох.
Слова рождают вопрос. Зачем забивать голову туевой хучей говна?

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

По поводу отличий сложности С++ и Паскаля - в С++ будет тяжело понимать те моменты, которые в Паскале отсутствуют, в остальном если есть логическое мышление, то знания полученные при изучении Паскаля пойдут только на пользу.
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
18.06.2012, 02:01 #39
Цитата Сообщение от daslex Посмотреть сообщение
Я не против тех кто решил изучать С и уважаю их выбор, но для изучения С++, С знать совсем не обязательно и незнание С никак не помешает изучить С++ если за С++ взяться всерьез
Важно то, ради чего это всё нужно
с трудом представляю себе программиста, который знает ++, но не знает си - это должно быть достаточно смешно
а все потому что едва ли можно встретить проект, который написан полностью на с++ без с
просто области применения у них пересекаются
1
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
18.06.2012, 02:12 #40
всегда считал, что С++ это C, мутировавший от ООП. а тут читаю вас, и как будто С++ и не включает в себя большую часть С... вы разрываете мои шаблоны!
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
18.06.2012, 02:21 #41
Цитата Сообщение от Paporotnik Посмотреть сообщение
всегда считал, что С++ это C, мутировавший от ООП. а тут читаю вас, и как будто С++ и не включает в себя большую часть С... вы разрываете мои шаблоны!
ну по-нормальному программы на с и с++ должны быть похожи только в общих чертах
классы, наследования, шаблоны, константы, перегрузки, stl, исключения, куча других стандартных классов, области видимости, теги типов, свои способы приведения типов итп
одни и тежи задачи решаются совершенно разными средствами

с для с++ как ветхий завет для христианства - только мотивы общие, все остальное разное
0
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
18.06.2012, 04:45 #42
Бьерн Страуструп "Язык программирования С++"
"стоит ли изучать С до С++" я твердо убежден, что лучше всего начинать непосредственно с С++ . С++ безопаснее, выразительнее, он уменьшает необходимость концетрации внимания на низкоуровневой технике. Вам будет легче выучить хитроумные штучки на С, которые требуются для компенсации отсутствия в нем высокоуровневых возможностей, после того как вы познакомитесь с общим подмножеством С и С++ и с некоторыми методами высокого уровня, поддерживаемыми в С++ непосредственно
Добавлено через 32 минуты
Бьерн Страуструп "Язык программирования С++"
Знание С не является обязательным для изучения С++. Программирование на С поощряет многие технические трюки, которые становятся ненужными благодаря С++

Однако хорошие программы на С имеют тенденцию походить на программы на С++

При изучении С++ поможет опыт использования любого языка со статическим определением типов
Рекомендации для программистов на С
Чем лучше вы знаете С, тем труднее вам будет избежать программирование на С++ в стиле С, теряя при этом потенциальные преимущества С++

Не по теме:

alex_x_x Вы до сих пор думаете это смешно?

0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.06.2012, 04:57 #43
Чем лучше вы знаете С, тем труднее вам будет избежать программирование на С++ в стиле С, теряя при этом потенциальные преимущества С++
Чушь. Также можно сказать, что Паскаль мешает писать на плюсах. Что плюсы мешают питону. Это два разных языка. И пока вы это осознаете, вам не составит труда провести между ними черту и писать довольно успешно на обоих языках в присущем им стиле.
0
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
18.06.2012, 05:02 #44
Это сказал не я. Это написал Страуструп. Я понимаю для вас он никто и ничто.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.06.2012, 05:31 #45
Цитата Сообщение от daslex Посмотреть сообщение
Я понимаю для вас он никто и ничто.
Хотите так думать - думайте. И закончим на этом. Свое мнение касательно цитаты я уже сказал.
0
18.06.2012, 05:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 05:31
Привет! Вот еще темы с ответами:

С чего начать? - C++
Хочу изучить C++ Пожалуйста посоветуйте что прочесть и какую прогу и где скачать(купить). Спасибо!

С чего бы начать... - C++
Здравствуйте, все! Я новичок на вашем форуме. Немного о себе: В начале этого года изучил HTML, позже пытался CSS, но не поддается(не...

C чего начать? - C++
Сегодня начинаю С++! Скачал учебник, а какую среду выбрать? Помогите! Плиз! И линк тоже!

с чего начать? - C++
Добрый вечер, я бы хотел изучить язык С++ с нуля. Посоветуйте книгу пожалуйста а то попадаются не слишком современные и удобные((


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
45
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.