M
M
Maxim312016-07-14 10:23:51
Books
Maxim31, 2016-07-14 10:23:51

What do you need to study to become a C++ programmer?

Such is my business. At school, computer science was taught only for one semester, and all that they managed to give to our 9th grade was the possession of standard office programs and the number system. Later I went to art school (I didn’t want to finish my studies at school anymore, that’s why I went to study as a graphic designer, because I liked to draw and work on a computer). Later, interest in information technology took its toll, and I independently mastered the program for the 9th grade according to the textbook by A. Yu. Bosova. I learned what algorithms, loops, functions, procedures are and wrote simple programs in Pascal. Later I began to read textbooks on algorithms and databases.
I am currently trying to learn C++. I understand that this is not an easy task, and in addition to the basic syntax of the language and writing programs, you need to know many other things. But I firmly decided that I want to do this. This is not youthful: “I’ll study it now, and then I’ll become a megaprogrammer!” After which everything is thrown into the far corner in a month. For a long time I was looking for information about what kind of work it was, weighing the pros and cons, choosing which specialty I should go to a technical university and in which niche I would like to work. I settled on system programming.
Because I already know that studying at a university can only provide the necessary fundamental base (thanks to the art school for teaching self-study and self-organization), and therefore I want to master at least the minimum myself.
And here is the question itself:"Что нужно изучать, чтобы стать системным программистом на С++? Книги по каким темам нужны? Какие программы писать? С чего начинать новичку?"
P. S. Заранее извиняюсь, за то, что много текста и за потраченное вами время.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
Александр Скуснов, 2016-07-14
@AlexSku

Вам надо выбрать направление. Лично мне нравятся 3D (скоростная графика) и обработка видео. Это библиотеки DirectX (включая язык шейдеров), DirectShow, Media Foundation.
Хотя вы написали, что хотите стать системщиком. Тут не помешает и ассемблер, и, может быть, разработка драйверов. Соответственно, другая литература.

T
theWaR_13, 2016-07-14
@theWaR_13

Вы начните с тех самых основ, не рвитесь раньше времени в какую то конкретную область. Начните с изучения базы C++, рекомендую почитать Шилдта и Лафоре, оба автора пишут достаточно простым языком.
После этого займитесь изучением алгоритмов, тут отлично подойдет Кормен (ну или Кнут, если осилите).
А дальше уже сможете углубляться в какую то отдельную область.

A
abcd0x00, 2016-07-15
@abcd0x00

Что нужно изучать, чтобы стать системным программистом на С++?

Нет системных программистов на C++, есть просто системные программисты, и они используют сразу много языков. Для начала тебе нужно понять, при чём тут математика. Вот смотри, есть файловая система на диске. Чтобы эти файлы экономно распределять и работать с ними быстро, алгоритмы работы с файлами оптимизируются. А оптимизируются они как? Правильно, оптимизируют они математически. То есть берётся какая-то математическая теория и из неё делаются выводы, как можно написать программу покороче, как можно сложить данные покомпактнее. Так придумали всякие математические деревья для файловых систем.
Поэтому, если ты математики знать не будешь, то ты просто ничего не поймёшь из того, что уже используется в системном программировании много лет.
Самое печальное, что в прикладном программировании всё то же самое, только в нём ещё и физика бывает нужна, так как если ты пишешь программу, вычисляющую маршрут для квадрокоптера, то там нужно понимать, как он летает и как дует ветер в это время (это нужно их векторы движения и скорости сопоставлять), иначе твоя программа будет неточной и бесполезной или вообще неправильной и он улетит в лес или в море из-за ошибки.
Если хочешь быть программистом, готовься к тому, что придётся изучать самую обычную математику и самую обычную физику.

Дмитрий, 2017-07-13
@Dit81

А чем веб-разработка не нравится? С вашим худ. образованием можно стать хорошим веб-дизайнером и верстальщиком (фронтендщиком). Там много и циклов, и функций, и других интересных вещей.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question