За какое время с нуля до высокого уровня получится овладеть с++ если очень очень плотно изучать?
С программированием знаком , знаю питон основы ( на этих основах юзаю уже год+) ), что то пытался в вебе(неуспешно) , и сейчас с++ начал по чучуть знакомится (нравится).
Хочу очень конкретно заняться с++ что бы когда то там выйти на работу и нормас зарабатывать.
Сколько уйдет на это времени если конкретно изучать 8 часов в день без выходных ?
Какой уровень будет спустя пол года , год , два ?
- Вопрос задан более двух лет назад
- 4221 просмотр
- Вконтакте
21 день

- Вконтакте
Да никто не знает сколько конкретно у ТЕБЯ это займет.
Все люди разные.
- Вконтакте

Нормас зарабатывать можно и на питоне.
- Вконтакте

- Вконтакте
Не путать язык программирования и библиотеки/фреймворки и принципы их построения. А еще есть банально алгоритмы и умение их создавать и хотя бы правильно использовать. А еще есть тулчейн — рабочее окружение, без которого в принципе запустить сборку не получится, и очень часто умение настраивать его под задачу может занимать больше времени и знаний чем сама разработка. Попробуй к примеру собери из исходников браузер (cromium или firefox), чтобы подправить в исходниках пару простых моментов.
И главное, если это твой первый язык, учить бы будешь не сам язык а собственно программирование.
С языком разберешься быстро (может даже недели а не месяцы), даже не так, в подавляющем большинстве случаев не требуется знать весь язык, есть некоторый синтаксический базис, да, он нужен (это как понимать зачем нужны отступы в питоне, или что такое преобразование типов в си), а есть огромное количество нюансов, которые нужно понимать чтобы не наступить на грабли для этого есть документация, ну и по ходу придется разобраться.
Невозможно подготовить тебя исключительно теоретически, и потом стать великим гуру на практике, как минимум нужна практика в процессе обучения, и вот уже от нее и твоих способностей к обучению и от образа мышления и будет зависеть, как долго нужно будет идти к цели, может и годами.
Как долго учить с++ ? [закрыт]
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
Закрыт 5 лет назад .
Наверное уже всех давно задолбал этот вопрос 😀 , но все-таки ребят сколько же нужно обучаться с++ чтобы уметь самому создавать небольшие проги . Я не говорю о огромных проектах, а просто для себя типа небольшая 2д игра. Я стараюсь все понимать, смотрю видеоуроки, примерно 2 — 5 штуки за неделю 😀 Опытные прогеры просветите меня и есть ли какие-нибудь советы новичку ?) (кстати я уже просмотрел уроков 30 и в целом понимаю как все устроено и умею пару вещей 🙂
Неудержался
Просто смотреть видеоуроки недостаточно. Основные усилия при изучении любого языка программирования должны быть направлены на практику. Вы должны как можно больше писать программ, иначе знания просто не закрепятся. Ставьте перед собой задачи и решайте их, со временем усложняя эти задачи. Только так вы сможете освоить C++ (или любой другой язык). И именно от количества практики зависит скорость вашего обучнеия.
И ещё. Я понимаю, что у каждого человека свои способы получения и усвоения новой информации, но я бы посоветовал перейти с видеоуроков на книги. Дейтела, например. Всё-таки книги по программированию, в отличие от видеоуроков, пишут (в основном) специалисты, информация в книгах проходит редактуру и содержит гораздо меньше ошибок, неточностей и недоговорок, чем видеоуроки, которые сейчас клепают все кому не лень.
Для «типа небольшой 2д игры» вообще не обязательно на чем-то уметь программировать. Есть такой движок, называется Construct 2. На нем можно делать «типа небольшие 2д игры». Знаю, звучит не очень вдохновляюще. Поэтому лучше просто загугли сразу про этот движок. Прочувствуешь всю его простоту по первому взгляду. Посмотри на ютубе пару видео о нем. Материала по нему предостаточно, в том числе на русском языке. И как бы оно плохо не звучало, вещь довольно прикольная. Не очень перспективная, но прикольная.
Если же у тебя все-таки где-то в глубине души есть желание делать большие и классные игры (2д/3д — не важно), а не только лишь «типа небольшие 2д игры» — тогда лучше всего подойдет C# и Unity.
Для сравнения. Пока ты будешь «вариться» во всем этом, то:
В случае с Construct 2:
Ты можешь неспешно что-то пытаться делать, изучать, что-то придумывать, и через пару-тройку месяцев родишь более-менее играбельное и готовое «нечто» (а не очень готовое, но хоть сколько-нибудь играбельное — можно хоть через пару дней). Если повезет с идеей, не подкачаешь с реализацией, то игру можно даже опубликовать и продавать. Но это скорее исключение, чем правило.
Из плюсов, относительно Unity:
- С ним очень просто и приятно работать, если ты не особо шаришь в программировании
- Не нужно уметь программировать ни на одном из языков (хотя эти знания будут очень кстати, потому что ты все равно в каком-то смысле будешь программировать различные действия и взаимодействия)
- Можно быстро делать разные небольшие 2д игры
Из минусов:
- У движка есть нехорошая особенность, которую в двух словах не объяснишь. Но при падениях FPS у игры, ты можешь столкнуться с тем, что некоторые объекты будут проходить сквозь друг друга (в частности это касается небольших объектов, с большими объектами все в порядке).
- Движок также мультиплатформенный, как и Unity, но для мобильных платформ он не подойдет, потому что оптимизация огорчает. Тут скорее даже не движок виноват, а то, что игра выходит на HTML5. Поэтому игра на многих даже очень хороших мобильных устройствах будет плохо идти. Исключение: какие-нибудь «point and click» квесты или другие игры, где не нужен хороший FPS. Десктопных игр это не особо касается, на них проблем с производительностью при текущих мощностях компьютеров нет.
- Если захочешь продавать игру, нужно приобрести лицензию (8000р с небольшим)
В случае с Unity и C#:
Ты можешь неспешно что-то пытаться делать, изучать, что-то придумывать, и через пару-тройку лет родишь более-менее играбельное и готовое «нечто» (а не готовое — через пару-тройку месяцев). Скорее всего такой продукт можно будет продавать.
С чего начать изучать язык C?

Программирование на Си началось в 1973 году с желания установить игру на рабочий компьютер. С тех пор разработчики активно используют его в своих проектах, в 2023 году это второй самый востребованный язык после Python. Язык полюбился программистам за его быстродействие и эффективность. Разбираемся, как изучить язык C с нуля и что для этого нужно.

«IT-специалист с нуля» наш лучший курс для старта в IT
История языка Си
Над языком Си с 1969 по 1973 год работали инженеры Кен Томпсон и Деннис Ритчи из американской компании Bell Labs. До этого языки высокого уровня были очень ограниченными и не позволяли делать многие вещи, ставшие сегодня привычными. Многие функции разработчикам приходилось писать на ассемблере или на уровне машинного кода. Такой подход замедлял разработку и требовал глубоких знаний о том, как работает железо.
C++ — это и есть настоящее программирование
Согласно одной из легенд, у Ритчи была любимая компьютерная игра, которую он запускал на сервере компании. Ритчи захотел перенести игру на рабочий компьютер, но на нем не было операционной системы. Поэтому он решил переписать уже имеющуюся ОС, которая была полностью написана на ассемблере, на высокоуровневый язык Би. В итоге оказалось, что возможности Би не позволяют использовать все особенности компьютера, поэтому было решено создать свой язык программирования. Так и появился Си.
Язык Си стал популярным в основном из-за его широкого применения в операционной системе UNIX, на базе которой разрабатывают дистрибутивы Linux.

Кен Томпсон (сидит) и Деннис Ритчи (стоит) разрабатывают UNIX для одного из первых серийных компьютеров. Источник
Зачем учить язык C
Си начал приобретать популярность практически сразу после своего релиза. С тех пор язык не теряет позиции и держится в пятерке лидеров. В 2023 году Си стал вторым в рейтинге популярности языков TIOBE, и за все время он не опускался ниже второй строчки.

Рейтинг TIOBE. Июль 2023. Источник
Почему C популярен?
- Си повсеместно используется в разработке быстрых и железозависимых инструментов. Ядро популярной операционной системы Linux написано на языке Си из-за его высокой скорости работы и производительности. Главное его преимущество в том, что инструкции прямо транслируются в машинный код, а в результате разработчик видит на экране ровно то, что задумывал. Также Си бережно относится к ресурсам машины, на которой он работает.
- На Си основаны другие популярные языки программирования. К примеру, C++ и Objective-C можно считать прямым продолжением развития языка. Также C# и Java обладают классическим Си-подобным синтаксисом. Поэтому знание Си может заложить базу и помочь в изучении более современных языков программирования. Популярные динамические языки программирования, такие как Python и PHP, написаны на Си. Его знание поможет лучше понять внутренние механизмы работы языка. Также это позволит разрабатывать высокоэффективные библиотеки и модули.
- Си обычно используют для реализации сложных и специфических задач. К примеру, мобильное приложение можно разработать с помощью удобных фреймворков, которые не берегут ресурсы устройства, но позволяют получать быстрый результат. Драйвер для видеокарты уже придется разрабатывать с использованием более производительного языка — Си.
Важно отметить, что Си придерживается процедурной парадигмы, поэтому в языке нет поддержки объектно-ориентированного программирования, классов и наследования. Разработчикам доступны функции и структуры данных, а также широкие возможности работы с памятью.
Что еще пишут на C:
- ядра операционных систем и модули для них в большинстве случаев разрабатываются на Си из-за его возможности получать доступ к железу;
- аппаратным драйверам также важно получать доступ к железу и быстро работать, сложно обойтись без Си;
- компиляторы для других языков программирования;
- утилиты и прикладные программы;
- игровые движки;
- ПО для банкоматов, платежных терминалов, станков, телекоммуникационного оборудования и других систем.

Разработчик игр на Unity – одна
из самых творческих профессий в IT. Создайте виртуальные миры уже через полгода обучения
Как изучить C с нуля
Язык Си можно изучить самостоятельно. Для этого вам понадобятся мотивация, дисциплина и качественные источники информации. Сейчас в интернете много курсов, книг, статей, видео, документаций и самоучителей языка C. Делимся подборкой проверенных материалов.
Онлайн-пособия и курсы
Руководство по изучению Си от CppStudio — раздел сайта включает в себя подробные уроки по основам программирования на языке Си. С его помощью можно разобраться с основами и перейти к более глубокому изучению. Все уроки доступны на русском языке.
Руководство по изучению Си от Metanit — наиболее полное руководство на русском языке, включающее как основы языка Си, так и продвинутые темы.
Интерактивный курс от W3 School — базовый курс, включающий основы синтаксиса, работу с функциями, файлами и структурами. Руководство оснащено примерами кода, задачами и тестами. Весь курс разработан на английском языке.
Курс от Free Code Camp — краткий курс, предназначенный для первого знакомства с языком. Авторы уверяют, что всего за несколько часов можно освоить основы Си и начать писать код.
Learn C — бесплатный курс Си для начинающих и продвинутых разработчиков. В руководстве можно найти материалы для изучения указателей, рекурсии, деревьев, списков и других сложных структур данных.
Книги
«Язык программирования Си», Деннис Ритчи, Брайан Керниган — учебник от автора языка Си, включающий в себя все необходимые знания и теоретические материалы. Возможность узнать то, как работает Си, от того, кто придумал язык.
«Learn C The Hard Way», Зед Шоу — этот учебник поможет выучить Си на реальных примерах и задачах, а не сухой теории. Книга охватывает не только концепции языка, но и алгоритмы, структуры данных и основы автоматизации тестирования. Оригинальное издание доступно на английском языке, но в Сети есть переводы на русский.
«Язык Си в примерах» — бесплатная онлайн-книга на открытой платформе «Викиучебник». Авторы книги объясняют основы языка на живых примерах, которые применяются в ежедневной практике разработчиков и используют оформление кода, приведенное в книге «Язык программирования Си» от создателя языка. Учебник доступен на русском языке, а платформа «Викиучебник» позволяет сохранить его в PDF и открывать без доступа к Сети.
«Using C on the UNIX System», Дэвид А. Карри — Си чаще всего используется для разработки под операционные системы на базе UNIX, а книга поможет понять, как использовать язык в этой сфере. Темы, затронутые автором, подойдут тем, кто уже уверенно чувствует себя в Си и хочет двигаться дальше.
Видео
«C Programming Tutorial for Beginners» от Free Code Camp — четырехчасовой видеокурс по основам Си для новичков. Подойдет тем, кто знаком с общими концепциями программирования и хочет погрузиться в Си. Автор курса рассказывает базовые принципы языка на примерах и практических задачах. Видео на английском языке.
«C Programming Full Course for Beginners» от Programiz — пятичасовой курс для начинающих разработчиков на Си. Темы в видео разбираются так, чтобы их поняли даже те, кто никогда не пробовал писать код. С помощью курса можно получить все необходимые знания для разработки собственных проектов;
«CS50» от Гарвардского университета — самый популярный курс по основам программирования. Будет полезен перед изучением Си, так как поможет понять основные принципы работы компьютера и взаимодействия с ним. Курс состоит из десяти лекций, а полный хронометраж составляет более суток. Лекции включают в себя основы Си, структур данных, алгоритмов, баз данных, Python и веб-программирования.
Инструменты для работы в Си
Сам код на Си можно писать в любом текстовом редакторе, который не добавляет форматирование. Вариант рабочий, но замедляет работу. Поэтому одни программисты написали удобные среды разработки для других программистов.
Интегрированные среды разработки (Integrated Development Environment, IDE) включают в себя компилятор, редактор кода, инструменты контроля версий, отладки, дебага и управления файлами проектов. Обычно IDE поставляются с функцией подсветки кода, исправления ошибок и линтерами для автоматического форматирования. Таким образом, устанавливая IDE, пользователь получает все необходимое для быстрой и удобной разработки.
Сейчас среди профессионалов популярны следующие IDE:
Visual Studio — среда разработки от Microsoft. Позволяет писать код не только на Си, но и на C++, C#, JavaScript, TypeScript и Python. Из минусов можно отметить, что полноценная версия доступна только для Windows. Microsoft выпускает сборку для macOS, но в ней нет возможности писать код на Си. Visual Studio доступна по подписке, но есть бесплатная версия для студентов, преподавателей и авторов проектов с открытым исходным кодом.
Visual Studio Code — редактор кода с возможностью кастомизации до полноценной среды разработки. VS Code разрабатывали в качестве редактора для веб-разработчиков, но сообщество выпустило расширения практически для всех случаев жизни и технологий. Из-за этого VS Code можно адаптировать для разработки на Си. Редактор кода в разы легче, чем полноценная среда разработки, поэтому с ним комфортнее работать на относительно слабых компьютерах. При этом есть поддержка всех основных функций и возможностей IDE. VS Code можно использовать бесплатно. Доступны версии для Windows, macOS и Linux.
CLion — полнофункциональная среда разработки на C/C++ от компании JetBrains. Поставляется вместе с функциями редактирования кода, генерацией шаблонов и инструментами для рефакторинга. CLion умеет распознавать ошибки, предлагать исправления и анализировать качество кода. Также в IDE есть продвинутый отладчик кода со всеми необходимыми для работы функциями. CLion используют в Google, BMW, ByteDance и NASA. Установить среду разработки можно на компьютеры под управлением Windows, macOS и Linux. Важно отметить, что CLion полностью платная среда разработки, но есть пробный период на 30 дней.
NetBeans — открытая и полностью бесплатная среда разработки от сообщества разработчиков-энтузиастов, а проект поддерживает и спонсирует компания Oracle. Поддерживает подсветку синтаксиса, инструменты для рефакторинга и контроля версий. Разработчики NetBeans стараются не добавлять в среду разработки лишние функции и придерживаются строгого минимализма. Благодаря этому IDE запускается и работает без ошибок даже на слабых компьютерах. Кроме Си, есть поддержка Java, JavaScript, PHP, HTML, CSS и Python. Доступны версии для Windows, macOS и Linux.
Сколько времени нужно, чтобы выучить C++? (Быстрый ответ) 6 мин чтения
Вы хотите изучать С++? но чувствуешь, что она возьмет весь мир? Не волнуйтесь, эта статья объяснит “Сколько времени нужно, чтобы выучить C++», «Сложности в C++» и как быстрее выучить C++.
C++ был разработан, чтобы объединить основные возможности языка C и языка высокого уровня. Первоначально он назывался или назывался C с классами. Однако за прошедшие годы C++ накопил различные применения, такие как разработка видеоигр, автономное вождение и т. д.
Это один из самых популярных компилируемых языков, что делает его быстрее, чем другие языки, такие как Java и Python.
Однако вопрос в том, сколько времени нужно, чтобы выучить c++?; давайте подумаем, сложен ли C++, а затем сделаем вывод о том, сколько времени это займет.
Сколько времени нужно, чтобы выучить C++?
Сложно ли выучить C++?
«Сложен ли C++?» — вопрос, который волнует каждого читателя или будущего программиста. Однако на этот вопрос нет правильного или неправильного ответа.
Великие учителя думают, что на самом деле нет ни одного сложного или легкого предмета; все зависит от определенных важных факторов, таких как предыдущее образование, образование, опыт и т. д.
Это неизменно означает, что если мы разберем все эти основные факторы в правильном направлении, мы сможем легко найти С++. Тем не менее, нет никаких сомнений в том, что C++ обычно воспринимается и рассматривается как более сложный, чем другой уровень языка.
Эта трудность может быть связана с парадигмой программирования, поскольку языки более высокого уровня спроектированы так, чтобы быть проще, чем языки более низкого уровня.
Например, Java и Python стремятся скрыть от пользователя свою сложность; хотя это и плюс, его также можно рассматривать как недостаток, делающий язык более высокого уровня менее гибким.
Please enable JavaScript
Язык низкого уровня против языка высокого уровня
Основное различие между языком низкого уровня и языком высокого уровня можно сравнить с действиями в небольшом производственном помещении.
Если в производстве участвует несколько человек, химик или инженер-химик занимается только протеканием конкретной реакции.
Другие рабочие выполняют другую работу, такую как уборка, стирка, сушка и т. д. Однако в сценарии, когда все не так, химик/инженер-химик должен выполнять всю работу, включая уборку, стирку и т. д.
Первая — это иллюстрация языка высокого уровня, а другая — языка низкого уровня. Это начинает давать нам представление о том, как работают оба языка.
C++, обладая некоторыми характеристиками языка низкого уровня, аналогичными характеристикам C, также демонстрирует некоторые характеристики высокого уровня, такие как поддержка объектно-ориентированного программирования. Из-за этого пограничного положения C++ часто называют языком среднего уровня.
Можно сказать, что C++ является гибридом, хотя и в этом есть свои особенности. сильные и слабые стороны.
Кто-то может сказать, что его синтаксис несложно изучить, особенно для программистов на C. Однако его универсальность, гибкость и мощность часто затрудняют его изучение.
Сколько времени нужно, чтобы выучить C++? (Сложность в С++)
Управление памятью
Способы создания структур данных в C++ и других языках высокого уровня сильно различаются. Эти структуры данных обычно физически распределяются по адресу в памяти.
Однако на языке высокого уровня менеджер памяти выполняет эту работу и снимает с нас напряжение. В С++ мы склонны больше управлять ресурсами и часто можем включать назначение переменной для использования и проектирование переменной, когда она больше не используется.
Управление памятью — очень сложная работа. Если не принять надлежащих мер, переменная может просто занимать место, не выполняя никакой работы. Это называется утечкой памяти.
Если эта утечка памяти продолжится в течение некоторого времени, вся система выйдет из строя.
Указатели
Эта тема, кажется, вызывает огромную путаницу у многих новичков в C++. Указатели рассматриваются как переменные, содержащие адреса других переменных.
Наличие указателя — большое преимущество, которым стоит воспользоваться. Вы можете работать с указателем (адресом вашей переменной), не используя саму переменную.
Это делает программирование более доступным и эффективным, а C++ — это эффективность; указатели довольно часто используются в программах на C++.
Неправильная обработка указателей снова может привести к проблемам с памятью. Представьте, что вы знаете указатель, но забыли переменную или наоборот.
Классы
Первоначальный дизайн C++, он был разработан как программа C с классами. Программисты, изучившие язык C или любой другой объектно-ориентированный язык, найдут эту программу очень простой и интересной.
Классы являются основой для сложных типов данных, известных как объекты. Они приходят со всеми видами атрибутов и функций.
Всякий раз, когда вы создаете класс, вы создаете новый объект, который уже готов со всеми функциями. Классы важны для отличного модульного кода.
составление
Каждая программа на C++ должна где-то запускаться; пространство, в котором выполняется большинство программ на С++, называется компилятором. Компилятор — это транслятор, преобразующий скрипты в язык, понятный компьютеру.
Несколько компиляторов соответствуют различным операционным системам. Написание кода C++ в интерактивной среде разработки (IDE), такой как Visual Studio или Eclipse; уже будет включать компилятор C++.
Ввод
Программистам, которые перешли с Python или других программ на C++, возможно, придется адаптироваться к его потребностям в типизации. С++ строго типизирован, а типизация на Python — если это утиная типизация.
Строго типизированный код имеет большое преимущество перед своим аналогом, поскольку он является самодокументируемым.
Однако в Python вам часто нужно написать строку документации, подробно описывающую, какие типы аргументов принимает ваша функция и что она возвращает; в C++ вся эта информация передается в самой функции.
Заключение
В общем, как говорится, не просто, но и не сложно выучить C++. Тем не менее, будет необходимо преодолеть перечисленные выше препятствия, потому что это определяет, насколько быстро или медленно вы будете изучать программу.
Нет определенного времени для завершения процесса обучения; все упирается в желание программиста и скорость обучения.