本人是一名C++程序員吧,目前大三,大一大二比較划水的過去了。

現在準備集中精力弄高性能伺服器的方向,在這裡梳理一下,同時為自己做一個小小的規劃。

本人水平有限,希望大家多多指點。

說一說我學習到現在感受到的C++的優勢和劣勢。

首先C++十分的靈活,我之前參加各種演算法比賽,C++的演算法庫確實很靈活,配合迭代器使用,可以用很少的代碼完成複雜的功能。同時C++的指針機制能底層的操作內存,這一點Java總是有一個gc機制控制著。最後,C++的速度確實很快,很多演算法比賽,C++時間限制1s,Java需要2s,python這種腳本時間就更長了。

說一說我目前的學習路線吧。

我花了很多的時間來熟悉C++的語法,《C++ Primer》這本書肯定是第一選擇,但並不是最適合新手入門的教程。理由很簡單,內容太多太雜。學C++語法其實並不難,關鍵是太過於多和複雜,需要考慮太多的東西。之後看得《Effective C++》和《More Effective C++》我才慢慢感覺C++需要學習的東西真的太多太多。裡面光是一個const引申的問題就有很多。

C++有個讓人煩躁的地方就是,可能你用spring boot你可以快速開發一個應用,看到成效,但是你用C++(除了Qt),你可能對於實際項目完全沒有想法。

之後兩個方面得認真學習,一個是操作系統,一個是計算機網路

我使用的書籍是《操作系統精髓與設計原理》和《計算機網路自頂向下方法》。這兩本書不是很好讀,但是說的很全面,對於你編寫高性能運算的基礎知識是應該足夠了。我現在也正在讀這兩本。不過看這兩本書,你得有一個長期作戰的計劃。

說一說我接下來的計劃。首先我需要一個簡單的適合開發的網路庫,看了一段時間的muduo網路庫,感覺這本書還是比較適合我這種小白入門開發的。我準備在完全熟悉了這個網路庫之後再去學習其他的大型網路庫。

不過這裡我還是挺推薦另外兩本書籍的,是《unix環境高級編程》和《unix網路編程》

不過C++的道路還是任重道遠,還是得加油。

推薦閱讀:

相關文章