{eval=Array;=+count(Array);}
我現(xiàn)在更多的時(shí)候其實(shí)還是用MacOS比較多一點(diǎn),尤其是工作的時(shí)候,MacOS確實(shí)能夠很好的兼顧到所有場景,至少做keynote、剪輯視頻這些用Linux還是沒辦法的。不過自己在家里寫寫代碼我會(huì)用Linux,目前我的桌面Linux是Deepin,不過我個(gè)人更青睞Arch Linux,滾動(dòng)更新確實(shí)還是很棒的。
這個(gè)可能到現(xiàn)在也是很多Linux工程師的標(biāo)配,比較大的互聯(lián)網(wǎng)公司,基本上后端開發(fā)還是以這種方式為主,在以C/C++為核心技術(shù)棧,基本上是本地辦公機(jī)器用iTerm、Zoc通過SSH方式連接登錄遠(yuǎn)程Linux開發(fā)機(jī)進(jìn)行工作。
這樣的企業(yè)并不在少數(shù),Google、百度、Facebook、ucloud很多后端工程師都是這樣工作,這樣的開發(fā)模式是長期形成的習(xí)慣,也在特定場景下確實(shí)有很大的優(yōu)勢?,F(xiàn)在很多公司也都在推行Visual Studio Code這款工具,不少企業(yè)也基于這款工具做了很多契合自己公司業(yè)務(wù)的插件。
版本管理現(xiàn)在基本上都已經(jīng)遷移到了git,當(dāng)然大公司不會(huì)限制你使用什么開發(fā)工具,只要是合理范圍內(nèi),你都可以自己選擇。順便給大家推薦一下,其實(shí)不管是MacOS還是Linux,tmux是個(gè)非常不錯(cuò)的工具,這款工具搭配Vim使用非常好,個(gè)人強(qiáng)烈安利。BeyondCompare也非常實(shí)用,不過這都不是必須。
不同的企業(yè)核心技術(shù)棧不太一樣,即使是前端開發(fā),大家所用的工具也都有很多不同,有的喜歡用sublime text,有的喜歡用Visual Studio Code,每個(gè)企業(yè)都有自己喜歡的開發(fā)環(huán)境。
后端這塊就更多了,C/C++、JAVA、C#、PHP、Go、Python等編程語言,都是比較常用后端編程語言,從技術(shù)上來說我傾向于大家C/C++,Go這幾個(gè)后端技術(shù)棧,當(dāng)然Python在人工智能領(lǐng)域確實(shí)有獨(dú)特的優(yōu)勢。移動(dòng)端還有iOS和Android,都有對應(yīng)的開發(fā)環(huán)境,不過Linux下目前還做不了iOS開發(fā)。
C/C++集成開發(fā)環(huán)境,我個(gè)人比較喜歡CodeBlocks和CLion,CodeBlocks是個(gè)非常輕量級的集成開發(fā)環(huán)境,跟GCC、GDB這些開源工具相處和諧,CodeBlocks本身也是開源跨平臺的,唯一的遺憾就是CodeBlocks在MacOS很久沒有更新了。
CLion是大名鼎鼎的JetBrains公司旗下的產(chǎn)品,這家來自捷克布拉格的公司,開發(fā)了很多非常優(yōu)秀的開發(fā)工具,包括耳熟能詳?shù)腎ntelliJ IDEA、PHPStorm、PyCharm 、WebStorm、ReSharper,當(dāng)然也包括了今天要說的CLion,這可能是目前MacOS、Linux下最好的C/C++開發(fā)環(huán)境,沒有之一,一定程度上我認(rèn)為僅次于visual studio,真的非常好用。
Linux本來就是作為生產(chǎn)力、極客而設(shè)計(jì)的,林納斯開發(fā)Linux的時(shí)候吸收了很多Unix的設(shè)計(jì)哲學(xué),又將Linux給開源了,于是這就成了一個(gè)現(xiàn)實(shí)版的極客天堂。盡管基于FreeBSD的MacOS擁有著正統(tǒng)的Unix血統(tǒng),我依然強(qiáng)烈建議你去嘗試一些Linux,當(dāng)然前提是你是開發(fā)者的話。
個(gè)人認(rèn)為現(xiàn)在最好用的開源IDE有Linux版本的:
1.VSCode
2.eclipse
基本上掌握以上兩個(gè)工具對開發(fā)就夠用了
推薦不用IDE,為什么呢?請容我娓娓道來。
比較常用的重量級IDE:jetbrain系列
比較常用的輕量級IDE:visual studio code
但……如果這么用的話其實(shí)跟在Windows下開發(fā)也沒多什么區(qū)別。。。
Linux可以說跟Unix很有淵緣了,Linux走的就是兼容Unix路線,所以普遍上認(rèn)為Linux開發(fā)工程師=Unix開發(fā)工程師。
被稱為計(jì)算機(jī)天才的王垠在《完全用Linux工作》寫道:“
一個(gè) IDE 集成了編輯器,編譯器,匯編器,調(diào)試器,跟蹤器……?這個(gè)編輯器功能肯定比不上 VIM 或 Emacs,編譯器比不上 GCC,匯編器比不上 as,調(diào)試器比不上 gdb, ffffd,?跟蹤器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序。如果你對調(diào)試器的功能不滿意,你只好換用另外一套 IDE,但是這套 IDE 的熱鍵,菜單,編輯器功能,按鈕……?跟原來那個(gè)有很大不同。你不得不花很多時(shí)間來熟悉新的環(huán)境,而不能保持原來的某些東西。
而在 UNIX 下就不一樣了。你可以用你最喜歡的 VIM 編輯程序,你在 VIM 里可以調(diào)用 GNU make,make 可以調(diào)用 gcc, ld,?... make 的出錯(cuò)信息可以被 VIM 捕獲,VIM?能幫你在源程序里定位。你如果喜歡 icc,?你可以讓 make 用 icc 而不是 gcc。你如果覺得 gdb 跟蹤變量時(shí)比較麻煩,你可以用 ffffd 來顯示各種數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系。你還可以在 Emacs 里調(diào)用 gdb,那樣就可以同步顯示源代碼了。而且 VIM 和 Emacs 還可以編輯很多其它東西,比如信件,LaTeX?文檔,HTML,配置文件……?你不用另外找一個(gè)什么編輯器來干這些雜活了。很多程序比如 Mutt, tin 都可以在內(nèi)部使用 VIM,這樣就更方便了。實(shí)際上 make 在其它方面還能幫你很多忙,我的每一個(gè)比較大型的 LaTeX 文檔都是用 make 維護(hù)的?!?/p>
簡言之就是強(qiáng)大Linux開發(fā)工程師都是不用IDE的,即使目前IDE如此豐富,但目前在一些大型項(xiàng)目,仍然需要寫makefile,而不是直接點(diǎn)擊IDE運(yùn)行程序。這就是相比Windows有趣的地方,Linux的開發(fā)工具小巧而自由。
linux c開發(fā),現(xiàn)在用vs code + ubuntu虛擬機(jī)。(因?yàn)檫€要用企業(yè)微信、office全家桶離不開win,linux就只能放虛擬機(jī)里了)
然而直接在ubuntu虛擬機(jī)里裝ide體驗(yàn)簡直要炸裂,打開個(gè)vs code有時(shí)都要半分鐘。
后來干脆把ubuntu虛擬機(jī)的圖形界面關(guān)了,打開虛擬機(jī)smb文件共享和ssh server,在win下遠(yuǎn)程訪問,體驗(yàn)比直接在虛擬機(jī)里好不少。
最近在折騰vs code的remote功能,可以用vs code遠(yuǎn)程調(diào)用虛擬機(jī)的工具鏈進(jìn)行編譯調(diào)試,體驗(yàn)很不錯(cuò)。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答3
回答10
回答0
回答