Мне 14 лет, учусь в 9 классе. Из меня слабый гений математики, но тянет в IT.
Решил с чего-то начать. Показались несколько языков программирования: Java, C# и C++. Пришёл к выводу, что C++ будет неплохим вариантом, так как даже если и не попаду сразу в цель, то после него будет легче учить языки.
Теперь настал момент непосредственно самого обучения. Посмотрел разные курсы.
Все используют Windows, все учат C++ в Visual Studio Community.
Созрел вопрос: Как учить C++ в таких условиях?
• Обучение только на Linux
• Английский слабый(Однако если других вариантов выучиться нет, то готов его подтянуть)
• Математика беда-бедой(Тоже готов тянуть если нужно)
Пойдёт ли вообще альтернатива Visual Studio Code для обучения? Что вообще надо учить для продвижения в IT на C++ и в каком порядке?
Прошу объяснить языком понятным для человека, который в IT мало что понимает, но очень хочет туда попасть.
1. C++ - это не бекенд. На нем практически никогда не пишут сервеную часть приложений.
2. Linux будет даже преимуществом. Для начала хватит любого текстового редактора. VS Code должен быть хорошим выбором.
3. Английский очень важен.
4. Математика в большинстве случаев нужна на уровне школьной арифметики, но она хорошо развивает мышление и логику - забивать на нее не следует.
VolgaVolga, В любом случае C++ подходит под мои цели. Английский подтяну.Отлично, с математикой помогли.
Как учить C++, я полагаю, можно найти в интернете. Но отсался вопрос по книгам. В Google я нашёл противоречивые выводы по книгам. Какую(ие) вы можете порекомендовать книгу(и) для изучения C++(Да и в целом необходимые для старта)?
Спасибо.
Как учить C++, я полагаю, можно найти в интернете. Но отсался вопрос по книгам.
Найти в интернете можно. Я тебе даже помогу. По книгам вопрос остался, я тебе даже и с этим помогу.
Волгу можно не слушать. Он заблуждается. Особенно про бекенд и фронтенд. C++ прекрасно используется и тут, и там. И вообще во многих областях разработки ПО. Надо просто всегда помнить о том, что C++ - это просто инструмент, а инструмент всегда выбирается от задачи.
Я могу сказать, что делал я. Но это совет из 90-ых (в смысле я 9 классе учился в 90-ые). И не знаю насколько актуально это сейчас.
Короче я вдруг с ужасом обнаружил, что осталось полгода до окончания 9 класса. Ну да там еще два года старших, а дальше что? Мои одноклассники больше про девок и пиво думали. Впрочем как и я. Но случилось так, что мой батя притащил меня к себе на завод. Поглазеть так сказать как работает рабочий люд. И мне жутко там не понравилось. А добили его слова "- Ну что сынок закночиш школу, армия путяга и к нам на завод?"
Вот тут то я очень сильно напрягся, на завод я не хотел, мне очень нравилось сидя в уютном кресле за компом писать всякие мелкие игрушки на паскале. Вот этим я бы хотел заниматься.
А школа у нас была слабенькая обычная и после нее мне поступление в нормальный вуз на программиста не светило. (да это тогда уже был мэйнстрим и конкурс был 30 человек на место).
Короче я не знаю есть ли щас такое. Но я нашел школу (да далеко от дома, приходилось на трамваях с пересадками ездить), где в 10-11 классах преподают преподы ВУЗа. Лекции они читали в школе, а лабораторки делали в вузе. Там же дали и всю нормальную базу. Алгоритмы, структуры данных, ооп, базы данных, сети, проектирование эвм, системное программирование, архитектура приложений, компьютерную графику и т.д. Короче весь стек снизу доверху. Где то с курса третьего практика в IT компаниях. И уже на защите диплома покупатели отбирали самых толковых на работу. Можно было выбирать куда идти сразу на нормальную должность на нормальную зарплату. Сидеть в стекляшке в уютном кресле пить кофе и заниматься любимым делом.
Но внезапно. Нужно дрочить математику, прям до белого тумана в глазах. Без нее ты просто тупо вступительные экзамены не сдашь и в универ не поступишь. Да и для серьезного программиста, а не условного формошлепа она пригодится. И да английский тоже надо учить.
Не знаю смогу ли я вытащить себя на уровень профильной математики... Я конечно попробую, но подобный маршрут мною воспринимается как маршрут «как пойдёт». Но самостоятельно готов изучать математику нужную для работы в IT.
Порядок обучения может быть разный. Но начинать с С++ очень тяжело если до этого у тебя вообще никакого опыта не было. Многие новички прогорают на строках, указателях и ручном менеджменте памяти.
Английский сегодня надо знать обязательно на уровне чтения документации. Без этого вообще безсполезно ходить в It. Вся новая документация про языкам и фреймворкам будет на английском. Ждать переводов - бесполезно и неконструктивно.
Пойдёт ли вообще альтернатива Visual Studio Code для обучения?
Начать стоит с учебника по языку, а IDE на старте желательно не использовать. Математика же может вообще никогда и не пригодится. Уж на старте она точно не нужна.
С тем, что не использовать иде, лично я категорически не согласен. Я согласен с тем, что не надо использовать все фишки иде, но не использовать вообще — это тратить время впустую. От того, что ты станешь имитировать макрос на рутинных задачах, лучше программировать ты точно не станешь, как и понимать предметную область. Другое дело несколько раз вручную пройтись, тут да.
и да не стоит прислушиваться к совету Сергей Горностаев , все же .IDE дает вам подсказки по всем функциям и не курите маны в поисках sprintf например. Впрочем как это под капотом работает знать все же нужно.
Сергей Горностаев, какая разница что я посмотрю в hpp, что в мане, что IDE мне выведет ?
Я лично смысла не вижу, плюс по табу дополнение это вообще круть, ну автозакрытие да и подсветка ошибки и вывод справки в чем ты накосячил очень ускоряет процесс обучения.
Зачем засорять свой чердак тысячами классов и 10 ми тысяч методов?
Лучше просто запомнить базовый набор технологий и знать где искать при случае, ну а набор классов и методов которые в "горячей памяти" он сам наработается.
Я категорически против советов читать Кнута. Это чтиво - специфическое. И чтобы его читать надо тоже иметь некую подготовку. Или может быть если автор - математик то тогда Кнут ему покажется более понятным. С моей точки зрения Кнут перегружает читателя ненужными вещами которые конечно развивают фантазию но могут не понадобиться аж никогда. Чего стоит только его виртуальный процессор MMIX в котором в качестве дисковых устройств есть (!) накопители на магнитной ленте. Офигеть актуально. Но это так. Шутки ради я сказал. А если без шуток то все исходники в книге господин Кнут пишет ни на Modula ни на Object Pascal и даже не на Блок-схемах а именно на кодах для виртуального процессора MMIX. Вот такие дела. Да. В реальной жизни никакого MMIX не существует понятное дело.
Вообще для быстрого и эффективного вхождения в Алгоритмы и Структуры Данных (АСД) я-бы предложил Вирта и Седжвика.
Кнута - можете читать. Ближе к пенсии. Или на пенсии. Возле камина. Теплыми вечерами.
Английский на уровне свободного чтения техдокументации - это вещь, которая вообще даже не обсуждается. Множество документации никогда не переводилось и переводится не будет.
Математика програмисту нужна не особо. Азы конечно знать надо, но задачи, где основа вычисления - нечастые (если конечно не забуриваться в криптографию или геймдизайн)
VS Code вполне себе годный инструмент. IDE вообще упрощает работу программиста в части рутины - подсветка спасает от тупых ошибок, расстановка скобок защитит от забывчивости :)