網文都是原文翻譯(一般不做挑選),因此如果出現一些不符合社會主義價值觀的言論皆不代表本網立場,請列位看官多多包涵。
誰是更好的程式設計師:中國人還是印度人?
本文譯自Quora,原標題:Who are better programmers: Chinese or Indians?
RKKS
Just enough coder,Computer Technologist
計算機技術專家
事實上,為了確保我能正確理解這個問題,我瀏覽了這個問題最受關注和投票最多的答案。我認為,這些他們的論點和結論至少可以說是毫無根據的。以下是我的不同的觀點。
為了回答這個問題,我們需要知道「更好的程式設計師」是什麼意思。以下是計算機科學專家一致認為的最好的程式設計師的幾個要點。以至於唐納德·克努斯(Donald Knuth)甚至舉行公開比賽,以獎勵那些在程序中發現錯誤的人。
「編寫最好的程序是為了使計算機能夠快速地執行它們,使人類能夠清楚地理解它們。在理想情況下,程式設計師是一個隨筆作家,他運用傳統的美學和文學形式以及數學概念,來傳達算法的工作方式,並使讀者相信結果是正確的。」—唐納德·埃爾文·克努斯,計算機科學論文選集
「優秀的程式設計師很清楚自己的能力是有限的,所以他對待編程任務的態度是完全謙卑的,特別是,他們會像逃避瘟疫一樣逃避「聰明的技巧」―Edsger Dijkstra(譯註:1972年圖靈獎演講)
現在是要點。
1. RanaAshish和Seetharam(其他答主)的論點是使用Hacker Rank發布的統計數據得出結論,說中國人是更好的程式設計師。他們很可能是,因為我和他們一起工作了十多年,我可以說,他們是非常優秀的程式設計師。但任何網站在任一地理區域的受歡迎程度並不能衡量這個地區居民的能力。這就好比說,如果一個地區的人很少使用facebook,那麼他們的社交能力就很低一樣。一個地區對一個網站的大規模參與程度絕對反映不了他們智力。
2. 用Dijkstra和Knuth(其他答主)自己的話來說,成為一個偉大的程式設計師與在指定的時間內解決以特定格式設計的編程難題無關。相反,好的編程是以人類可讀的格式編寫功能正確的程序。程序是否是最優的實際上是有爭議的。因為在許多情況下,要找到在所有條件下都能準確執行的最佳解決方案,需要花費數十年的努力。
3. 另一種說法是,「有偉大的印度程式設計師,但他們不在印度」,「他們是美國人,他們的發明在為美國賺錢」。這個完全沒有抓住重點。問題不在於資金流向何方,而在於「誰是更好的程式設計師:中國人還是印度人」。爭論與討論的主題無關的事情是沒有意義的。
4. Rana提出了一個關於中國在建立內部應用程式、軟體、作業系統和其他基礎設施的獨特觀點,以此來衡量他們的精通程度。這讓我想起了20世紀60年代美國電話電報公司(AT&T)過去所有的東西都是內部製造的,當時,AT&T是一家大型的單一公司。我們都知道歷史,像IBM和AT&T這樣的巨頭意識到,在內部構建所有東西既不是最佳方案,也不是最經濟的,你不可能無所不能。結果是讓創新在全球範圍內發生,你可以挑選出最好的解決方案並加以整合。
另一方面,中國ZF似乎正試圖重新發明輪子。不僅僅在網際網路上,還有陸地,海洋,等所有地方。他們建立了巨大的防火牆,可以過濾一切,他們想殖民,他們想盡其所能控制一切。這導致他們做出了這些努力。我必須承認,他們很擅長複製東西。我不是玩世不恭或開玩笑,而是認真的。他們能夠複製所有東西,並以他們的規模來複製,這需要巨大的才能和努力。看看他們留下的「中國長城」,我不認為這是不可能的,但歷史會重演。我認為,中國將很難從AT&T和IBM那裡吸取教訓。
總而言之,
u 複製產品或代碼的能力並不能造就一個優秀的程式設計師。
u 在任何給定網站和/或難題解決方面能力很強並不能證明是一個好的程式設計師。是的,我解決了許多數獨難題,但您會認為我是愛因斯坦嗎?
u 哪個國家或地區從某人的工作中獲益並不決定誰是一個偉大的程式設計師。
u 網站發布的受歡迎程度的統計數據,絕對不是決定一個優秀程式設計師的標準。充其量,它只能被視為一種營銷噱頭。
我休息一下
Rana Ashish
Senior Programmer at Software Companies2011–present,lives in India
軟體公司高級程式設計師,2011年至今居住在印度
如果我考慮很多因素,那麼我總會認為中國程式設計師有比任何其他國家都多的優勢。
根據Hacker Rank(由一個印度人開發的網站)的調查,
中國人在其競爭性編程挑戰中名列前茅,他們的指數是100,而印度人只有76。
在這裡你能比較一下印度和中國嗎?
圖片來源:哪個國家會在編程奧運會中獲勝?
中國所有來自外部世界的社交應用都被禁止,所以他們創建了自己的社交應用,但如果和印度人相比,他們正忙著成為社交網絡中的「Angel Priya」。
QQ(2014年6.45億用戶)
人人網(8300萬用戶)
微信(8.89億用戶)
微博(2.82億用戶)
印度沒有一個受歡迎的社交應用。
即使微軟在世界作業系統領域佔據主導地位,但中國ZF仍然正在推廣自己的作業系統:中科麒麟。
而印度作業系統BOSS則是一個失敗者並在慢慢死亡。
毫無疑問,美國有許多傳奇誕生,許多印度人在美國編程界有著巨大的貢獻,但是這裡有一個很大的但是,他們中的大多數人都是印裔美國人。
這意味著,無論他們貢獻什麼,都是在給美國而不是印度賺錢。
中國已經計劃在2020年前淘汰所有外國技術和服務,就像谷歌和Facebook一樣。
中國似乎在未來幾年內將成為一個完全獨立的IT經濟體:打造本土的移動和計算機設備、作業系統、應用程式、瀏覽器以及幾乎所有存在於it生態系統中的東西。
作為一個印度人,我認為中國人是更好的程式設計師,這是一個殘酷的事實,你無法忽視了這一點。
Anonymous
匿名
這不是泛指,而是基於我的觀察。
作為一個土生土長的印度程式設計師,我見過一些來自印度的優秀程式設計師,他們滿懷激情和自豪地編寫代碼,同時我也看到一些程式設計師為了生存而編寫代碼。第二類人的主要目標是儘快升職,擺脫編寫或理解代碼的習慣,並指揮第一類人。
我無法對中國人發表如此強烈的看法,因為我很少與他們合作。但我在一家很好的公司工作,我不希望所有的中國程式設計師都能達到同樣的水平。
Venkat P
UX Manager at VECTRAMIND TECHNOLOGIES,Lives in Hyderabad, Telangana, India2002–present
VECTRAMIND技術的用戶體驗經理,2002年至今現居印度泰蘭加納海得拉巴
印度人就像尋寶者。在編程方面,有兩種開發人員。大多數程式設計師依賴於收入,是為月薪工作的人…剩下的則是僅有的開發者。
我認識的中國開發者很少...他們無法同時處理多個任務,但我們印度人能從事多任務工作,這對節省時間很有好處。
如果中國人很棒,為什麼薩蒂亞·納德拉、桑德·皮查伊和普拉納夫·米斯特裡(譯註:這幾個都是谷歌,微軟等公司的印度裔CEO)會被選中?在NASA,大部分員工都來自印度。
對此回答的評論
Ananimous
「但我們印度人能從事多任務工作,這對節省時間很有好處」。
根據人腦的工作原理,多任務處理在生物學上並非不可能。
Kaushal Sen Sharma
因為中國人不喜歡在美國工作,當他們有自己的Youtube,Facebook,Google,而這些都是中國本土的。哦! 我忘了阿里巴巴。當他們在自己家鄉擁有自己的財富500強公司時,他們為什麼要為1000公裡外的財富500強公司工作?
Hemant Kuruva
「如果中國人很棒,為什麼薩蒂亞·納德拉、桑德·皮查伊和普拉納夫·米斯特裡被選中了?在NASA,大部分的員工來自印度。」
你說的這兩點完全沒有道理。如果一些頂級CEO是印度血統(不是印度人)出身,這是否意味著那個國家的程式設計師更優秀?在許多軟體開發商的質量指數中,中國和俄羅斯遠遠領先於印度。事實上,有幾十家中國軟體公司統治著世界,而沒有一家屬於印度人,這一事實本身就證明了我們的程式設計師的質量。
而且,不,NASA的大部分員工並非來自印度。這是一個在Whatsapp和電子郵件中廣泛傳播的謊言,其中聲稱38%的NASA工程師是印度人。實際上,這個數字還不到1%。
Ananimous
因為對中國人來說英語是個大問題。如果不是在美國出生的華人,NASA不會僱傭他們。此外,NASA也不是一家科技公司。如果你想比較一下航空航天技術,中國的發展速度是非常快的。
Seetaram N T
Freelancer developer/consultant,Lives in Bengaluru, Karnataka, India
自由職業開發者/顧問,居住在印度卡納塔克邦班加羅魯
根據hacker rank的調查,以下國家擁有最好的開發人員/程式設計師。
十大最佳電腦程式員國家/地區排名
中國
俄羅斯
波蘭
瑞士
匈牙利
日本
中國臺灣
法國
捷克共和國
義大利
因此,印度甚至不在前十名中,但中國排在第一位。那麼印度在哪裡?
印度排在第31位,遠遠落後於中國。
對此回答的評論
Sai Vivekanand
這些排名是根據註冊人員中完成挑戰的比例給出的,印度和美國的黑客排名用戶數要高得多,但完成挑戰的人數比例卻不高。
Arvind Balasubramaniam
競爭性編程不是對編程能力的衡量。所以你是說美國和他們所有的矽谷天才們落後於新加坡,捷克共和國和烏克蘭?哈哈,讓我休息一下。我知道俄羅斯人在這類比賽中表現出色,因為他們的大學獎勵ACM(譯註:國際計算機協會)編程大賽成績和其他分數,而在印度我們並不在乎。95%的編程不涉及在這類站點中提出的算法和面向數學的問題,因此將其作為度量標準是沒有意義的。這隻意味著中國有一些優秀的程式設計師擅長競爭性編程,這並不意味著所有的中國程式設計師都比印度人好。
Martin Andrews
也許有少數印度程式設計師比中國程式設計師好,但絕大多數人比中國程式設計師差得多,這就是為什麼會把分數拉低。
Sai Vamshi Atukuri
我也不同意這個排名。我是一名化學工程師,我在hacker rank也有帳戶。我試圖做一些編碼,但失敗了,我的許多化學朋友也做了同樣的事情。所以不要以此為基礎來比較印度和中國的程式設計師。
但我不想從他的回答中總結一些東西。許多中國人不懂地道的英語,他們很少能訪問中國以外的網站。因此,那些英語好並且有機會接觸的人顯然更擅長他們的工作。(我不是說其他中國人都不行)
Rajesh Mishra
這個排名是為來自不同國家的人參與Hacker rank網站的挑戰做出的。這與哪國程式設計師的好壞是完全不相干的,因為Hacker rank在印度可能不是一個著名的產品,印度人主要參與codechef的挑戰。我最近開始參與Hacker rank,我很容易就在印度獲得600名左右的排名,這說明我國很少有人參加。
Manish Sharma
Software Engineer
軟體工程師
我目前在中國工作,從2015年起擔任軟體工程師。團隊通常由多數中國人和幾個印度人組成。我不知道誰是更好的程式設計師,但中國人和印度人有不同的個性和工作方式。我們互相稱讚,共同組成了一個偉大的團隊。
Anonymous
匿名
這取決於你如何定義好的程式設計師。我是一名在美國大學學習計算機科學的中國學生。我注意到很多中國程式設計師把大部分時間花在一個點上(通常是算法),比如我解決了800多個leetcode問題,而印度程式設計師更喜歡擴展他們的技能,比如學習新的框架和流行的技術。印度程式設計師也在軟技能上下了很多功夫,比如溝通技巧,網絡技巧,他們練習了很多行為問題。總的來說,我認為中國程式設計師擅長程序實現,而印度程式設計師更了解項目管理和團隊管理。
Abhishek Das
lives in India
住在印度
好吧,我看的是hacker rank的排名,中國排名第一,但還有另外一個故事。
報告:印度的程式設計師比中國的更熟練,但比美國差得多。
上面的報告是一項研究結果,實際上說印度的普通程式設計師比中國的要好。
但是我和一些中國的程式設計師進行了一些交流,我可以很容易地說他們最好的程式設計師可以打敗我們最好的程式設計師。
但是,印度和中國都有一個充滿活力的創業生態系統,每年都建立很多的初創企業和獨角獸。
Procheto Das Gupta
印度人更擅長編程和IT,中國人也不差。但問題是印度程式設計師都去了美國,對美國經濟的貢獻超過了印度經濟。我說實話,因為我哥哥也去美國了。他是一個IT狂熱分子,他是編程、編碼和軟體方面的專家,他在班級中排名靠前,他一直想去美國而不是呆在印度,所以他去了那裡。不僅僅是我哥哥,我的許多兄弟朋友和親戚也去了美國,他們都是IT和工程方面的專家。
Omkar S Raikar
BCA Technology & Gadgets, Jain College(2021)
傑恩學院,BCA技術(2021年)
作為一個印度人,我覺得中國程式設計師比我們大多數人都要好。
兩個國家都有一流的程式設計師。但我覺得在中國,他們的數量更多。
我聽說那邊教小孩子編程,中國黑客更是舉世聞名。
我覺得這要歸功於中國更好的教育體制和社會鼓勵的氛圍。