до этого никакого языка программирования не изучал
Послушай. Я очень люблю C++, но даже я порекомендую начать с чего-то более простого, например с Pascal/Delphi. С (а особенно С++) - не самый легкий язык. Может вообще отбить охоту.
Это как спрашивать про кругосветное путешествие, если ты из дому своего никогда не выходил.
C Кобола давай уж зразу, зачем мелочиться? Рекомендованое тобой дерьмо никому сейчас даром не нужно.
Паскаль - вполне серьезный язык. Промышленный стандарт ISO/IEC 7185:1990 и ISO/IEC 10206:1990 . Компилятор под разные платформы; входит в gcc. Активно развивается. Много библиотек: пиши хоть с ОpenGL, c Qt, хоть с чем угодно. Хорошая документация.
Разрабатывался специально для обучения людей программированию. При этом позволяет писать вполне серьезные программы. Тот же Total Commander и Skype написаны именно на Паскале.
И главное: если человек планирует потом перейти на С/С++, то Паскаль является идеальной кандидатурой. Процедурное и объектно-ориентированное программирование. Работа с памятью. Близкий синтаксис.
Я сам перешел с Паскаля на С, потом на С++; С соблазнил свои более гибким синтаксисом (хоть порой и менее понятным) и низкоуровневостью.
Объектно-ориентированное программирование в С++ Р. Лафоре - хорошая, добротная книга. Ещё довольно хорошо расписывает Джесс Либерти в «С++ за 21 день» А то ща насоветуют, Страуструпов и трупов страусов... кодеры 80-го левела ))
Не бывает плохих языков, бывают плохие программисты(это к выбору языка и «5 лет»). А книга очень даже хорошая. Автор с основ, по частям, на примерах рассказывает про язык, просто и понятно, для новичка самое то.
При чём тут 21 день? Если книга так называется, это ещё не значит, что через 21 день будешь шпарить на С++ как на родном русском. Книга может называться как угодно, хоть «C++ за 5 минут» главное суть, подача материала. Остальное зависит от человека.
Джесс Либерти
Освой самостоятельно C++ за 21 день
В книге широко представлены возможности новейшей версии программного
продукта Microsoft Visual C++. Подробно описаны средства и подходы
программирования современных профессиональных приложений. Материалы
книги дополнены многочисленными демонстрационными программами, в
процессе разработки которых максимально используются возможности
программных инструментов Microsoft Visual Studio. Особое внимание уделено
новинкам версии 6.0 и новейшим технологиям объектно-ориентированного
программирования, включая использование библиотеки MFC и шаблонов
классов, а также создание связанных списков. Отдельное занятие посвящено
вопросам объектно-ориентированного анализа и проектирования приложений.
Подробно рассмотрены все средства и подходы конструирования собственных
пользовательских классов.
Простите, мы на винфаке, да? В моей слаке ЭТО не работает.
Откуда вы такие тупые лезете? Речь идёт о С++, и то что книга именуется «С++ за 21 день», а так же то, что автор в книге для примеров использует Visual C++, ну никак не мешает учить именно язык(ещё раз повторю - язык) по этой книге, тем более что большая часть примеров(если не все, не помню уже) это консольные программы, которые будут работать хоть на GCC, хоть на Visual C++, хоть на чёрте лысом... это здесь не принципиально. И то что у тебя, рукожопа, это якобы не работает, и ты не можешь перенести пример из книги на свою «слаку», идёт тебе в минус, как программисту... да и программисту ли.
тебе мало говна? (кстати, через «о» пишется слово «говно»)
Потому, что сначала учатся ходить, а только потом ездить на велосипеде.
аналогия мимо кассы. На велосипеде один раз надо научится, а вот C++ нужно постоянно изучать. И книжки нужны не такие древние как это говно.
И да, с какого перепуга в этой книжке STL не описано? Автор полагает, что надо самому костылить? Где итераторы, где умные указатели, где управление памятью? Где всякие именно C++ идиомы? А зачем рассказывать про переменные кучу страниц? Это любой школьник должен знать. Да и вообще, глупо первый ЯП изучать C++. Оно слишком сложно для новичка. Лучше хорошо знать пхп, чем плохо C++.
Вот только у Страуструпа описание современного с++, а ты рекомендуешь говно мамонта. Где в твоем 21 дне auto, for по коллекциям, лямбды, constexpr, final, override, move-семантика?
самая лучшая книга по С++ для начинающего которую я видел: «С++ для профессионалов», охвачены практически все нюансы разработки и разработки нормальных программ, последовательно и методично, безо всяких ос-специфичных вещей
Потому, что сначала складывать и вычитать, а только потом переходят к интегралам. Не знаешь почему? Если ТС начнет с потоков, исключений, шаблонов и других контейнеров, у него такая каша в голове может образоваться!
дык если так пробежать с нуля за 21 день, то каша и получится. Полно других, простеньких ЯП, которые можно действительно за 21 день усвоить. Python например. А что-бы на C++ писать, нужно отлично знать, КАК и ПОЧЕМУ это всё работает. В пайтоне только один путь, а в C++ Over9000 способов, но правильный лишь один. Остальное — кривой говнокод. Ну и в C++ полно legacy от сишки, причём работает и то и другое. Но юзать нужно лишь C++. А откуда новичок знает, где сишка, а где C++? А сейчас ещё и ФП появилось.
все что угодно, что Вы подразумеваете под «этими вещами» (если можно, конкретно)?
1. файлы? Я что-то там кроме stdin/stdout не наблюдаю.
2. Сеть? Мы в 21ом веке живём, а не в двадцатом.
3. ГУЙ? Ну или там вебинтерфейс например.
4. Shared lib (DLL), к примеру OpenSSL, zlib. Самому писать?
Всё вышеперечисленное ОС специфично. И нужно.
Hello World можно и на питоне написать не хуже.
если Вы считаете это хорошей практикой для обучения С++
я считаю, что C++ не годен для первого ЯП. В нём полно не очевидных вещей, и UB на каждом шаге. Кстати про UB в рекомендованной вами книге есть? Как обычно, вскользь, походя?