從前……
好像是在1982年,的確過了很長時間了,這實際上像個童話故事。
在1982年的時候,有一個叫Yeev Staigey 的12歲笨小孩,不過這個人完完全全是人們杜撰的,他在加州天堂市里的天堂高中里忍受著他的高二生活。Yeev直接跳了3年級,7年級和8年級,11歲進入高中,以一種英雄般的巨大勝利,但這也造成了他日后生活社交能力的缺失。
孩子,我可以告訴你所有關于小Yeev在那個年紀的故事。他甚至是落伍的,比你想象的還要可悲。但我們今天的故事是關于Yeev的一些選修課。我也不確定大家把它叫什么,但是在Yeev的學校,你不能一直做像數(shù)學、科學、語言和歷史等這類無聊的事情。絕對不行!因為Yeev是在美國接受教育,所以他必須選修一些選修課,可以被粗略地定義為“橄欖球教練教授的課程,因為法學院說橄欖球教練不得不除了橄欖球外,還得教授另外一門課。”
這些選修課(你可以選擇不上,但這樣他們也能選擇讓你畢不了業(yè))是這樣一些課,他們將活力帶給了活躍的美國人。他們就像木材店、金屬店、汽車店,自然也是那種不惜一切為了滿分的人多常年追捧的店。
在我們的故事開始之時,我們可憐的英雄Yeev正透過他巨大的有刮痕的雙焦眼鏡,凝視著選修課表,試圖找到一門不涉及油脂、放電的課,一門任課老師不會為了一個醫(yī)學學生就尖叫”誰會做止血帶,快來幫幫我“的課,以及任何那些大多是數(shù)美國人可以在上述“商店”中找到的課。
Yeev 注意到單子上有一門課,很顯然是被放錯地方了,就是打字課,例如在打字機上。Yeev認為在這些課中,這門課看起來相對無害。可能發(fā)生的最糟糕的事無非就是手指被打字機軋了一下,就像閃電擊中建筑物,使你大聲尖叫,這種尖叫方式就好像是你的褲子突然滑落到膝蓋,然后所有人嘲笑你媽媽給你在Mervyn店買的白色內(nèi)褲。這可能少許尷尬,但在接下來的幾年中,沒人會想起這事除非他們看見你。
盡管會有潛在的尷尬,打字課絕對比止血店更吸引人。
Yeev檢查了下,然后十分確信學校橄欖球教練在教授這門課。真的,想著這將是Yeev在他整個學習生涯中離橄欖球場最近的一次,Yeev決定選擇這門課。Yeev那時并不知道,但人們都說教練是最好的老師。要知道,這只是人們說的而已。事實上也有幾分真實性。教練不得不憑著像即饑渴的雄山羊的專注度,將大量復雜的信息傳遞給學生。正如他們所說,這需要十分特殊的技巧。
你曾經(jīng)是否注意到,在國家橄欖球聯(lián)賽黃金檔期間,前任教練評論員以及他們帶領的前任運動員評論員的手通常都十分大而且結實。他們在談論時會向你揮手,吸引你的注意力。那是因為你的爬行動物腦袋會想,“那家伙要打我。”教練知道如何讓你集中注意力,他們知道如何上課。
所以,Yeev很幸運地得到了一位教練老師。但現(xiàn)實并不總那么一帆風順。從某種意義上來講,Yeev很不幸生活在1982年,他幾乎沒有什么與計算機打交道的經(jīng)驗,而且他的學校太落后以至于2008年以前,他的學校都沒有一個像樣的網(wǎng)站。在1982年,他們付得起一半的電式打字機;剩下的都是老舊的,手動的,靠馬拉的那種打字機。
如果Yeev現(xiàn)在來學打字,條件會好很多。現(xiàn)在人們擁有快速的鍵盤,而且智能程序可以精確地顯示你的進度等等。我都有點嫉妒現(xiàn)在那些要學打字的人了,你難道不是嗎?但是在1982年,帶著眼鏡的小Yeev沒有軟件培訓項目,所以他不得不像一位橄欖球教練學習。不過考慮到所有的情況,這已經(jīng)是十分幸運的了。接下來讓我講講事情是怎么變得讓人失望的……
學習音樂小片段
你之前是否觀察過一個專業(yè)的音樂家訓練?我指那些世界一流的,在中國和俄羅斯劇院受訓過的那種音樂家,他們結合了日本機器人的技術以及,額,日本機器人的靈魂。他們練習就像這樣:快、慢,中速。快、慢,中速。一遍又一遍。這有點像溝迪洛克斯,你們還記得她對吧,就是那個在童話故事里被熊吃掉的小女孩。不斷地選擇,直到找到正確的感覺,這就是音樂家練習的方式。
在古典音樂里,音樂家們稱有難度的繁雜的樂章為“樂群”。在電子吉他音樂里,他們稱之為樂句片段。其實兩者十分相同。你想訓練你的手指掃過那些樂章就如同柴郡貓在舔它燦爛的笑容。
下面是你訓練你手指的方式。你從一篇樂章開始,任何東西都行。最開始只是一個單個的音符,然后是一些音符,一些樂句,最后變成一些旋律。你想要去掌握那些開始讓你棘手的東西。
開始的時候,你盡可能快地彈奏這些片段,你并不在意犯錯,因為練習這些樂句的目的是為了放松你的手指。你想讓它們知道自然的速度是怎樣的,就像輕風拂過發(fā)絲。接下來,你會盡可能慢地彈奏。在這個階段,你會使用一些恰當?shù)募记桑瑢嶋H上意味著你應當盡可能地做到恰如其分,因為藝術的狀態(tài)技巧在不斷地進化著,并且總是有幾分個性化。你學習任何規(guī)律,它們的技術思想有各種各樣的學派。這些東西都沒有統(tǒng)一的答案,因為我們的身體的工作方式或多或少的會有不同。你只需要學習你最喜歡的技巧,然后努力掌握它。最終,你可以創(chuàng)造出你自己的技巧。有時候你是被迫的,我在后面會跟你解釋的。但是在最開始的時候,你得學習他人努力得來的正確的技巧,在你掌握它們之后,再來決定你是否想要改變它。在你想要以自己獨特的方式來改變它們的時候,你需要掌握自己的風格。
形式是自由的。相信這一點,他們是這樣說的,而且還言之鑿鑿。
不論你選擇什么樣的技巧,在緩慢的學習過程中,你根本不會在乎速度。你在意的是準確性。慢工出細活,熟能生巧。你想要你的手指去體會正確的感覺。你并不會在意是否要花上30秒才彈奏一個音符。做對就行,如果出錯了,重頭再來,這次更慢點。
最后,你按一定速度訓練。如果你在練習一門樂器,你會按既定的速率彈奏。你想讓你的手指感受樂感。音樂家通常認為在這個階段你不想犯錯,或者是你恰恰就在以錯誤的方式練習。但從現(xiàn)實角度來講,大多數(shù)音樂家很可能愿意在第三階段做出一點小犧牲來保證音樂的優(yōu)美和流暢。我們稱之為一分鐘犧牲五次,這就是你的目標。
快,慢,勻速,一遍又一遍,這就是他們練習的方式,并且很有效果。
學習打字
Yeev的橄欖球教練很善于教學。我不知道他是否玩過樂器,但他肯定使用了經(jīng)典練習法的思想。
Yeev十分認真地上一天一次的課。首先他需要學習打字的基本知識,事實上,并沒有多少基礎知識。你把你的手放在中間行的固定位置,使你的手腕離開鍵盤。會有圖例告訴你哪個手指該按哪些鍵。記住這些規(guī)則,將每個鍵都練習幾次。想想上幼兒園的時候,當老師讓你寫字母表時,你會將一行寫滿A,然后下一行寫滿B,就像這樣。
在一到兩天內(nèi),你就可以記住鍵盤格局,然后就可以不看鍵盤打出任何東西,雖然可能比較慢。僅僅需要一到兩天,你就在嘗試打字了。在學完基礎之后,不出意料地,Yeev班上練習了很久《Typing Football》這個游戲。教練發(fā)明了這個游戲,來使學習打字充滿樂趣。因為教練十分精明地意識到,并不是班上所有人都記得全國橄欖球聯(lián)盟規(guī)則書和策略書。這個游戲規(guī)則涉及到將班級分為兩半,然后通過哪一半打字比較好來移動球。Yeev在1982年使用的練習在現(xiàn)在通過軟件的使用而做的更好。見鬼,現(xiàn)在人們通過軟件讓你射殺僵尸來練習打字,這真是太有趣了。
如果有什么技巧學習打字,那就是堅持。Yeev的班上堅持了,連著12周,一周5天,他們都練習打字。他們沒有家庭作業(yè),因為學校并沒期望他們成為打字員。他們只是來上課,練習《Typing Football》這個游戲,做著快,慢,中等的練習。
當然也有細微的差別。有時候他們自己選擇語言來練習字母群,Yeev選的是英語。像“tion”、“the”、“ing”等群組需要被練習的知道他們能毫不費力的打出它們來。有時他們練習的東西里會包含大量標點、數(shù)字或奇怪的間距。這些細節(jié)并不在我們的故事范圍內(nèi),它們都被現(xiàn)在的軟件所解決了,你會發(fā)現(xiàn)這點的。
那么結果如何呢?在學期末,Yeev一分鐘打?qū)α?0個詞,而且他甚至不是班上最好的。這可是45天,每天50分鐘的付出,并且充滿了樂趣。實際上,隨著更好的軟件和鍵盤出現(xiàn),現(xiàn)在的打字學習可能就是30天,每天30分鐘的付出。現(xiàn)在Yeev可以每分鐘打120個詞。他進大學時還只是每分鐘打大約60到65個詞,但他決定提高速度,在他遇見了一個叫凱利的同級學生,他通過UNIX上的“talk”軟件每分鐘能打120個詞。在他們較量時,Yeev能夠感受到她的不耐煩。他提到了這點,她回應到,“你該看看我在Dvorak鍵盤上打字時的水平”。Yeev在那時已經(jīng)深諳社交了,他咬緊牙關,不在打任何東西。但關于Yeev的故事已經(jīng)足夠了,畢竟他是人們虛構的。
你需要學習打字嗎?
嗯,你知道你是需要的。這正是你所需要的東西。即便你可以找借口,但你深深明白你需要學習它。打字是我們現(xiàn)在與整個世界互動的方式。讓自己不便并沒有什么意義。你可能會像其他人一樣說,“我并不受限于速度,我把全部時間用來設計,而且它們與編碼無關。”我經(jīng)常聽到這樣的話。但是你錯了,程序員一天到晚都需要打字,即便他們在設計。實際上尤其是他們在設計時,他們更需要打字,因為他們要與其他在外地的參與者交流。
這就是這個行業(yè)的無恥的秘密:不按指法打字的程序員就像文盲。
如果你按指法打字,你就會明白我說的文盲。這個十分無恥,人們不會在正規(guī)公司談論骯臟的秘密。文盲就是和躲在工廠地下室的兒童亂倫的混蛋。我發(fā)誓,人們會感到不舒服談論這個。我們程序員在Reddit網(wǎng)上表現(xiàn)得很有教養(yǎng),但是我們不能面對我們自己關于社會文化的最大的骯臟秘密。看到了吧,讓我來告訴你:我將要揭露骯臟的一面,不管你是否樂意。我所謂的文盲是什么?——不按指法打字的人。他們?yōu)榱司S持他們的生產(chǎn)力需要做出犧牲。這不過是簡單的算術。如果你花更多時間碼代碼,為了保持速度,你做其他事情的時間就會減少。
但是當談到編程,你有太多東西可以犧牲。你可以削減你的文件,減少代碼注釋,減少郵件通信以及減少網(wǎng)上討論的時間,更多的加入小組討論和走廊交流。所以,猜猜看不按指法打字的人能犧牲什么?幾乎上面所設計的任何東西。按指法打字的人在一英里外就可以發(fā)現(xiàn)一個很次的程序員,他們甚至不需要共處一室。對于初學者而言,人們察覺不到他們的外行,因為他們還沒有參與到我們的網(wǎng)上社區(qū)來。當你與他們一對一交談時,他們表現(xiàn)的很聰明。他們通常很聰明。但非打字員在網(wǎng)上通常只有只言片語,所以他們的表現(xiàn)往往很有限。他們看起來近乎冷漠,對發(fā)展工程文化沒有任何興趣。這真是太好了!
這只是我說的文盲的第一部分。他們不合群,這就是他們所謂的“我大部分時間都在設計”瓦解的地方,因為設計需要交流,需要不斷記錄所做的決定。如果你沒有將打字作為你設計的一部分,那么你設計的東西就不會正確。另外一點就是外行的代碼往往是最短的。他們不會花費其他努力來注釋代碼。如果他們的打字技巧太差,他們可能會選擇用一種偷懶的方式來注釋代碼。難道他們是在用手肘打字?他們甚至不在意格式,這可以說是一個程序猿所犯的最大的罪。這還不是最糟糕的,最糟糕的是錯拼標識符后還不修正過來,因為有太多地方需要修正。但實際上打字機的格式排版就在那里。
你知道打字機格式嗎?你把你所有字母擠到打字機里,然后集中輸出到屏幕上,砰!你覺得那是代碼?我認識個像那樣寫代碼的家伙,實在是太可怕了。看著他幾乎就是件可怕的事情,因為他打字時一直盯著鍵盤在,而且僅用兩個手指,不管他是否兩個手指都用到了,并且他一分鐘才看一次屏幕。簡單看了看他打字,兩件事中的一件必然發(fā)生。第一個可能性就是拿鼠標,因為在過去的一分鐘他都把內(nèi)容打在了錯誤的窗口里,結果很搞笑。如果他不伸手拿鼠標,他就會按回車鍵,而且按的次數(shù)幾乎與他打字敲擊的次數(shù)幾乎相同。這個家伙是計算密集型而不是I/O密集型,盡管如此,我猜我還是會放他一馬。
但是重構不是有很好的作用嗎
沒錯,重構工具使你充滿了底氣。我聽說過這種說法,而且多次聽到。重構工具的存在使得打字顯得沒什么實際用處,早已過時。你僅需要一天到晚按著菜單鍵就可以領取工資了。我知道這種事。但事情是這樣的,大家都在嘲笑你。或者如果他們是你親密的朋友,他們僅僅在可憐你,因為你太老土了。如果你真的認為重構工具是打字的替代品,就好比你認為你可以砍掉你的雙腿,因為你有汽車。我們他媽的才不會買這種東西。
如果你是一個程序員或者正在利用計算機進行大規(guī)模生產(chǎn)的IT專家,有必須學習打字!我無法表示的更明確。如果你拒絕花時間去學習打字,那么你就是朵奇葩。我可能有點夸張,但最好是這樣表述。我希望我們還能做朋友,你盡管去鄙視那些奇葩。
好消息
這里有些好消息,既然你最終打算學習打字,我想告訴你一些好消息。
我知道你會去學習打字,我怎么知道?因為你已經(jīng)讀到這里了。說真的,你所讀的東西使你與他人不同。當你得知有這么多的程序員不知道如何閱讀,你一定會瞠目結舌。我沒開玩笑,你讀的速度可以比你打字的速度快很多,但是無數(shù)程序員不能跳讀這篇博客。他們嘗試了,但不像快速閱讀者,他們無法輕易地獲取文章的中心內(nèi)容。這是行業(yè)里另外一些骯臟的小秘密。
所以,既然你都讀到這了,現(xiàn)在你明白你需要馬上學習打字了吧。你深知你可以做到的,而且你也不會覺得有多難。你無非就是少玩一些游戲,然后很快地你就可以使你的生產(chǎn)力提高兩倍,而不需要像學習一門新的數(shù)據(jù)結構付出那么多。
這就是我知道你為什么會學習打字。所以我會告訴你一些好消息:打字簡直簡單的一地。快,慢,中等速度。裝一些打字軟件然后就開始學習吧。我們并不是在談論節(jié)食或戒煙這種困難的事情。不管你什么年紀,采取什么樣的方式,它就是這么簡單。你僅僅需要學習十幾個小時。如果你有什么困難,盡管發(fā)郵件給我,我會讓你充滿斗志。這不會花費我什么時間,因為我打字很快,再加上你的郵件又不長。告訴你個事實:在我大三或大四之前,我都還不知道如何按指法打字。當我每次需要打一個數(shù)字時,我不得不坐起來,低頭看鍵盤,隨便用幾個手指撫摸鍵盤時,我才意識到這個事實。所以,我最終花了大概兩周的時間,每天15分鐘的樣子就學會了。就是這樣,你并不需要經(jīng)常打數(shù)字,順其自然,差不多一周的樣子,每次我要打數(shù)字時,我就會慢下來,把它打?qū)Α_@樣大概持續(xù)了兩周,我就學會了打數(shù)字。
這都是15年前的事了,15年啊。我喜歡盲打。實在是太有效率了,你可以想打?qū)炀痛蚨嗫欤敲茨銥槭裁催€想選擇其他方式呢?來吧,是時候開始學習了。
何時開始?
如果是我的話,我會上網(wǎng)找一些免費的打字軟件。我會找大概一個小時,最多兩個小時,持續(xù)大概一周。我會嘗試上面的任何東西。如果沒有免費的軟件合我的胃口,我就會試試Mavis Beacon這款軟件。我并不知道它是否好用,但絕對會比橄欖球教練教你在電打印機上打字要好得多。
我真是不明白,我就是無法理解為什么會有專業(yè)的程序員允許自己不會打字。這毫無道理啊。這就好像一個演員不知道如何搭配衣服,毫無準備地參加一場游戲、一次會議,去教室不帶作業(yè),在奧運會上游泳時卻穿著Eddie Bauer的探險短褲。
承認吧,其實就是自己懶而已。沒有其他借口了。我有一個朋友,叫約翰,只能使用一只手,但是他卻能一分鐘打70個單詞。他創(chuàng)造了自己的小技巧。他沒有找借口,而是在找借口的人中間默默堅持著。感到羞愧吧!如果你雙手健全,完全正確地一分鐘打70個單詞是輕而易舉的,甚至更快。打字并沒有你想的那么難,它比你想得更有用。
既然你今天就要開始學,你最好在德沃夏克鍵盤上學習,它可以促進你的學習速度,給自己一個有利的開頭。
我要說的就這么多了,請一定去學習打字。這是一個行業(yè)里每個人都應該談論的問題和臟秘密。告訴你的老板你需要花時間去學習打字,并要求他支付軟件費用。要求他們派你去上相關課程,如果必須,你不能逃避責任。做一切需要做的,然后告訴我進展如何。
-
谷歌
+關注
關注
27文章
6210瀏覽量
106214 -
程序員
+關注
關注
4文章
953瀏覽量
29897
發(fā)布評論請先 登錄
相關推薦
阿里云升級通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補充

UCD3138A64/UCD3138128程序員手冊

機械革命發(fā)布CODE AI程序員本
AI編程工具會不會搶程序員飯碗
第五屆長沙·中國1024程序員節(jié)開幕
程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

助力程序員告別困擾已久的夢魘-Bug

薪資高、青春飯,是不是程序員=青樓?
GitHub Copilot:你的代碼超級助手!程序員的最強福音

評論