preface

I have been doing C++ programming under Windows before, and then changed background work to touch C++ development under Linux. It took a lot of time to grind. Record your journey and give it to your later friends so you don’t waste valuable time.

One, about changing the system

If you’re used to the shortcut keys operating system on Windows and use the mouse as little as possible, then Linux is your ideal. As a C++ programmer, not being able to use Linux would be a terrible thing (many places see this view, but I won’t debate it here).

Second, programming related

Although Linux has ides such as Eclipse, it is still recommended to start with Vim and work your way up.

In addition to the basic C++ syntax, the other things that are relevant to Linux are text editors (I use vim, but many people prefer emacs, depending on their preferences) and compilers.

On the programming road, you need to master (must include but not limited to) :

1, vim use (with desktop can use VScode, but still recommended to learn this)

2, makefile writing (if you have no time, you can directly learn cmake, if you want to enter big factory, you can learn bazel)

3. GDB debugging

4. Preparation of configuration files

Knowledge of C++ (such as log, network, database, system API, etc.)

3. Programming Related (continued)

If you’re still interested, you can spend the rest of your time learning shell programming, the Linux kernel, unix-related, various C++ shared libraries, and so on. Until then, what really gets you from an intermediate programmer to an advanced programmer is open source. The strength of Linux lies in open source. Go to Github and Gitlib, where you can roam freely.

Four, about the future

At present, the concept of artificial intelligence is very popular. In my understanding, C++ is biased towards application. Although it lacks expression in intelligent logic, there are still many peripheral products that need C++ to realize, such as data mining, mathematical logic, algorithm, embedded, etc. If one day intelligent computing will completely replace programmers, then we can still… Okay, we can’t do this anymore. Why don’t we all beg together?

Sometimes stop will be confused about the future, everyone’s choice is different, but as long as the choice, we must go on, everyone’s road is different, but each road is not plain sailing, life is a lot of meaning, but some meaning can not be achieved can only give up. Make the most effective choice under the current conditions and work your ass off, and something will come of it, even if it’s not your favorite.

Finally, attached personal Linux C++ programming entry data, ps: upload file size is limited, you can private message me, send all the data, a total of 1.5G.

I wish you an early achievement of your technical goals.

Follow the personal. Vimrc common configuration

set number
syntax on
set encoding=utf-8
set t_Co=256
filetype indent on
set autoindent
set tabstop=4
set expandtab
set softtabstop=4
set shiftwidth=4
set wrap
set showmatch
set hlsearch
set incsearch
set ignorecase
set visualbell
set ai
set pastetoggle=<F9>
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap """
      
       i inoremap ' ''
       
        i inoremap {
        
          {
         
          }
          
           O func SkipPair() if getline('.')[col('.') - 1] == ')' || getline('.')[col('.') - 1] == ']' || getline('.')[col('.') - 1] == '}' || getline('.')[col('.') - 1] == '"
          ' || getline('.')[col('.') - 1] == "'" || getline('.')[col('.') - 1] == '>' return "\<ESC>la" else return "\t"Endif endFunc inoreMap 
      
        =SkipPair()
        
          In insert mode, press F9 to switch/exit the paste mode
        Copy the code