03.08 為什麼一些程序員熱衷於討論sql、併發、框架、架構,卻不討論路由、操作系統等?

夶白兎


這個人。。。神一樣的存在,換句話說,計算機只是他展現牛比的一個方式而已。。。

他真正牛比的是縝密的邏輯思維方式,堪比數學家的數學運算能力。。。這種人百萬分之一都不一定有啊。。。

中國人不太擅長這些東西,但是中國人有自己的一套理論和解決問題的方法。當然了,經過多年西方同化薰陶,咱們也可以擼起來很多東西。

不過這個人的項目完成能力也太強了。。。隨便一個項目都夠他吹一輩子牛比的!!!!強大!!?


中國頂級科技評論人


這種現象也是國內軟件行業現狀的體現,不是程序員不想談論路由和操作系統,而是想談卻談不起來!要不找幾個大學的計算機教授來嘮五塊錢的操作系統,看看有幾個能聊明白?或者大家想想咱有能拿的出手的操作系統供大家談論的嗎?

但這個問題仍然值得我們深思,我認為有以下幾點原因導致了大家多談論sql,架構,併發和框架,而很少談論路由和操作系統的現象。

人們談論多的往往是所涉足的,對於未曾接觸的卻無從談起

都說沒有實踐就沒有發言權,這句話放在這裡就挺合適。這個問題要分開來看:一方面,大家想談路由和操作系統卻沒有談資。另一方面,此程序員非彼程序員,路由和操作系統的實現不是一般程序員可以完成的!打個比方,都是運動員,你問問詹姆斯和科比為什麼不和劉國樑比賽乒乓球呢?根本就不一個類目嘛~

如果你是一個家庭主婦,久而久之你談論的將圍繞著柴米油鹽。如果你是二人轉演員,那麼生活中處處都是段子。同樣由於我們國內的程序員日常工作大都圍繞著sql、併發、框架和架構,所以這就成為了大家的談資。反過來,如果都是做操作系統開發的,還愁沒人聊有關話題嗎?

一個是應用系統程序,一個偏底層系統程序,國內程序員做應用的多,做底層的少

從專業角度講,這是軟件開發不同的範疇。sql、併發、架構和框架主要是應用系統方面的,主要有程序員崗位來開發。而路由屬於網絡通信方面的,主要是網絡工程師或者通信工程師來實現。操作系統則是複雜而龐大的,管理硬件和軟件資源的底層系統軟件,是應用系統運行的基礎和前提。

路由主要是通信方面的知識,工作中,程序員只需瞭解一些基本通信協議即可,不必關心其具體的網絡路由細節,比如路由表、下一跳等。

關於操作系統又主要分為以下幾類:

  • 嵌入式操作系統(包含ios和android)

  • 類Unix操作系統

  • windows操作系統

  • macos操作系統

無論是在哪個分類下,我們都處於絕對落後的地位。早在1999年,時任科技部部長的許冠華就曾說過“中國的信息產業卻芯少魂”。這個芯指的就是芯片,這個魂指的就是操作系統。遺憾的是,時至今日我們還沒能徹底改變這種狀況,操作系統的技術和市場依然被西方國家壟斷。

所以一直以來,在pc端的操作系統領域,很少有企業願意投入研發成本來抗衡,都是國家團隊在努力突破,可就是這樣依然難見成效。而缺少了社會企業參與的氛圍和土壤,眾多程序員也失去了參與其中的機會,因此對於操作系統研發的談論就無從說起了。

我們只是軟件大國,還不是軟件強國

後來到了移動互聯網時代,操作系統不再是微軟一家獨大。國外研發出了ios和android,國內則出現了基於安卓的華為emui和小米miui,還有魅族的Flyme,還有阿里自主研發的yunos和alios。

近來華為更是推出了鴻蒙系統,更是讓國人看到了希望。但同時圍繞著操作系統生態的建設卻成為人們擔憂的話題。

而在應用系統研發領域,雖然我們擁有了支持高併發的電商平臺和電子支付,雖然擁有金蝶、用友這樣的企業級服務商。但還是難以和oracle、ibm、sap這樣的全球性的企業級服務商匹敵。因此我們還只是軟件大國,還不是軟件強國。

也許等什麼時候,我們的軟件系統可以像中國的高鐵技術、橋樑技術一樣輸出到國外時,我們談論的也許將不再熱衷於談論sql、併發、框架和架構了!

其實,談論SQL、併發、框架和架構也沒什麼不好的,技術的本質就是作為一種工具,為其他行業服務、為社會創作價值。就像我們的電商和移動支付改變了我們的生活、消費方式一樣。沒有這些技術指標的保障,是不能支持雙11這麼大體量的狂歡購物節的!

歡迎關注我@碼農wu師,專注IT技能分享,一起聊聊編程談談生活!


碼農撩科技


給你們講個笑話 有個大廠的開發在工作時對我發火了 理由是他的vpn無法連接外網 但事實只是他DNS有問題 他有太多的vpn軟件 有的可能修改了他註冊表的DNS proxy 所以 他並不是連不上外網 還是DNS問題 關鍵這些都不是事 主要問題是 這哥們要和我不懂裝懂 說“肯定是路由有問題 連上了VPN要訪問外網肯定是要加路由的 你搞網絡的這都不知道 ” 我日 給我氣的


網工碾壓機


從這種心態可以看出,還是迷信國內程序員不如國外的程序員厲害,國內軟件行業經過近二十年的發展,已經積累了一大批經驗非常豐富軟件開發工程師,國內互聯網公司能有這麼大的影響力除了國內人口數量多的紅利之外,還有一個很重要的因素國內程序員質量已經上來了,如果沒有這個基礎不可能發展這麼迅速,國內一批優秀的編程高手已經在很多領域做出了國際水準,像阿里的阿里雲算是中國程序員的一個傑作,水平已經能到很高的水準了,不像是很多人講到的國內程序員只會簡單的搬運工作。

程序員討論的內容不可能僅僅限於框架,架構,路由和操作系統也是在這個範疇,特別是一些嵌入式系統經常有操作系統定製工作,也屬於程序員討論的重點,程序員討論什麼內容和工作的內容有著直接的關係,記得在一個項目內大家都非常熱衷於講自己的代碼提交到開源社區,並且被通過認可,這種對於程序員來講是巨大的榮譽,現在國內已經有很多的程序員在做這個事情了,很多開源社區裡面已經陸續看到中國程序員的影子了,在初級階段可能因為底子還比較薄弱。開始先是進行學習,基礎足夠了才能有創新的機會。

很多人覺得中國的程序員只會山寨,不懂得原創,在自己非常弱小的時候先是讓自己存活下來然後才是創新發展,很多企業剛剛掙扎在死亡線上這個時候不可能有多大的創新產生,只有擁有了足夠的財力才能有底氣去搞創新搞研發,任何企業都離不開這個規律,程序員在一起討論的問題點差別場景太多了,程序員討論技術問題未必是在現實中,一般喜歡在網絡上尋找答案,或者喜歡發論壇進行討論,平時具體討論主要是和項目相關的事情,很難直接去談一些架構問題。

程序員能力高低主要和思維能力和基礎編碼能力決定的,編程基礎可以隨著時間的推移進行積累,思維能力需要經過經過項目的提煉,所以沒有做過項目的程序員不算真正的程序員,程序員能力提升不要隨著時間推移一步步提升的,有些程序員進步幾年後慢慢進步就變得十分緩慢了,主要在編程思維上沒有實現真正的突破。

國外程序員因為英文的先天優勢在很多方面都要優於國內程序員,但到了一定程度不一定比咱們的要強,但和祖師爺級的老手差距還是非常巨大,主要還是歷史的積累問題,類似於編程語言級別的創新國內程序員還是有差距,在應用型方面以及構建編程的生態系統方面也是存在比較大的差異,承認差距然後努力去追趕,也是國內程序員需要做的事情,沒有必要妄自菲薄,也沒有必要自我誇大,平常心去對待認真完成一個基本功能模塊,認真審視每一行代碼,時間足夠長了,國內一樣能誕生世界級的編程大神,希望能幫到你。


大學生編程指南


看了這位大叔的職業生涯,簡直就是傳奇的一生!崇拜之情油然而生,不由得停下了正在敲擊鍵盤的雙手,思緒進入“如果我有這麼厲害的技術那麼我會...”的幻境之中,開始意淫起來。。。

突然,產品經理來了,讓我給他把一個用戶的數據給修改一下。我打開MySQL客戶端工具,並連接上了線上的庫,寫了一條sql:“select * from user where user_id = 123”,然後按照產品經理的要求把這條數據給修改了。然後繼續回到我的idea上開發APP這個版本要迭代的功能。

迴歸到題主的問題,為什麼不討論路由、操作系統?個人認為有以下幾點可以討論一下:

不會底層操作系統知識

這個是真的不會,大多數人都不會,除了在大學期間學的計算機原理、操作系統這些知識以外,工作以後真的很難接觸到這些東西了。就算能接觸到一些,也是一些皮毛。大多數人畢業之後都從事軟件開發了,個人認為這也是國內硬件普遍較差於軟件的一個原因。

應用開發

題中說的sql、併發、框架、架構這些都是基於應用開發,屬於軟件層面。99%的公司根本不需要了解所謂的路由、操作系統,也不會給你時間去琢磨這些東西,工作中也用不到。但是sql、併發、框架、架構卻是每一個應用開發都需要的知識,而且門檻也低。是個人就會用,平時接觸最多的知識就是這一塊了,本著解決問題為出發點,自然討論的就是這些東西了。

大神就那麼幾個

還有,大家不要覺得人家就很牛逼,自己就很菜。人家確實牛逼,和人家比自己確實也很菜。但是這不是思考問題的點。本是芸芸眾生,之所以出名,就是因為他是技術大神,是屬於金字塔頂部的那麼幾個人中的一個。我們要做的就是不斷的往上爬,不斷學習,精進技術。

以上是我個人的一些觀點,歡迎大家繼續討論~


java架構設計


如今的IT行業屬於香餑餑,程序員也增多了。你說的談論spl這類東西,應該是後臺服務程序員,那麼為啥很少討論路由、操作系統呢?從兩個方面說說我的看法。

語言與操作系統無關

拿java來說,它是跨平臺的,因為jvm的存在,所以在開發的時候不用考慮平臺,對操作系統也只是瞭解階段。只需注意平臺特性,去做相應配置。比如Windows平臺,需要配置環境變量等等。程序員精力也是有限的,用不到的或很少用到的,瞭解就夠了,不會去深入研究和討論,當然對系統感興趣的程序員就另外說了。


網絡框架層級不同

程序員所討論的sql、併發、框架、架構之類的,從ISO模型來看,屬於應用層,而路由屬於鏈路層,一個偏硬件,一個偏軟件。我們接觸比較廣泛的就是應用層面的程序員,所以會感覺討論比較多的是sql之類的知識。硬件方面的知識,實踐起來比較難,所以一半不怎麼討論,都是寫文章交流經驗。不像軟件,實踐容易,且軟件實現方法更多不唯一,這也是討論比較多的一方面原因吧。

程序員一般都是把重點放在業務邏輯上,所以在這方面鍛鍊的比較多,討論的也比較多,但是也有小部分程序員討論偏底層的知識。現在某些程序編程行業門檻也比較低了,比如前端開發,很多都不懂底層知識,根本討論不起來。

我是非著名攻城獅,歡迎留言關注我,希望我的回答對你有所幫助!


非著名攻城獅


程序員一般率屬於企業級公司的研發部人員,從事軟件開發性質的工作。注意不是研發而是開發。

顧名思義。程序員是開發人員,開發軟件的基層人員。就是通過一些寫好的固定的計算機語言組裝自己想要的想法、需求等。而在這個組裝過程中的技術就是體現程序員能力的強弱。

sql語句的組裝、併發線程的處理、軟件框架的搭配使用都是個人能力的豐富體現。也是程序員在工作中必須要學會的知識點的。

一般人都是活談論自己的長處,不會去過多的解釋討論自身的短處。而路由、操作系統,講真。軟件行業中的大部分程序員都不會接觸或者深入學習這部分知識點。

討論需要大家的附和以及各抒己見,你討論一個別人不會的東西。自然就很無趣。這也是很少開發人員討論路由、操作系統的原因。

小編只是開發人員程序員。對於研發人員不甚清楚。

些許拙見,供您參考。

從事互聯網開發多年,歡迎大家騷擾


凱騰凱


程序員談論的哪些話題居多,應該是由市場大環境決定的吧。

我在做網絡之前,也做過一段時間的嵌入式開發,針對題中所提到的,說一下我自己的看法吧。

SQL,併發,框架,結構和操作系統相比,孰輕孰重?

想要上線一個完整的應用,需要搞清楚客戶提出的需求,做好產品規劃,然後制定框架,再通過代碼塊實現具體的功能,最後完成優化工作。

在整個過程中,SQL調用數據庫裡的信息,通過線程併發的方式提升性能,搭建軟件框架使應用結構化,條理分明利於開發。至於架構比較特殊,設計架構的另有一群人,他們被稱作系統架構師,程序員想要成為系統架構師的,還是要經歷一番徹骨寒的。

所以,像SQL,併發這些東西,都是從如何開發某種針對特定場景,來實現某項功能的應用而生衍生出來的問題。注意,是開發,不是研發,這點很重要。

那又該怎麼看帶路由,操作系統這些東西呢?

實話實說,這確實沒什麼討論的必要,一個只考慮產品特性的程序員,需要知道路由經過了多少跳才到達服務器嗎?不管是在OSPF還是IS-IS的協議網絡下都不影響他編程;在windows的環境下編一個C++或者java的程序,有現成的IDE為什麼要去搞懂windows的操作系統呢?

這些東西作為茶餘飯後的談資還可以聊聊,但放在工作中純屬給自己找不痛快了。

當然了,就像我前邊說的,如果不是搞開發,是要搞研發。那就是另外一種情況了,這樣的工程師需要對基礎知識瞭解的滾瓜爛熟,除了操作系統內核,數電模電,網絡協議都要有一定的瞭解和認知。


綜上所述,程序員聊的技術問題大部分是和自己工作內容息息相關的。討論深層次內容的也有,只是平日接觸的機會不太多罷了。

至於有人說的國內程序員比不上國外IT人士的言論,我只想說不能一棒子全都敲死,畢竟我們發展的比較晚,中高級的程序員佔比確實還是比較少的。但我們總在進步不是嗎?阿里騰訊的大牛放眼國際還是很強的一股存在。

還有,對那些喜歡灌完雞湯說夢想的,我表示我也有夢想,想搞一個比IOS還牛皮的操作系統,但我也得先吃飽肚子,不然夢想就只能成為“夢”和“想”了。


愛思考的奧特曼


為什麼一些程序員熱衷於討論sql、併發、框架、架構,卻不討論路由、操作系統等?

這是一個很有意思卻又很現實的問題,實際上筆者覺得同類的問題可以衍生至很多領域。

為什麼逛菜場的阿姨們總是愛談論鄰里的八卦,卻很少討論忠貞不渝的愛情?

為什麼外賣小哥們熱衷於討論今天跑完了多少單,卻不討論接單軟件應該怎樣設計更合理?

為什麼一些老師熱衷於討論自己班學生的成績,卻很少討論某些特立獨行或者成績不佳學生們的優點?


群體生物

實際上題主的問題中已經給出了問題的答案,本身問題中的群體是限定的,在認清這個問題之前,我們需要再次來看看目前國內對於程序員界限的劃分。

一般來說,程序員如果選擇了技術路線,在成長為架構師往上的角色前,本身的群體範圍大多數就被限定在了跟各種各樣的程序應用、編程語言、框架打交道。我們暫且不把架構師、CTO之類劃分在程序員的範疇,再回過頭來看這樣的一個群體,也就能想象得出為什麼程序員們經常討論的話題往往是SQL、併發、框架、架構了。

因為這樣的一個群體,所有的這些才是與工作生活密切相關的。

OK,有特例有學霸,但那有什麼用呢?數學上的正態分佈告訴我們,鶴立雞群往往的結果無非兩類。

一類早早飛昇至架構、CTO獨當一面,已然不屑也超出了原本普通群體的範疇。

一類在日積月累之中,逐漸磨平稜角,變成了小時候那種最討厭成為的自己。

物以類聚,人以群分。老祖宗告訴我們的人生道理。


認知壁壘

一個人的認知是有限度的,經過群體的劃分後,因為工作生活之中實在用的較少。俗話說業精於勤荒於嬉,就是這個道理。

也許在學校裡,我們苦心鑽研與模擬電路與數字電路神奇的關係;也被嵌入式主板上一個二極管的光亮激動過好一陣;夢裡也出現過無數次彙編指令浩浩湯湯的閱兵方陣。然而始終人的專注度是有限的,而國內的程序員來說,生在一個最好的時代,卻又是一個最壞的時代。

他們用超出常人的身體精力換取著其他同類級別工種難以企及的回報,卻大多數已然輸在了人生這漫長的賽道,種下病因,等待苦報。


一個程序員也許會糾結於怎樣的併發設計能帶來更大的性能提升,而一個硬件工程師往往更關注操作系統進程間的通信、並行的控制等。

這屬於認知的壁壘,相信如果將題中的程序員替換為硬件工程師或者網絡工程師,題主能得到更想看到的結果。


人生是一盤棋,願您能早日看破殘局,晉升高段。


尋心湖


操作系統分不同的應用場景,不是隻有手機,電腦上跑的才叫操作系統,中國是世界電子產業大國,全世界至少70%的微處理器都被中國人買走了,中國工程師出色的設計能力,才是這些電子產品物美價廉的保障。設計微處理器程序的工程師都是有操作系統思維的,但很多批量產品都不上操作系統的,哪怕是像uCos這樣的簡單系統也不用,為了節約成本,甚至用匯編語言寫程序。中國不缺寫操作系統的工程師,缺的是市場,做個板子,燒個安卓就可以賣錢了,誰會去研發操作系統?平時都加班趕工期,誰沒事閒得去自己寫個操作系統?或許等80,90這代工程師老了,沒事幹了,閒得荒了,搞個系統玩玩還是可能的。目前也只能是華為,小米…這類公司才可能有點動力去試試。至於路由技術,中國通訊技術,巨大的網絡數據交換環境,又有硬件技術大環境…做路由的工程師怎麼可能會少?只是大多數應用開發都用不著這麼強大的數據處理能力,成本,還是成本!中國在大型數據交換處理方面技術積累還是可以的,12306,雙11…


分享到:


相關文章: