為什麼有人熱衷於吵哪個計算機語言好?
當你不能把一個演算法從 recursion 拉回 dynamic 還用 n! 跑時,你直接用 0 和 1 給電腦髮指令都不好使。吵哪個語言在 1ms 里能幹最多事時有想過改改自己的演算法嗎?
在這件事情上我很同意王垠的意見(大意):「如果我不起來說我喜歡的語言哪裡好,我不喜歡的語言哪裡不好,等到將來不好的語言因為粉絲太多統治了世界,導致我只要編程就必須要用它,那我還怎麼繼續寫程序?」
因為某些語言代表了一種編程範式,討論這些語言其實是討論這些分析問題方式的差異。
有人說用什麼語言不重要,演算法才是關鍵。一般兩種人會說這種話,一種是見過的東西太少,世界都沒看全,就別談世界觀了;另外一種是什麼都接觸過,從極高的抽象層次看到了它們的相似。
編程語言很像是給解決計算問題的方法進行了正交分解(像那些無關痛癢的語法糖肯定不是正交基咯),雖然對圖靈完備的語言而言,可計算的問題的範圍都是一致的,但是看世界的角度完全不一樣,我認為這些理解世界的不同方式之間是有高下的。
至於有一些沒什麼技術含量的語言之爭,笑笑就算了,嘴仗而已。沒有思想高度的語言之爭毫無意義,其他地方同樣適用......於是我要跑個題......emacs大法好(逃這種熱衷是對的。很多場合選用正確的編程系統會帶來開發/調試/維護/升級時間上的根本性區別
一個PL領域的天才開發一套編程系統使得某種目標軟體系統(比如OS、網路棧、密碼學演算法棧等)的開發便捷性和可靠性大大提升N個量級是完全可能的。光憑這個編程系統就能開一個上市公司改改演算法?說的好像演算法改好了你就能把程序寫出來似的,操作系統內核里最複雜的演算法大概也就是紅黑樹的水平,去用能把recursion拉回dynamic的語言寫一個啊?1ms時間內要是處理不完一個硬體中斷你寫個毛線!
"不要把這個世界讓給你所鄙視的人"同樣適用於語言
不知道他們low不low,只覺得你naive。
說他們low,有這時間多鑽研一下演算法不好么??
我在這吐槽,有這時間多鑽研一下演算法不好么??
一個List排序都得調api真覺得丟人,面壁去了。
我這是在諷刺,額。天天用某個語言都有感情的了,工作8小時+大量業餘時間都在和某語言打交道,比和老婆的時間都長,幾年下來愛恨情仇酸甜苦辣的情感都在裡面。突然一個小丑蹦出來它說不好,憑啥啊,你誰啊。敢侮辱我家寶貝,遂痛扁之。
問題在於,某些人黑某些語言的時候一點都不專業,讓我這種職業自黑一萬年的都看不下去了。比如各種黑Android和黑Java的,我黑起來能寫兩萬字論文出來,你們卻只看得到「卡頓」什麼皮毛,還覺得自己特屌。真是的,太煩人了!!
每個語言都有自己的生態環境。
如果按照存在即合理的說法,都有他自身存在的必要性。語言,自己喜歡什麼學什麼,用什麼,是自己的事情。討論語言在同一實踐中的優劣,有其必要性,能給我們帶來更好的編程體驗和用戶體驗。但如果說,你喜歡某一語言,就不要去強迫別的語言愛好者去喜歡,這種就屬於浪費時間。在連續開發N天后,程序員總該獲得休閑的時光,來放鬆我們體內的負面情緒,我們拿討論語言優劣(一個永恆的話題)來作為談資,可以討論很久(一种放松方式,類似博弈),就像是女人聊衣服一樣。
羅素羅蘭在《巨人傳》中&<&<米開朗琪羅傳&>&>的序言寫到,了解這個世界,然後愛他。
我想說,了解JAVA,然後愛他。
我是JAVA程序員,我喂自己袋鹽。因為屌絲太多,大牛沒空搭理,造成的半桶水響噹噹的局面,悲哀
工作累了,水水放鬆一下。
碼農之間討論語言優劣跟一般人談論天氣一樣。大多數程序員用什麼語言多一些,心理就會偏向那種語言,我認為這是一種炫耀心理,或者是自我安慰,簡稱自安慰。
推薦閱讀:
※如果編程語言是從象語素文字而非表音文字設計,什麼會不同?
※c++中#include <>的後面加了分號,居然仍然能正常編譯運行,為什麼?
※Linux下學編程用哪個版本的Linux環境好?
※如何編程求解 100 以內的質數?