×Закрыть

Нужно наставление начинающему

Доброго времени суток пользователям данного ресурса. Прежде чем задам вопросы, напишу предысторию (постараюсь кратко).

В школьные времена, как уже заведено по стереотипам — я плюнул математику (а зачем она мне нужна...) но к тому-же, когда на уроках информатики дело подошло к Паскалю — всё шло на ура, потом я увлёкся ВЕБом и так же уже имел успехи, даже некоторые делал за финансовое вознаграждение.

В ходе этого я понял, что программирование мне нравится (на это повлияло и то, что работа за компьютером сама по себе интересна и я в неё могу погружаться конкретно и надолго), что очень интересно что-то своё написать, продвигать в массы (авось кому-то пригодится и поможет). Было несколько попыток выбора ЯП (с мониторингом сфер их применения), но увы потом был застой. Далее было всё так же около полутора года метаний туда сюда, поступление в универ «для корочки» (кому интересно — на юрфак), но после идеально-закрытой сессии я его покинул из за того, что стало слишком скучно. Было много вариантов что и как делать, но я выбрал один (не знаю насколько он правильный, но думаю — что так или иначе он сыграет свою роль). А заключался он в том, что в свои 20 (говорят что уже поздно) я поступил в универ по специальности Software Engineering и сейчас нахожусь на первом семестре обучения. Математику пришлось учить, и это дело даже начало «слегка» нравится, догоняю общий курс и в принципе с ней у меня пока-что хорошо, а что «не хорошо» — разбирается и совершенствуется.

Но вот отдельная тема — это программирование, как раз по нему и имею вопросы. Я как «не знаю кто» еще толком и не определился куда метить, так что сейчас иду с программой вровень (как поколодник), надеясь в будущем разобраться в какую же сферу мне метить и какой ЯП учить.А сейчас на ОП (основы программирования) мы изучаем С++ (консольный вид). За эти полтора месяца мы неспешно (неспешно потому, что пока в конспект лекцию, потом примеры и т.д. — кушает очень много времени) прошли банально — Алфавит С++, типы данных, мат. выражения, ввод\вывод (используем потоковый, но и с другим вариантом знаком) программирование линейных, разветвлённых видов (условный оператор), switch и циклы. Мною уже даже на базе этих знаний была принята попытка написать матричный калькулятор (не только с элементарными действиями, но и методами решения СЛАУ), однако задача обрубилась =\

И вот хотел бы узнать от опытных «погроммистов» так-называемые шаги для движения в С++ (ибо пока не представляю какой ЯП и для чего выбрать). А именно:
1) Какой раздел и за каким учить?
2) По какой книге идти и что вообще делать?

Да бы не идти как «слоупочный олень» по учебной программе а выходить вперёд (самообучение на дому мне даётся относительно легко, практично и быстро, и не использовать его — будет глупо) За книгами еще не учился, но юзаю курсы на порталах и изредка видео-курсы.

Вроде как-то так, не всё что хотел — сформулировал и написал, но думаю и для этого пойдет. Вышло не столь кратко, как я ожидал — но думаю это не критично.

З.Ы. Всем тем, кто осилит эту стену текста и сможет хоть как-то запульнуть меня на путь — буду крайне признателен за помощь и усердие.

Ежели возникнут какие-либо ко мне вопросы — задавайте, буду отвечать и разъяснять.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

C++ без реального программирования в индастри не может стать рабочим инструментом. Есть CppCon www.youtube.com/user/CppCon — тут мастера обсуждают самые модные, нужные концепции и практики языка, но это может стать полезным только тогда, когда «чувсвуешь» С++ как инструмент разработки. Идеально это найти junior c++ в какой-нить продуктовой компании (Ubisoft, Materialise...) и у перинимать опыт у реальных профи на реальных проектах. Это так-же добавит мотивации и даст понимание текущего горизонта. Обязательно смотреть чужой код!!!!! Паралельно почитывать всяких Мейерсов и Саттеров и т.д. Обязательные концепты — memory model, generic programming, data structures (STL), O notation, Caches — очень важно, Алгоритмы. Желательно понимать mictoprocessor architecture и theading (concurrency and parallelism). Короче, самостоятельно это почти нереально. Но в контексте РЕАЛЬНЫХ задач эти важные «знания» будут запоминаться и врабатываться.

Мною уже даже на базе этих знаний была принята попытка написать матричный калькулятор (не только с элементарными действиями, но и методами решения СЛАУ), однако задача обрубилась

Метод Гаусса не зашел ?

Да пофиг на ЯП, учи англ чтобы свободно мог говорить, сейчас на софт скиллы забивают, главное чтоб инглиш норм был(сужу по своему опыту собеседований и т.п)

Подход вобщем правильный. Старайся учиться чему-то кроме того или глубже, чем дают в вузе.
Книжка — новичкам советовами Стенли Липмана книжку.
Совет начинать с толкового изучения С — тоже хороший.

азаза, первый семестр обучения, уже думаешь, на чем веслать, ты сначала закончи хотя бы бакалавра, а потом думай, а то веслать метлой будешь, по плацу, у нас в стране это популярная нынче тема

Я программистом стал в 32. Так что не поздно))

Не верь, его ещё в 13 лет укусил программист.

Вообще С++ выучить полностью нельзя.
А шаги?
Учи итерационно.
Разберись в простейшем ООП и простейших шаблонах
И по кругу итерациями погружайся глубже.

а почему в 20 уже поздно то? постоянно тут такое читаю

И не говори, мне слегка за 30-ть, а я вот С++ только начинаю учить и как-то пофиг сколько мне уже стукнуло !

Мне предложили работу на Unreal Engine в другой конторе и дали время на подготовку ...

Не лезь сразу в сложности — их редко юзают. Начинай с простого и понимаемого.
Того же Вандервуда и разбирал в 3 подхода и то не всё понял в итоге. Но те зашкаливающие по пониманию фичи я и не юзаю и юзают их бустописатели только.
Ну а учил я по Страуструпу.
По сути отличие от С# у тебя будет только в понимании, что никаких горбатых коллекций (т.е. за жизнью всего ты должен смотреть сам) нет и есть ссылки, указатели и собственно объекты и разные типы.
И как совет возлюби const.

И не забывай про UB — это любимое развлечение в плюсах.

ааа, я кажется поняла — у нормальных людей после 18 мозг прокисает. Не успел — пиши пропало

А потом формируется новый. Ну типа как есть молочные зубы, так есть молочный мозг.

Осторожно, сюда не нажимай, топик только для натуралов.

Если начинаущий — забей на «плюсы» (насколько это возможно) и начинай с C#.

Если плюсы нужны по учёбе — пользуй их для тестирования самописных алгоритмов + структур данных (для этого хватит и консоли).

Лучше попробуй Haskell.txt

www.relisoft.com/book
Не по языку, а как писать что-то более-менее нормального размера, не запутавшись в шнурках.
Потом modis.ispras.ru/...​rkin/private/patterns.pdf
И на вики можно много всякого начитаться.

Для языка — вначале обзорник 101.lv/learn/C /index.htm
Чтобы разобраться в деталях www.dietmar-kuehl.de/mirror/c -faq
Дальше можно почитывать Майерса tproger.ru/books/cpp-books но он больше пригодится для удовлетворения начальства на собеседованиях

Еще надо что-то по многопоточности и по линуксу с сетями

Хорошая книжка для общего развития math.kubsu.ru/Debian_Tanenbaum.pdf

20 это уже совсем старик, по меркам айти

А дальше что ? Всем срать на топы.

И что дальше ? Всем насрать сколько у тебя инди игр сделано через месяц релиза html5 и дальше.

вот так и знала что это предел...

Плевать. Все пункты заканчиваются на том что кто-то будет течь при виде.. Не думаю что стоит ребенку прививать ложные ценности. Случай когда это просто по душе и тут не важно какие «комбаты» текут при наличии достижений (их еще кстати достигнуть надо, кстати говоря требую пруфов).

Ты отстал от жизни. Этим копипастам лет по 10.

Решил запугать чела?

Вообще 70% из написанного тобой вначале стези С++ не нужно. А среду я таки посоветую QtCreator и Cmake для сборки.

Подписаться на комментарии