Хронология познания программирования, или как вы учили C++?

Вся суть, как мне кажется, уже размещена в заголовке. Здесь, я бы хотел лицезреть хронологию изучения языка. Какие книги читали, какими веб-ресурсами пользовались и т.д. Только, желательно, напишите именно хронологию, алгоритм изучения, так скажем.
  • Вопрос задан
  • 1750 просмотров
Пригласить эксперта
Ответы на вопрос 8
@Coderast
1) Пытался изучить C++.
2) Не смог
3) Забил
4) Выучил паскаль, понял что такое программирование
5) Пытался выучить C
6) Смог
7) Пытался выучить C++
8) Не понял ООП, тогда казалось, что C++ - это лишь ООП, хотя он возможен и в Си ( по прежнему так считаю, не вижу преимуществ C++ над Си, хотел бы услышать преимущества, спасибо )
9) Узнал про ассемблер
10) Выучил ассемблер
11) Задолбался писать сложные проекты в RadAsm
12) Вернулся к C++
13) Все понял и выучил

Какие материалы брал, не вспомню, извиняюсь.
Ответ написан
ManWithBear
@ManWithBear
Swift Adept, Prague
Страуструп -> Страуструп -> Страуструп.
Ответ написан
Комментировать
zenden2k
@zenden2k
PHP & C++ programmer
С++ невозможно выучить, даже не пытайтесь.

Я уже 12 лет учу.
1. Начинал с книги "Borland C++ 5.02" для чайников (моя первая книжка по программированию).
Благодаря ней я написал два класса Foo и Bar. Там еще было описание GUI библиотеки OWL.
2. Много читал rsdn.ru (ныне полумертвый), borland.xportal.ru, впитывал.
Практически никогда сам не задавал вопросов, потому что умел пользоваться поиском, да и с английским проблем не было. Отвечал на вопросы других на разных форумах, помогая другим, набирал знания.
3. Начал изучать разработку GUI приложений в C++ Builder.
5. Прочитал множество книжек. Уже точно названий не помню, мне понравилась книжка, где давались практические советы и примеры правильного/неправильного использования C++, кажется "Эффективное использование С/C++".
6. Писал в школе на уроках информатики реализацию всяких линейных списков/деревьев/вычислений интегралов/производных/простых уравнений/минимумы функции, правда, на паскале (нас заставляли)
7. Научился работать с потоками (thread). Написал кучу небольших проектов для себя, в основном Winapi + WTL.
Пробовал писать на С++ "игры" на OpenGL/DirectX.
Писал программы для себя и для других на С++ Builder, Delphi, Visual C++, C#, Java.
8. Еще в школе начал писать open-source проект на C++ (сейчас там около 70 тыс. строчек, частично кроссплатформенный, познакомился с особенностями разных компиляторов). https://github.com/zenden2k/image-uploader . Написал много других проектов поменьше.
9. Писал в универе лабы/курсовые/диплом на С++, C#, Java, Fortran, ASM, Bash, VHDL, Wolfram Mathematica, mssql.
У нас был курс С++ длящийся 2 семестра. Нас заставляли реализовывать самостоятельно стандартный контейнер (кажется std::vector). Еще писали какую-то базу данных на текстовых файлов с gui интерфейсом.
Изучил дискретку/теорию графов/матлогику/теорию компиляторов и формальных языков. Написал простой компилятор рекурсивного спуска на С++. Написал модель RTOS на C++. Написал какую-то непонятную систему массового обслуживания (СМО) сначала на паскале, потом на C++. Изучил межпоточную синронизацию на примере Winapi/Posix threads/java threads.
10. Изучил веб-программирование, PHP, Javascript, mysql/postgres. Написал кучу сайтов/веб-приложений.
Любимым сайтом стал stackoverflow.com
11. Прочитал книжку "Совершенный код." - та еще водичка.
Изучил книгу "Thinking in Java" и C# Дж. Рихтер. Хорошее знание других языков не помешает.
Открыл для себя Google C++ Style Guide. Начал частично следовать ему.

Но до сих пор я не могу сказать, что знаю C++ достаточно хорошо. Наверно, я просто тупой, никчемный программист.

Ошибки при компиляции шаблонов, и особенно ошибки линковки могут заставить меня зависнуть на некоторое время. Эти ошибки ну "очень информативные". Но благодаря опыту и интуиции я с ними справляюсь, а вот начинающему будет нелегко.
Ответ написан
vt4a2h
@vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)
Первый раз попробовал писать на C на курсах по программированию в 9ом классе. Потом на первом курсе института купил книгу Солтер, Клеппер "C++ для профессионалов" (лучше с неё не начинать конечно)... После того, как освоил C++ на достаточном уровне, взялся за Qt, потом за boost (уже чисто по работе). Было и есть много разных книг (легко гуглится и ищется по тому же тостеру), статей, личных проектов и т.п.
Что касается алгоритма... Читаешь, пробуешь пример, пробуешь в каком-нибудь проекте. Добавить-то больше нечего. Практика == успешное изучение. Ну и забывать про знания в смежных областях не стоит. Операционные системы, работа памяти, проектирование и т.п. Мало просто знать синтаксис языка, нужно уметь решать какие-то задачи практической направленности.
Ответ написан
Комментировать
GavriKos
@GavriKos
ВУЗ->паскаль->c->работа в вузе с хорошим наставником->с++ профит
Ответ написан
Комментировать
hacker342
@hacker342
Like Linux
Была нужна программа, но не хотелось платить за ее создание, ну и пришлось гуглить, читать книги, смотреть скринкасты. Программу написал ну и понеслось)
Ответ написан
Комментировать
@endemic
На первом курсе пробовал параллельно учить C++ параллельно с паскалем. Не пошло, т.к. была мутная методичка и в работе с памятью постоянно смешивались подход C (malloc) и C++ (new - delete). Отложил
Курсе на третьем читал Подбельского, пропуская ООП (типа учил C). Получил примерное представление.
На 5м курсе взялся за контрольные на заказ. Вот тут-то пришлось серьезно углубиться в более совреименны и нормальный C++ (понял наконец как рыботают ссылки, управление памятью, наследование, STL)
Короче. Если с первого раза не зайдет - не парьтесь :) Иногда до некоторых вещей надо "дозреть морально".

А Страуструп как учебник не подходит абсолютно. Скорее как книга помогающая уложить все по полочкам, когда уже все знаешь, но без системы.
Ответ написан
Комментировать
@UA3MQJ
Сначала много читал про него. Читал исходные коды - примеры в книжках. Потом начал писать свой проектец на с++/Qt. Потом попал в проект, который на этом пишет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы