那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

編程的技術(shù)|藝術(shù)|術(shù)術(shù)(上篇)骨灰級程序員的心路歷程

共熵服務(wù)中心 ? 來源:未知 ? 2022-12-06 19:15 ? 次閱讀

e8636526-7555-11ed-8abf-dac502259ad0.png

大家好,我叫梁峻墅,今天想和大家分享的話題是:編程的技術(shù)|藝術(shù)|術(shù)術(shù)。這里的“術(shù)術(shù)”是指哲學(xué),完全是為了標(biāo)題押韻。 我這里講的是面向開發(fā)者編程,與大家平常經(jīng)常說的面向過程編程,面向?qū)ο缶幊?,或者面向分片編程等不太一樣。我理解我?a href="http://www.qldv.cn/v/tag/1730/" target="_blank">程序員編程面向的對象是人,是開發(fā)者,是程序員。用戶并不看代碼,看代碼的都是我們的同行,所以我們要多一個面向開發(fā)者的思維角度來看待編程。一位骨灰級程序員的歷程回顧15歲開始編程序,已經(jīng)編了35年

我從15歲開始編程,現(xiàn)在已經(jīng)整整編了35年了,算是骨灰級的程序員了。

我小時候第一個編的程序是游戲,我相信很多程序員最開始編程都是從興趣愛好開始的。我當(dāng)時就是覺得別的游戲不好玩,自己編更好玩的。那個時候是80年代,最牛逼的電腦也就是蘋果的Apple II,64K內(nèi)存。而我們用的都是娃娃機(jī),只有幾K內(nèi)存。所以那個時候編程序,都不是逐字節(jié),而是逐位逐位地?fù)竷?nèi)存,考慮著怎么省,寧可用復(fù)雜且不易理解還容易出錯的位運算,也要用1個字節(jié)的8位分別表示8個布爾型變量。到了現(xiàn)在,在設(shè)計數(shù)據(jù)庫的表狀態(tài)字段時,還習(xí)慣性地使用位表達(dá),而不是連續(xù)自然數(shù)。那個時候的存儲連軟盤都沒有,更別說什么硬盤閃存了,用磁帶都是高級貨。但家里錄音機(jī)的磁帶質(zhì)量又不夠好,經(jīng)常存上去撈不回來。最后為了玩游戲,開機(jī)后都要自己把游戲代碼再敲一遍,才能玩。這個開發(fā)環(huán)境真是慘絕人寰!

但正是在這種艱苦的環(huán)境下,反而錘煉出在技術(shù)上精益求精的精神。一方面,為了能早點兒玩上游戲,不斷地優(yōu)化代碼,愣是把200行BASIC代碼優(yōu)化到80行。另一方面,打字的速度也快速提升,沒學(xué)過指法,但上大學(xué)時學(xué)五筆字型,我一個指頭戳都比別人快。所以環(huán)境不好,不一定是壞事。現(xiàn)在的編程軟硬件環(huán)境比以前好太多了,但很多程序都編得更加隨心所欲了,內(nèi)存分配都是大手筆,企圖靠硬件來掩飾軟件的問題。所以大家要珍惜自己當(dāng)下編程環(huán)境,少抱怨,多用困難錘煉自己編程的能力。

1990年,我上了大學(xué),終于能接觸到真正的計算機(jī)了,圖書館里有幾十本關(guān)于計算機(jī)編程的書籍被我常年霸占。那個年代電子游戲廳如日中天,里面有很多賭博游戲。正好有個同學(xué)的親戚是開游戲廳的,我們趁他值夜班拆開游戲機(jī),把里面的EPROM拿回學(xué)校用單片機(jī)仿真系統(tǒng)復(fù)制,但一看游戲機(jī)主板上的CPU,大家都傻眼了,是6502,APPLE II的CPU,這種高級貨學(xué)生機(jī)房是沒有的。幸好我們學(xué)校也是當(dāng)時中國的13所重點大學(xué)之一,有多個國家重點實驗室,我們在里面找到一臺原子分光光度計,它的控制主機(jī)是臺APPLE II,冒著被開除的風(fēng)險,拆開主機(jī),換上復(fù)制出來的EPROM,用APPLE II反匯編機(jī)器碼,并打印了500多頁的匯編程序,我們在針式打印機(jī)的怒吼中提心吊膽的過了一宿。最后愣是靠目視代碼,從兩萬多行代碼中找到了只有8行代碼的變牌算法,然后橫掃那個城市所有的游戲廳,后來游戲廳老板見了學(xué)生摸樣的人都不讓進(jìn)。有些執(zhí)著的同學(xué)干脆學(xué)也不上了,坐著綠皮火車逢站必下,掃蕩了周邊一個又一個小縣城……但我們那時候還不知道有黑客這個詞,認(rèn)為破解系統(tǒng)是天經(jīng)地義的,就像編程技術(shù)精益求精是理所當(dāng)然的一樣。

上世紀(jì)末:單片機(jī)/MIS

大學(xué)畢業(yè)后正趕上中國IT方興未艾的時代,我搞的是單片機(jī)控制系統(tǒng),還有MIS系統(tǒng),就是信息管理系統(tǒng),現(xiàn)在叫ERP,編程的范圍越來越廣泛,使用的編程語言和開發(fā)環(huán)境越來越多。沒過幾年,就到了上世紀(jì)末,中國迎來了互聯(lián)網(wǎng)時代。1997年,我作為古城熱線的第一批互聯(lián)網(wǎng)用戶,用19.8k的貓撥號連接到互聯(lián)網(wǎng)上,那是激動萬分,終于可以了解世界上其他程序員是怎么編程序的。同時,也了解到編程的頂級精英被稱為Hacker,但中文被翻譯為黑客,帶點不正經(jīng)的味道,后來在不理解編程技術(shù)的媒體推動下,這個詞已經(jīng)成了不折不扣的貶義詞。

本世紀(jì):SP/虛擬化/云計算/機(jī)器人/人工智能

到了本世紀(jì)初,電信數(shù)據(jù)增值業(yè)務(wù),簡稱SP突飛猛進(jìn),像打開的潘多拉魔盒,放出無數(shù)洪水猛獸,大量技術(shù)人員天天琢磨著怎么讓你回條短信就扣掉2塊錢,再順手給你訂個15元包月業(yè)務(wù),就是無差別搶劫。那個年代是技術(shù)人員的高光時刻,充分體現(xiàn)了那個時代的中國式標(biāo)語——科技是第一生產(chǎn)力。黑客這個稱謂已經(jīng)不足以平民憤,干脆叫白領(lǐng)黑社會。行業(yè)監(jiān)管到位后,大家終于可以心平氣和地干點正經(jīng)事了。照抄美國,開始進(jìn)入到虛擬化、云計算的業(yè)務(wù)領(lǐng)域,然后就是搞機(jī)器人和人工智能。現(xiàn)在的技術(shù)理念和手段越來越多,信息量越來越大,人們越來越急功近利,軟件不行就用硬件堆,僅僅是為了完成交付,能懵就懵,能騙就騙,世風(fēng)日下,很多頂級程序員的光輝思想都被淹沒在星辰大海中。

現(xiàn)在的編程越來越?jīng)]啥挑戰(zhàn),幾乎所有的積木都基本造好了,絕大多數(shù)程序員都是在大量堆砌積木,稀里糊涂地就把功能完成了,如果沒完成那就換塊積木,沒人仔細(xì)研究為什么。遠(yuǎn)沒有小時候那種控制機(jī)器,挖掘機(jī)器潛能的樂趣。但不可否認(rèn),編程門檻的下降也繁榮了整個軟件行業(yè)的生態(tài),而開源的出現(xiàn),能夠促進(jìn)代碼從市井般的粗俗進(jìn)化到貴族般的優(yōu)雅。所以,現(xiàn)在的我在做一些開源的相關(guān)工作。

程序員文化與武俠文化

我理解程序員文化與中國的武俠文化有很多相似的地方。武俠經(jīng)常提到在密林峽谷中練功修行,內(nèi)力練到位后,一出江湖,就是血雨腥風(fēng)。很多程序員年輕的時候也一樣,研究代碼經(jīng)常廢寢忘食,吃住在公司,回家就是為了洗個澡。每天晚上干到2、3點,經(jīng)常把愛因斯坦的話掛在嘴邊:“成年人睡4個小時就夠了?!边@些其實也是在修煉武功。API手抄本:最初的武林秘籍

我大學(xué)剛畢業(yè)的時候,Windows才3.0吧。那個時候沒有互聯(lián)網(wǎng),MSDN也還沒有,到哪里去找編程資料呢?所以大家手里都有一個API的手抄本,很多API的調(diào)用都是自己試出來的。很多參數(shù)也不知道是啥意思,就用窮舉法一個一個地試,去探索,去發(fā)現(xiàn)。所以大家每次見面都會炫耀一下,這個函數(shù)你會調(diào)嗎?一個小本,很牛逼的樣子,就像武林秘籍一樣。

MSDN:程序員的《葵花寶典》

再往后,微軟出了MSDN,每期至少2張光盤起。被中關(guān)村的不法商販看中了,就用MSDN的封面給日本動作片光盤套殼來躲避稽查。大家買到這樣的MSDN,都會體諒不法商販的良苦用心,默默地收藏起來,然后懷著忐忑的心情繼續(xù)去淘MSDN,即希望買到真的MSDN,又希望不是。但不管買到啥,都有收獲,所以程序員很早就有了平和的佛系心態(tài)。那個時候的MSDN,就是程序員的《葵花寶典》:一書在手,天下我有。想查什么隨便查,想調(diào)用什么就去搜,內(nèi)容詳盡,還可以通過超鏈接無限拓展你的視野。那個時候已經(jīng)不是會不會調(diào)用API的問題了,而是能知道調(diào)用哪些API能讓你的程序更加精簡、穩(wěn)定。盡管大家常說,不要重復(fù)造輪子,但我想說這個比喻真是喪盡天良!程序員面對的絕不是使用幾個輪子的造車游戲,而是使用成千上萬個積木的拼圖游戲,已經(jīng)遠(yuǎn)遠(yuǎn)超出了正常人類的腦容量。由于API實在太多了,而且還在快速迭代,任何人都很難篤定哪些功能已有現(xiàn)成的API,哪些功能還沒有。所以大家開始比拼的是知識面有多廣,再后來就變成了玄學(xué),根據(jù)常年跟微軟程序員了解的調(diào)性,設(shè)身處地地猜他會怎么思考這個問題,我們怎么做才能成本最低。

修改別人的代碼:踢館

隨著API越來越多,軟件規(guī)模也象滾雪球般越來越大,像求伯君老前輩那樣憑一己之力寫個字處理軟件的時代一去不復(fù)返了。尤其是系統(tǒng)級的大型軟件,需要很多人聯(lián)合開發(fā),就不可避免要去修改別人的代碼。這個時候武俠的情節(jié)又出來了,同級別的程序員基本上都看不上對方的代碼。你看看東邪西毒南帝北丐,誰鳥過誰?別人代碼拿過來只是用旁光看一眼,然后就是“重構(gòu)”。

其實,對于中級程序員而言,寫代碼并沒什么難度,想清楚編程思路之后就是體力活,所以這不算什么本事。但修改別人的代碼,可要比自己寫要難的多得多。首先別人的代碼就像個黑盒子,你得一點一點地通過閱讀代碼,讓大腦像計算機(jī)一樣運行一遍別人的程序,還要抽象出來別人的設(shè)計思想;然后再把自己的思想和別人的思想進(jìn)行巧妙整合,和平共處;最后還要對代碼進(jìn)行一次精準(zhǔn)的外科手術(shù),才能實現(xiàn)自己的目標(biāo)。這絕對是個臟活、累活,但在外行人眼里,覺得你不就改了幾行代碼嗎?很多程序員在按代碼行計算工作量的世俗傲慢與偏見下,選擇了用愚蠢對付愚蠢。而那些有思想的牛逼程序員不為所動,不斷通過修改別人的代碼,提高自己認(rèn)知的邊界,逐漸成長為一代宗師。而總是自己寫代碼的程序員,則永遠(yuǎn)在自己認(rèn)知的范圍內(nèi)低水平徘徊。程序員的三六九等就是這樣被拉開的。

開源:反武俠

等到了軟件開源的時代,開源代碼就更需要看其他人寫的代碼了,我理解這是編程技術(shù)追求更高更遠(yuǎn)的必然結(jié)果。在開源時代,參與代碼共建的程序員之間必然產(chǎn)生共情,了解對方是怎么想的,理解人家的思路。但對于大多數(shù)人而言,理解他人是很難的,每個人都覺得自己是最正確的,這是人性的弱點。而開源能夠讓程序員的心胸和視野更加的寬廣,把理解他人作為一種編程習(xí)慣,這種境界就更不一樣了。

當(dāng)然,開源代碼看多了,可能武俠精神又會出來了,這怎么寫的這么爛,還不如自己的代碼開源呢。這個呢,就有點反武俠了。中國武俠,武林秘籍,都是自己門派的獨門秘技,絕不外泄。不能讓別人看。而開源代碼,相當(dāng)于把武林秘籍公開了。但我理解,看到源代碼,到真正理解源代碼后面的思想,還有好長一段距離。而且還要看你的段位,就像九陰白骨爪第一式,氣沉丹田,你得先知道丹田是啥,在哪兒。還有歐陽鋒練蛤蟆功走火入魔的呢,顯然沒理解對代碼和思想的差異。所以開源代碼并不一定能讓所有獲得的人真正獲得,而真正獲得的人就是你的同道中人,你就不那么寂寞了。開源時代之前,很多老板以為掌握了源代碼,就是掌握了核心技術(shù)。而真正的核心技術(shù)其實是思想,而思想從來都是由人來掌握的。李白曾經(jīng)寫過一首《江湖行》,我就結(jié)合開源,共建一首《開源行》:

e91ff088-7555-11ed-8abf-dac502259ad0.png

未完待續(xù)……

ead78828-7555-11ed-8abf-dac502259ad0.gif

eaeb349a-7555-11ed-8abf-dac502259ad0.png

eb09ccca-7555-11ed-8abf-dac502259ad0.png

eb2fb796-7555-11ed-8abf-dac502259ad0.pngeb5e3602-7555-11ed-8abf-dac502259ad0.png

eb8a403a-7555-11ed-8abf-dac502259ad0.png


原文標(biāo)題:編程的技術(shù)|藝術(shù)|術(shù)術(shù)(上篇)骨灰級程序員的心路歷程

文章出處:【微信公眾號:開源技術(shù)服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    389

    瀏覽量

    7992
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3747

    瀏覽量

    16588

原文標(biāo)題:編程的技術(shù)|藝術(shù)|術(shù)術(shù)(上篇)骨灰級程序員的心路歷程

文章出處:【微信號:開源技術(shù)服務(wù)中心,微信公眾號:共熵服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強(qiáng)大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級。現(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?301次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補(bǔ)充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補(bǔ)充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補(bǔ)充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機(jī)械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機(jī)械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機(jī)械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本
    的頭像 發(fā)表于 11-30 10:34 ?538次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    光學(xué)全息術(shù)的原理及應(yīng)用領(lǐng)域

    本文介紹了光學(xué)全息術(shù)的原理及應(yīng)用領(lǐng)域。 當(dāng)我們第一次見到全息影像時,仿佛親身踏入了科幻電影的奇幻世界,三維圖像懸浮在空氣中,無需任何特殊設(shè)備,我們就能從各個角度盡情欣賞。這種仿佛魔法般的成像技術(shù)
    的頭像 發(fā)表于 11-21 10:18 ?586次閱讀
    光學(xué)全息<b class='flag-5'>術(shù)</b>的原理及應(yīng)用領(lǐng)域

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠(yuǎn)看,AI與人類程序員將共生共
    的頭像 發(fā)表于 11-08 10:17 ?226次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?241次閱讀

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員編程愛好者,拿起你的鏡頭,記
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

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

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員編程愛好者,拿起你的鏡頭,記
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    阿里云發(fā)布首個AI程序員,引領(lǐng)應(yīng)用開發(fā)進(jìn)入“分鐘”時代

    近日,在備受矚目的阿里云上海AI峰會上,阿里云向全球開發(fā)者們展示了其最新的技術(shù)成果——首個“AI程序員”。這款創(chuàng)新應(yīng)用基于通義大模型構(gòu)建,具備了令人驚嘆的多項技能,包括架構(gòu)師、開發(fā)工程師、測試工程師等,為軟件開發(fā)行業(yè)帶來了革命性的變化。
    的頭像 發(fā)表于 06-24 10:36 ?707次閱讀

    適者生存,程序員最終會流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河!!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?438次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術(shù)迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過低。以前高工現(xiàn)在拿著中低程序員薪資
    發(fā)表于 03-06 21:32

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明
    百家乐官网园鼎盛娱乐场| 678百家乐博彩赌场娱乐网规则| 葡京线上娱乐| 888百家乐官网的玩法技巧和规则 大发百家乐官网的玩法技巧和规则 | 百家乐论坛香港马会| 沁水县| 百家乐真钱斗地主| 百家乐官网娱乐城博彩正网| 娱乐百家乐可以代理吗| 百家乐官网大转轮真人视讯| 大发888-娱乐网| 百家乐官网纯数字玩法| 百家乐平注秘籍| 百家乐官网看| 大发888登录| 罗盘24方位| 葫芦岛市| 百家乐娱乐平台真钱游戏| 百家乐官网赌场在线娱乐| 半岛棋牌游戏| 澳门百家乐真人娱乐场| 澳门百家乐官网视频| 百家乐技巧开户网址| 戒掉百家乐官网的玩法技巧和规则| 女神娱乐城| 百家乐信誉平台现金投注| 百家乐官网百乐发破解版| 狼2老虎机清零密码| 羊和鼠做生意摆件| 百家乐官网3宜3忌| 威尼斯人娱乐城| 百家乐官网三路法| 真钱轮盘| 奇迹百家乐的玩法技巧和规则| 大发888老虎机平台| 7人百家乐桌布| 太阳城百家乐官网娱乐官方网| 巴登娱乐城信誉怎么样| 百家乐最新破| 属狗与属龙做生意好吗| 百家乐官网投注杀手|