為啥國內程序員寫的代碼也用英文註釋?

AnitaSong


從事軟件開發多年,發現一個有趣的現象,越是技術水平高的程序員越是喜歡用英文註釋,反而是剛入行的程序員為了表達清楚採用中文的註釋,在這首先承認一個事情的真相,雖然國內有上百萬的程序員,但是編程語言的主流還是在歐美,無論從編程語言的起源還是編程生態的建設方面歐美等國家有著優秀的基因,更加重要的一個因素編程語言採用的是英文編程模式,國內也有個易語言但是影響力實在是有限,而且易語言幾乎成了遊戲外掛的自然編程語言,嚴格意義上講不是主流編程語言的發展態勢。

為什麼國內程序員用英文註釋

編程語言本身就是英語。現在計算機的體系架構遵循馮諾依曼的計算機架構,編程誕生源頭主要是在歐美,所以在設計編程語言的時候,當然會選擇英文作為基準,所以歐美國家的技術人員,會更加適合學習編程,起碼能夠排除語言的障礙,在這方面國內的人員相對比較吃虧,所以才有了要學習編程語言首先得有一一定的英文基礎,單單因為語言方面就阻擋了很多人去學習編程,無形之中增加了編程語言學習的門檻,因為翻譯不準等方面就會延緩學習編程語言的速度。

起碼在國內因為不懂英文阻斷了很多人學習編程的道路,這是歷史遺留下來的問題,也不是短時間能夠改變的,中國早晚會擁有屬於自己的編程語言,因為任何一種編程語言誕生都有其存在的價值,中文的編程語言早晚會出現,而且早晚會被國人接受但從今天的角度考慮還是需要很長的一段時間。

原汁原味的英文編程文檔更加具有權威性。

由於大量的原汁原味的編程資料都是英文完成,所以不懂得英語想要深刻去學習會遇到非常大的困難。特別是在嵌入式領域很多元器件的功能介紹都是英文方式完成,為了完成一個寄存器的功能都要查看好英文的datasheet,由於裡面充斥著大量的專利名詞,所以讀起來還是非常的晦澀,但是為了瞭解功能還是需要硬著頭皮看下去,這種算是比較典型的語言障礙了。

因為不懂得英文讓很多人失去了,瞭解第一手資料的機會,國內很多編程書籍都是直接翻譯國外的書籍完成的,就是為了減輕英文水平不好的人學習編程的障礙,但是由於翻譯人員本身不一定是技術人員有些專業名詞不一定能夠解釋的非常清楚,所以直接看原汁原味的英文文檔會理解的更加透徹。

國內編程語言生態並不完善。儘量很多人覺得泱泱中華應該有屬於自己國家的編程語言,但編程語言生態的建設不是單單編程語言能夠設計開發出來就萬事大吉了,編程語言生態建設的前提是匹配當前軟件編程的大趨勢,正好趕上歷史機遇適合推廣,而且無成本的推廣。但目前看國內的編程生態建設的時機並不是很好。

國內程序員在編程的時候時機情況是剛入行的是習慣用中文註釋,隨著技術能力的提升逐漸習慣於用英文註釋,用的時間長了自然就入鄉隨俗了,從創造實際價值來看至少在當前階段沒有必要刻意去創造一種編程語言,技術能力整體提升之後,水漲船高該有的自然就有了,希望能幫到你。


大學生編程指南


第一、用英語寫註釋逼格高,顯得“正規”

這是所有原因中最主要的原因。如果不能理解,就想想為什麼主流編程語言都支持中文變量名,卻極少有人使用。就是因為使用中文變量名,逼格不高,會容易被人恥笑。中文註釋,在某些人群中,也是如此。

第二、用英語寫註釋可以強迫自己提高英語水平

英語是世界語,搞IT的更應當儘可能掌握它。因為編程的核心知識都是用英語書寫的(操作系統、編譯器、主流編程語言的文檔、最受歡迎的開源庫的文檔等)。強迫用英語寫註釋可以練習英語。

第三、寫英語註釋的團隊中有外國人

如果用中文寫註釋,外國的團隊成員或領導可能看不懂。

第四、英語註釋可以實現代碼國際化

寫的代碼說不定哪天異常成熟,會將某些通用庫或通用組件放到開源倉庫中。用英語寫註釋可以國際化,讓全世界的程序員都可以看懂,一起完善。不想當將軍的士兵不是好程序員,時刻做好國際化準備。

第五、某些平臺和操作系統對中文支持不好

在一些生產環境的服務器或嵌入式終端上,因為出於性能考慮沒有安裝中文支持,或者很想裝但是不會也不想學習如何安裝。所以只能用純英文寫代碼,包括註釋,否則會出現亂碼。幾乎所有平臺都支持ASCII碼,其中包括了所有的英文字符。但是如果支持中文可能需要安裝中文字體。還有一部分人不會玩轉字符編碼(utf8、GBK、是否帶bom等)也索性用純英文。

第六、不熟練輸入法切換所以乾脆不切換

一部分程序員不會設置輸入法切換的快捷鍵,不會使用輸入法的高級設置(比如自定義標點、中英文混輸),導致輸入法切換比較繁瑣,所以切換輸入法成了書寫註釋的攔路虎。如果全程使用英語來編寫代碼——包括註釋,就可以有效解決這個問題。


犍為真人


mac還好,公司用win,敲個花括號時常不小心就敲成了中文的,抓狂😫shift使用頻率那麼高的鍵放倆功能真是腦殘的很,當然人家本身就用英語不用切輸入法無所謂了


亞太單身狗保護協會


目前國內越來越多的開發團隊要求程序員採用英文來寫註釋,除了一些常規的原因(開發平臺對於漢字的支撐不足等)之外,採用英文註釋與開發團隊國際化和開源要求這兩個因素有密切的關係。

隨著國內互聯網企業的快速發展,不少開發團隊已經實現了國際化,尤其是一些大型的互聯網平臺類產品更有較為明顯的體現,基於同一個平臺可能會開發出大量的國際化版本,此時容器部分的代碼註釋就需要採用英文編寫了,這會在很大程度上方便開發團隊之間的交流。

近些年來,不少國內的大型互聯網(科技)公司已經開始了全球招聘,在國外讀計算機相關專業的畢業生應該深有體會,而且國內企業往往還會開出競爭力比較強的薪資待遇。有不少畢業生在畢業時會選擇在國外的科技公司工作一段時間,在積累了一定的技術研發能力之後再尋求回國內發展,此時往往會獲得更高的薪資待遇。這些在國外研發團隊工作過的研發人員回國後,也會進一步促進國內研發團隊的國際化。

實際上,除了互聯網公司之外,很多傳統軟件開發團隊往往也要求採用英文來註釋代碼,比如很多ERP的研發團隊就要求代碼要採用英文註釋。由於ERP軟件本身非常龐大,而且很多采用ERP的企業都是全球佈局的,所以採用英文註釋代碼會在很大程度上方便開發人員之間的交流,可以比較方便地完成二次開發。

實際上,ERP的二次開發任務量非常大,很多ERP產品本身就是一個基本的框架,很多功能都需要根據企業的要求進行二次開發。

目前代碼採用英文註釋還有一個重要的原因,那就是開源的要求。隨著國內互聯網企業的研發能力越來越強,很多開發團隊也希望藉助於代碼開源來構建自己的生態,而要想把代碼開源就必然需要採用英文註釋了。

實際上,之前有不少開發團隊在代碼開源之前,會要求程序員把所有的註釋改成英文的,這個工作量也是比較大的。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


IT人劉俊明


絕大部分人都在這裡胡說八道。真正對軟件用戶負責的代碼,一定是中文註釋。寫英文除了國際項目,只能說他是抄來的,註釋沒改。寫漢語拼音的,絕對是懶的切換輸入法,而且對註釋不在意,無需說明。而且提問人,你哪隻眼睛看到國內註釋都用英文了,胡說八道。


比克大魔王50


英文註釋難道就比漢語註釋逼格高一等???

崇洋媚外,垃圾。

註釋是讓人更方便的瞭解代碼的功能,不是非要用英文裝逼的。


九元長老弟子


問這個問題的,沒有寫過程序。

程序員根本不會問這種問題,強制用中文註釋會讓大多數程序員都瘋掉。


欽賜太醫


我見過除了關鍵字是英文,變量名方法名類名全是中文的代碼,跑起來一點問題也沒有,就是看起來彆扭,和作文一樣


ZHBingo


並不是國內程序員寫的註釋都是英文的,很多國內的項目都有用中文註釋的。

但是,一般大企業,大公司的都會要求用英文註釋。

首先 BBA這個級別的大公司,工作的可不僅僅只有中國人,但不管哪個國家的程序員都看的懂英文。所以用英文註釋方便交流。

第二,大公司的項目和小公司的項目不一樣。小公司項目寫完就完,但是人家大公司一般都會把項目做成開源項目。也就是說,人家站的層次更高,不光是幹活,還早給其他程序員造輪子。

開源項目的話,由於是面向全世界的,所以英文註釋就非常有必要了。

第三 大型項目不是不是小孩過家家,裡邊肯定要用到其他人的類庫,這些類庫可能是美國人寫的,也可能是俄羅斯人寫的,不論哪個國家的代碼,文檔,註釋統統都是英文,所以,你自己寫註釋和文檔,也應該保持英文。

那些說寫英文註釋是裝逼,不知道是個什麼心態,這種心態,這種智力水平,還是別幹程序員了。


shawn25


寫註釋。無所謂中文還是英文,因為這東西首先是給程序員自己看的,只要自己看得明白,看得舒服就可以了。但是有的時候寫代碼是有統一的編碼規範的。這個時候如果說要求必須寫英文,那就必須得寫英文。


分享到:


相關文章: