色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

關于程序員的痛苦的一種悖論

  我所說的“關于程序員的痛苦的一種悖論”描述如下:

“好的程序員大部分的時間都在干他們厭惡的事情、使用他們厭惡的技術和工具。”

  這是反常理的,看上去就是悖論;你會認為程序員才會把時間都花在爛技術上,優秀的程序員會把時間花在那些尖端的技術上。不是嗎?

  我在自己的體驗中發現了這個悖論,直到后來我才明白為什么會是這樣。

  什么樣的工作會讓程序員們厭惡不已?

  這對一些有經驗的程序員來說并不是什么新聞,但我要把這向那些非編程人員解釋一下:

  好程序員厭惡做那些本來可以自動完成的事情。如果一個程序員被指使去做一個機器(通常是電腦)能自動完成的事情,他會非常的懊惱。程序員的志向是讓機器盡可能多的替他們完成任務,只有剩下的一些機器不能完成的工作才會自己出手。

  這是一個程序員應該具有的一種非常有益的本能。

  一個簡單的需要自動完成的工作的例子

  想象一個程序員瀏覽一個有1000行代碼的文件。他想找到第791行,因為這一行被認為有問題需要修改。但編輯器現在顯示到第30行。大多數人都會簡單的拖動滾動條一直到自己想要的那一行。但一個好程序員是不會去干這樣的事情的。他們會使用一個能夠使他們直接跳到特定行的編輯器。例如,在我使用的編輯器里,“Ctrl-L -> 791 -> Enter”就能做這樣的事情。

  這個例子很簡單;更復雜的例子有很多。

  好的程序員厭惡做重復性的工作的原因是,這些小事情會打斷程序員的思緒。思緒是一個脆弱的東西;一旦思緒被打斷,需要花很久才能再接起來。如果你每5分鐘就被這種體力工作打攪一次,你的思緒就無影無蹤了。

  在日常工作中,程序員需要處理各種各樣的技術工作、使用各種各樣的工具。程序員喜歡那種含“體力勞動”相對較少的工作。程序員喜歡那些只需要很少的體力勞動的技術和工具(Python,Django,git等都屬于這一類),討厭那些需要大量體力勞動的技術和工具。(這個我就不舉例了:))

  但程序員必須即要處理那些有趣的自動化的技術,同時也要做那些討厭的,需要體力勞動的工作。好的程序員會盡可能的使他們的生活遠離那些爛技術,但總有一些很糟糕的技術他不能簡單的拋棄。有時是因為他們開發的產品需要這種技術;例如,所有的web開發程序員都必須要跟HTML打交道,但HTML里有很多很討厭的屬性。有時一些很爛的技術不能拋棄只是因為有大量的人在使用他們,程序員必須去使用它們。

  大部分的時間都是花費在了爛技術上

  從這個角度看,你就能很清醒的理解這個悖論為什么會出現了。爛技術會用掉大量的時間和精力。好的技術只需要很少的時間和精力。程序員每天的時間和精力是有限的。這有限的資源中很多一部分被投入到爛技術上,正是因為爛技術需要你付出更多。換句話說就是,他們主要的日常工作都是在跟他們討厭的技術和工具打交道。因此,好程序員很痛苦。

  我希望我的這篇文章最終能給解決這個問題帶來一些啟示,但估計不會很多。我們能做的事情就是盡量的拋棄那些爛技術,使它們遠離我們的生活,而那些暫時拋棄不了的,我們只能忍受。

it知識庫關于程序員的痛苦的一種悖論,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 汉寿县| 榆社县| 耒阳市| 澄迈县| 高邑县| 容城县| 城步| 陆良县| 滁州市| 武隆县| 陆丰市| 高陵县| 张家口市| 甘德县| 凉山| 枣庄市| 南康市| 新丰县| 庆云县| 闽侯县| 松江区| 拜泉县| 于田县| 边坝县| 双牌县| 武安市| 建水县| 友谊县| 合作市| 垣曲县| 武隆县| 孙吴县| 平潭县| 巫溪县| 肃南| 迭部县| 惠安县| 锡林浩特市| 大渡口区| 岳阳县| 阳春市|