c++開發轉向go開發是否是一個好的發展方向?

2014年畢業。

然後目前在一家互聯網公司做後台系統開發,語言c++。

一年多時間,學了一些服務實現框架,一些c++的使用和語言特性,一些腳本等。但是還有很多c++的細節並不知道,如一些stl的實現原理,或者范型編程的實現原理等。

現在業務發展問題,應該年後會跳槽,找了家金融創業公司,但問題是服務端是用go語言開發,進去後需要轉型。

所以,擔心的是一個未精,又開始鑽另一個,對於未來幾年的發展可能會有影響。

望各位有經驗的人不吝指點

多謝


你說呢寫了一年多代碼了……

但是你還沒明白,語言只是你面向工資編程的工具,而不能是你自身發展的方向,

還在這裡請教別人該學什麼語言?

你見過換了個車就不會開車的司機嗎?

你見過換了個拼音輸入法就不會打字的程序員嗎?

你見過換把鋸子就不會做傢具的木匠嗎?

木匠的奧義在於不利用工具的奇技淫巧,而在於利用設計的鬼斧神工,

見過榫卯嗎?哪個榫卯是利用工具的特性弄出來的了?

就拿你寫了1年多的c++來說好了。

今天你用shared_ptr用得開心,明天換個項目的生產環境是gcc4.1.2,你是不是撂挑子不幹了?

今天你用pthread用得很開心,明天換個windows,你不會編譯,是不是又撂挑子不幹了?

今天你用boost用得開心,明天換個公司不允許用boost的,你是不是再一次撂挑子不幹了?

只能說,你連寫代碼的門都沒入。

語言只是手段,不要把手段當目的。

用一句老一輩唬人的話總結:

學c++那麼多年了,面試的時候但敢說自己精通c++的,統統不要。

你竟然還想精通了c++以後再去學別的。。。。。。

ps: 說句題外話。

當今天朝,因為寫代碼門檻低,培訓班遍地,工作機會多,老闆自己又不懂,到處都是濫竽充數的。到處都是「寫代碼要記熟api」,到處都是「21天學會xxx」。實在是慘不忍睹,靜下心來好好思考代碼結構設計上的問題,比你記熟一百個api背誦一千個關鍵字都有用一萬倍。


欲要學作詩,功夫在詩外


寫了四年的cpp。

從桌面應用,到伺服器後台,到遊戲開發都做過。

最大的感受就是每一次都像是接觸新的語言一樣。

寫桌面應用第一次深入了解C++面向對象特徵。

寫後台時候讓我感觸最深的就是內存管理和數據結構。

遊戲開發更是把C艹各種宏、模板、多繼承、操作符重載、泛型編程、多線程、c11等特性都接觸了個遍。而這些隨便一個都能坑得你爬不起來。

你以為你做了一年,只是「一些細節還不了解」。

你以為只要搞懂諸如const int *i, int const *i, int *const i之間區別這種細節你就可以掌握它。

然而你不知道同樣是一門語言,碰到不同類型的開發,面對一團看似熟悉無比,文檔注釋齊全的代碼,而你卻根本沒法讀懂其中任何一句的時候,它照樣能把你嚇哭。

cpp很強大,要什麼有什麼。猿類總是對它無比著迷又無法自拔。

然而它終究只是個工具罷了。

新手司機總是想能像電影里一樣擁有飄逸、甩尾各種炫酷的車技。

然而老司機都明白又快又穩地駕駛到目的地才是最終結果。

學多幾門語言你才會明白,它們的共性都是差不多的。你有C艹基礎,跑去學其他語言,也就一兩個月的事。

然而,編程思想、軟體設計、演算法等等,才是最重要的

所以,別傻想了,該幹什麼幹什麼吧。


順帶著學個語言就是了.Go又不是非常難學。

我現在是C++.GO什麼的都在用。

至於你說的C++的很多細節不知道,放到GO身上,如果你不深入,一樣不知道很多細節,

所以還是得多努力啊。


請問題主現在的東家是什麼公司,c++做後台的那個公司,叫什麼名字?我也是做c++後台的


我工作14年,11年遊戲行業,至今還在做少量的一線編碼。

我能用來做產品的語言有:C/C++、Lua、Go、Erlang。

我能用來做玩具的語言有:Python、JavaScript、Visual Basic、Scratch、Bash。

我摸過一下下的語言有:Java、C#、Ruby、Objective-C、COBOL、Scheme。

題主有空問這個問題不如花幾天時間把Go學會,Go是超級簡單好學的語言之一。


記得之前在哪兒說過:應該把自己定位為擅長於解決某(幾)類問題的程序員,而不是擅長某(幾)種語言的程序員.


金融創業公司?不會是我所在的公司吧。。。

你c++熟悉,那麼學go應該很容易,好歹比PHP轉go的人更容易理解指針

go調試功能較弱

go入門難度比Java c++低,比JavaScript高

go QQ群活躍,社區不太活躍

docker比較火

go和github結合較緊密

用go做Web後端,由於學會go開發相對容易,所以go開發人員的工資較低


Go語言簡潔有力,沒有多少複雜特性。都說是工程師為工程師創造的語言,相對的就是有那麼一堆思想和特性 龐雜的設計語言。所以入門確實較容易。

但是越簡潔的語言 設計模式就感覺相對重要,不然就是堆代碼。堆一個個func。

我個人覺得Go很適合做很多Java乾的事情,但是Go還是不適合C/C++做的部分事情。

Go比較全能,但做不了底層和極限壓榨性能的場景。

我比較喜歡golang的一點,它真的非常簡潔。


用 C++ 做一些事,確實很鬱悶,這語言非常龐雜,用法千奇百怪。

但只要去看看各大牛逼公司的項目,各大牛逼的工具,哪個離得開 C++?

有時候用C和 C++ 做項目,突然用用 Go,那確實是那個舒爽。但一碰到跨平台,一碰到嵌入式,或者碰到某個性能瓶頸,要精打細算的利用內存,會發現 Go 語言是那麼的無力。

Go 語言就像分銷商,如果只打算在中游,對上游毫無興趣,確實有它的價值。能快速搞定一般的項目,性能也不錯,不需要浪費時間來甄別十幾種申明字元串的方式, 不需要擔心,這玩意會不會吃掉所有內存,搞著搞著就崩潰了,何樂而不為。

但如果想使勁鑽,想爬上金字塔的頂尖。我覺得還是搞搞 c 和 c++ 這些古董吧,鬱悶是鬱悶,但真金白銀也是真金白銀。


套用一位大神的話,程序員以技術分,不以語言分。


多會幾種語言不是問題 我從c c++ basic delphi vb 到objc js python java在學go準備寫dns的有關東西 英語過六級很久了 還在提高口語 法語也能聽懂不少 沒覺得多會語言是負擔 我小孩會英語 瑞典語 當然還有中文 嘿嘿


語言只是工具,思想才是技能。


如果你真正的熟悉c++的話,你會發現golang 真的是極容易上手的 最多熟悉一周就可以開始寫一點東西了


去年我也在寫C++

新項目決定用GO了,之前對GO沒多少了解

對於一些項目來說GO太合適了,太爽了,開發速度,C++拍馬也趕不上,並且效率還不錯。如果用C++也只是用些STL之類的上層的東西,直接轉GO吧。

就第一個月比較痛苦吧,各種語法錯誤,可能邏輯上沒什麼,調語法錯誤比較費勁,為此沒少加班,等熟悉了之後,爽的不要不要的,不過還是有坑,如果沒有技術積累的話,就怕出現緊急問題,不會像C++那樣好查,如果已經有現有項目了,只是跟著做,就不要想了,直接轉,遇到問題還有的人問,比自己單幹好很多。


有對比才會有進步


推薦閱讀:

這個求指數函數exp()的快速近似方法的原理是什麼?
為什麼C++中的RAII類一般都是不可複製的?
如何評價博客園上的博文《 開發人員要亡新浪微博,你攔都攔不住!》?
C/C++ 中 0 與 NULL 區別是什麼?用 delete 時,用 p=0,還是用 p=NULL 好?為什麼?
考慮R值引用,c++下多字元串連接,如何寫更高效?

TAG:跳槽 | C | CC | Go語言 | 服務端開發 |