我們都是IT民工---------流浪人IDE開發(fā)札記-創(chuàng)新互聯(lián)

    你生命中的有些東西終究會失去,比如我住了6年的陳寨,這個聚集了鄭州十幾萬IT民工的地方,說拆就拆了。再比如我玩了3年的坦克英雄,這個帶給我太多快樂的游戲,說停就停了。
編程對我而言是種愛好,我上學(xué)6年,工作14年,期間學(xué)會了二十多種編程語言,新潮如go和swift,生冷如F#和lisp,我都學(xué)過,至于熱門的,編程語言排行榜上前14位的語言,我都會用。也許你覺得我是在吹牛,那就讓我從頭說起吧。
   我上中學(xué)時開始學(xué)習(xí)編程,那時候沒見過什么電腦,看書上說電腦是由主機顯示器和硬盤驅(qū)動器組成的,我想當然地以為硬盤驅(qū)動器就是擺在電腦主機旁邊的,跟打印機一樣是個外設(shè)。那時候聯(lián)想的電腦廣告鋪天蓋地,然后對于偏遠農(nóng)村的我來說,卻是永遠也不敢奢望的。我只有一臺小霸王學(xué)習(xí)機,接在一臺黑白電視上,在上面運行basic程序。
   basic應(yīng)該是很多人學(xué)編程的入門語言吧,畢竟那時候還沒有python. 那時候的basic,是用大寫字母編寫的,每行前面要加一個行號,程序是按行號執(zhí)行的。每兩個行號之間要有間隔,不然在兩行中間插入代碼時就麻煩了。很原始吧?很多年后當我把這段經(jīng)歷講給我的老師聽時,他說你知足吧,我們那時候是打紙帶的,打錯了就用膠水粘紙把一些孔給堵上,再用針扎出另一些孔來。
   我那時候主要用basic解決一些數(shù)學(xué)問題,比如雞兔同籠,百錢買百雞等,還有就是求從1加到100的和。當時 PC上最流行軟件應(yīng)該是wps吧?我沒見過,但我用學(xué)習(xí)機學(xué)會了五筆字型。學(xué)五筆時有次對我媽說話五筆比較難,我媽說那你先從簡單的學(xué)起,先學(xué)一筆二筆。從我學(xué)習(xí)到工作,我媽對我的支持一直是我大的動力。我上大學(xué)的時候買了一臺二手電腦,那筆錢本來是家里準備購買彩電的,攢了好久,聽我說想買電腦,我媽二話沒說就把錢給我了。
   買電腦時是我爸陪我去的,那時候鄭州的科技市場還很簡陋,兩層樓的大廳,一樓賣各種各樣的散件,二樓賣盜版軟件。因為我們只有2000元,店主很為難,最后搜羅了很多二手配件,才勉強給我裝了一臺電腦。所以我的第一臺電腦,CPU用的不是奔騰和賽揚,而是Cyrix 。Cyrix 這個名字可能很多人都沒有聽過,但我可以保證我沒有拼錯。電腦買回去之后我激動了好幾天,村里很多人前來參觀,因為那是我們?nèi)l(xiāng)第二臺電腦,第一臺在鄉(xiāng)政府。
   我的第一臺電腦運行的是windows 95系統(tǒng),后來被我換成了98。我用這臺電腦編寫VB程序,用的Foxpro數(shù)據(jù)庫,那時候聽到VisualStudio 6.0發(fā)布的消息激動不已,花10塊錢買了一張盤,視若珍寶。然后有一年暑假,我編寫了一個簡易的進銷存程序,賣給我們鄉(xiāng)里的一個商店,賺了200元。
   在學(xué)校里,當然要學(xué)c和c++了,這兩門語言我都學(xué)得很精通。但我說句老實話,我從業(yè)十幾年從來沒有用到過。那時候的編程界不光有VB,其時PoweBuilder已經(jīng)開始沒落,而Dephi風(fēng)頭正勁,剛好學(xué)校機房有Dephi,于是也學(xué)了一下。
   互聯(lián)網(wǎng)的風(fēng)潮突然一下子吹遍了神州大地,那年暑假,我們縣電信局建了第一個網(wǎng)絡(luò)演示廳,試營業(yè)期間免費對公眾開放。名字起得高大上,其實就是個網(wǎng)吧。那時鄭州的網(wǎng)吧大概6塊錢一小時,所以那個暑假我基本都泡在那個演示廳里。那時候QQ還不叫QQ,叫OICQ,商都網(wǎng)也不叫商都網(wǎng),叫商都信息港。那個時候網(wǎng)絡(luò)上沒有太多的應(yīng)用,基本上就聊天室和BBS在那里橫行。我去得最多的就是澄心和碧海銀沙。(說到這里插播一條尋人啟事,有誰認識當年澄心聊天室的快樂小天使,就是商丘師院的丁今,請聯(lián)系我,定酬謝500元QQ幣。)然而當我滿心歡喜地打算自己編寫一個聊天室時,才發(fā)現(xiàn)我學(xué)的知識連一個最簡單的留言板都做不出來。那時候asp,jsp,php之類網(wǎng)絡(luò)編程已經(jīng)大行其道,而我們在象牙塔內(nèi)竟然渾然不覺。
   思忖再三,決定報名參加一個java工程師的培訓(xùn)班,那時候國內(nèi)比較牛的java培訓(xùn)機構(gòu)一個是ACCP,另一個是NIIT。因為ACCP時間長費用高,所以果斷報了NIIT。三個月的培訓(xùn),其辛苦無人能知,經(jīng)常為了調(diào)試一個程序,到凌晨才能入睡。然而功夫不負有心人,學(xué)完之后,應(yīng)聘到鄭州一家軟件公司,開始了我的java生涯。
   我們那個公司當時做的是移動的外包,公司里遇到的都是一些奇葩的人物。比如說我們技術(shù)總監(jiān)刑工,一個五大三粗的漢子,偏偏留了一頭大波浪的長卷發(fā)。再比如我們項目組長秦工,一個文弱的小女孩,偏偏領(lǐng)導(dǎo)了幾個大男人,這個公司徹底顛覆了我對軟件公司的認知。
   開始工作的時候并不順利,我雖然學(xué)了jsp,但在公司已經(jīng)開始使用structs和hibernate,我完全不懂,還有什么dwr,也是一無所知。數(shù)據(jù)庫的知識也非常欠缺,當時不會用join,為了把一個用戶Id轉(zhuǎn)成用戶名,竟然在循環(huán)里查詢數(shù)據(jù)庫。好在前輩們都能及時指出這種問題,我也很快就能改正。
   我那段時間在鄭州呆了五年,從一個程序員成長為比較資深的java工程師。平時在公司工作,周末就去逛各種公園。碧沙崗,紫荊山,人民公園都留下了我的足跡。如果你靜下心來看,鄭州真是一個美麗的城市。不過有些時候我也會感覺很不爽,那時我住在燕莊,旁邊就是省高級法院。法院周邊的幾條街上,經(jīng)常會有一些含冤受屈的人們,帶著簡易的鋪蓋,露宿在街道兩帝的地面上。他們的食物,基本上就是冷饅頭。我有時候會給他們送些饅頭和咸菜,也認識了幾個上訪了幾十年的冤民。好吧,這咕嚕掐了別播,冤不冤的其實也輪不到我來說。
   俗話說飽暖思×××,工作穩(wěn)定之后,就開始為自己的對象操心。當時我注冊了一個中國交友中心,這家網(wǎng)站剛開始是免費的,后來收費每月10元。如果我不告訴你們,恐怕很少人知道它就是現(xiàn)在珍愛網(wǎng)的前身。然而在網(wǎng)上畢竟沒有太多收獲,有些是見一面就沒有下文,有些根本就見不到人。記得有一次我約了人見面,去的時候突然下雨了,我捧著鮮花在雨中等了兩個小時,姑娘卻沒有去,打電話也關(guān)機。第二天發(fā)個短信說她看天下雨了,以為我不會去所以也沒去。
   所謂踏破鐵鞋無覓處,得來全不費功夫。有些你苦苦追尋的東西并不一定能得到,而有些你未曾想過的事情卻很容易就實現(xiàn)了。那年春節(jié)我去我姑家探親,恰逢她鄰居家的一個姑娘來串門。隨便問了一下,竟然是陜師大中文系的畢業(yè)生,在我們縣的另一個鄉(xiāng)的中學(xué)當教師。好吧省去中間細節(jié),在我姑的撮合下,我們正式定親。
   都說程序員是高薪職業(yè),他們說的沒錯但是寫錯了。中間那個辛是辛苦的辛,不是薪水的薪。程序員的工作高度辛苦,但薪資并不高。至少我是這么認為的,工作幾年,存款居然不夠付丈母娘的財禮。雖然丈母娘通情達理地減少了彩禮的金額,我媽又多少借了點外債把婚事促成了,但這件事情對我打擊卻很大。于是決定離開鄭州,去上海謀一份高薪的職業(yè)。中國的地域差別在太大,同樣的工作在不同的地方薪資完全不同,去上海的話工資至少可以翻一倍,我拮據(jù)的生活可能會因此有所緩解。
   為了去上海的時候能夠多一份保障,我開始學(xué)習(xí).net。相對于java而言,.net是個后起之秀,雖然功能不如java強大,但是操作相當簡單。我在沒有任何老師,沒有任何教材的情況下,就把.net學(xué)會了??偣惨仓换?0塊錢買兩張盤,一張VS2005的安裝盤,一張MSDN的文檔盤。學(xué)習(xí)的過程也相當簡單,就是照著msdn上的示例做一個購物網(wǎng)站。不這我到現(xiàn)在還不明白為什么那個例程要叫duwamish,字典上都查不到這個詞,完全不知道什么意思。
   在上海找工作用的是前程無憂的網(wǎng)站,我java和.net的職位都投了,最先被錄用的卻是.net.于是我編程生涯就此轉(zhuǎn)折,從java一下子轉(zhuǎn)到.net.錄用我的是一家做遠程教育的公司,老板是從美國回來創(chuàng)業(yè)的信息工程博士,據(jù)說之前是戴爾的核心工程師,技術(shù)牛得不得了。我被任命為技術(shù)部的經(jīng)理,雖說是經(jīng)理,不過屬下也只有兩個人,一個做C++的錄制工具,一個做flash的播放器,我做.net的網(wǎng)站。
   我剛?cè)ド虾5臅r候,住在一個群租房里,一套三室兩廳的房子,客廳被改成兩間臥室,五間臥室總共住了男男女女18個人,生活極其不便。每個人的領(lǐng)地也就是自己那一張床板。上海的夏天潮濕悶熱,想洗個澡都要等好久,早上起來上廁所也是要等好久的,18個人哪。后來媳婦聽說我找到了工作,也把工作辭了來到上海。這樣群租房是不能住了,于是就在張江和川沙的交界處租了一間房子。卻不曾想上海的房租是付三押一的,付了房租之后,帶的錢便所剩無幾了。
   房子是毛坯房,里面什么都沒有,而我們卻沒有錢買家具。于是從附近的垃圾場里找了一張床板,又找了6個油漆桶,把油漆桶裝滿水當床腿,支起了一張床。然后又找了一張舊椅子,在上面放電磁爐做飯。床板只有80厘米,兩個人平躺根本不夠,只能兩個人抱著側(cè)臥。為了省點午飯錢,媳婦都是做好了飯給我送到公司,然后我們就在公司樓下的小公園里,兩個人吃同一份飯。
當時的公司離張江公園很近,其實張江公園原來的名字叫櫻花廣場,每到四五月份,公園里就會開滿絢麗的櫻花。在櫻花樹下走過,有一種身在異國他鄉(xiāng)的感覺。
   我在上海工作一年多,然后公司就被北京的一家公司收購了,然后我又輾轉(zhuǎn)來到了北京。當時住在回龍觀和霍營交界的地方,然后公司卻是在昌平。每天早上6點鐘就要起床,乘公交到龍澤,然后坐公司班車,走八達嶺高速去上班。也就是在那個時候,我學(xué)會了在車上睡覺,不管站著坐著都能睡著。
   新公司主要做電子政務(wù),用的.net+oracle,雖然我.net代碼寫的不怎么樣,但畢竟項目經(jīng)驗還在,然后就在幾個項目上擔(dān)任項目經(jīng)理。雖說是項目經(jīng)理,但我們經(jīng)常一個項目組就有十四五個人,跟我?guī)?個人的團隊是完全不同的。為了彌補短板,我報考了項目管理師,也就是高級項目經(jīng)理的考試。雖然沒有考過,但備考的過程中系統(tǒng)地學(xué)習(xí)了項目管理的知識。
   在北京的日子苦中有甜,我們一有空閑就去游覽各種×××園林,清華園,燕園,園明圓,頤和園等等。有一次我們?nèi)ナ晁畮煊瓮?,恰好碰上當?shù)靥O果節(jié)的萬人長走活動。然后在陡峭的山路上,我看到人群中有一個老人,坐在輪椅上,由他的老伴推著走。然后我就被感動了,腿不好的人都能參加長走比賽,我們還有什么理由不努力呢?
  在北京工作一年多,公司在鄭州成立辦事處,我又被調(diào)回鄭州。沒過多久,有一家做電子商務(wù)的新公司成立,聘請我去當技術(shù)總監(jiān),公司的產(chǎn)品是基于php的開源軟件修改出來的,于是我又轉(zhuǎn)向php領(lǐng)域。這次轉(zhuǎn)php沒花多長時間,前后大概用了一個多星期,熟悉了php的語法后就開始進入工作了。 用php做電子商務(wù)類網(wǎng)站的話,比java和.net的快得多,而且網(wǎng)上有大量開源的 產(chǎn)品可以使用,用得不順了,就隨手改一下,從此見識到了開源的魅力。
  后來公司的的產(chǎn)品做出來了,我有了一些空余時間,于是開始學(xué)習(xí)ruby和python,ruby和python是動態(tài)語言,所謂動態(tài)就是可以在運行期間改變語言的屬性,比如在運行期間給類增加屬性或者方法等,這些在java和C#中是做不到的,類的屬性和方法必須在開發(fā)期間定義出來,運行期間不能改變。用動態(tài)語言編程的話,效率要高很多,因為實現(xiàn)同樣的功能,動態(tài)語言的代碼會少很多。自從學(xué)會了ruby和python之后,我基本上就沒再用過java和C#了、ruby配合rails可以快速創(chuàng)建網(wǎng)站,而python做為通用腳本語言可以做任何事情 ,比如我在升級了程序后用它來遷移數(shù)據(jù)。
   后來移動端漸熱,又學(xué)習(xí)android和IOS以及WP,當時我集齊了三種操作系統(tǒng)的手機:小米、iphone和諾基亞的lumia,經(jīng)常看到網(wǎng)上果粉和米粉互罵,我笑而不語。當時做IOS開發(fā),用的還是晦澀難懂的obj-c,obj-c是一個非常反常規(guī)的開發(fā)語言,它的語法和其它語言都不一樣,看著別扭,寫著也別扭。當然,蘋果肯定也知道這一點,于是推出了swift,當我接觸到swift的時候,我覺得obj-c可以扔掉了,它的語法跟ruby和python一樣簡潔,而且功能比obj-c還要強大。
   說到這里,不得不提一下那個老舊的C語言了,C語言誕生于上個世紀中期,已經(jīng)是老舊不堪了,但是因為在系統(tǒng)程序領(lǐng)域沒有有效的替代者,所以在開發(fā)系統(tǒng)級軟件比如驅(qū)動程序時,還非得用它不可。當然,谷歌也知道這一點,于是推出了go.當我見到go的時候,簡直震驚了。它的語法比java和C#還要優(yōu)美,但是卻可以開發(fā)系統(tǒng)軟件,是C語言當之無愧對的替代者。而且go語言誕生在多核時代,所以它一開始就支持高并行開發(fā),它的最小運行單位不是線程,是協(xié)程!
  說到協(xié)程,不得不提一下erlang語言了,erlang是一門歷史很悠久的語言,但直到多核時代才發(fā)揮出它的威力,在go出現(xiàn)之前,erlang是做高并發(fā)軟件的選。因為erlang是一門函數(shù)式語言,它沒有變量,所以也就不存在多線和操作共享變量的問題。而且它的最小計算單位是協(xié)程,不是線程。這一點至關(guān)重要,因為一臺普通的PC機可以開出最多5000個線程,卻能開出多達10萬個協(xié)程!然而erlang畢竟是一門函數(shù)式的語言,它的語法和命令式的語言完全不同。沒有變量,沒有循環(huán),沒有賦值語句,你在命令式語言中所獲得的所有編程經(jīng)驗對它都不起作用。用erlang寫程序,你不再是向計算機下達命令,而是在構(gòu)造數(shù)學(xué)上的函數(shù),進行模式匹配。
   我用erlang編寫過一些程序,苦不堪言,好在此時go語言出現(xiàn)了!命令式的語言,最小計算單位是協(xié)程,那我還要erlang有什么用?
   到后來我開始對編程語言產(chǎn)生了愛好,只要是我不會的語言,我都會抽空去學(xué),哪怕學(xué)了完全沒有什么用。這就是愛好,源自內(nèi)心,沒有任何功利驅(qū)使,這才是學(xué)好語言的根本。
   在學(xué)習(xí)中,也遇到了很多困惑和迷茫。為了學(xué)習(xí)swift,我曾經(jīng)花了一個星期的時間試圖在我的華碩F5上面安裝mac系統(tǒng)。折騰了N多遍,最后無果而終,不得已花錢買了一臺蘋果電腦。學(xué)習(xí)ruby的時候,還不知道用bundle, rails所需要的幾十個gem我是一個一個下載安裝的。學(xué)習(xí)Go語言的時候,想當然地以為那個gopath和其它語言的path一樣,指向類庫所在的位置,結(jié)果花了一個星期也沒有運行起一個helloworld程序。
   當然,最令我痛心的,是市場上并沒有針對初學(xué)者的編程工具,那些專業(yè)級的開發(fā)工具都太復(fù)雜,有的需要下載安裝插件,經(jīng)常是插件版本和IDE版本不配,失敗多次讓人欲哭無淚;有的需要配置環(huán)境變量,各種path各種root讓人如墜云霧。還有的體積龐大,為了運行一個示例程序要下幾個G的開發(fā)工具。更有甚者,不能在windows系統(tǒng)上運行,為了學(xué)習(xí)一門編程語言,需要另外買個電腦!
   痛心之余,我忽然發(fā)現(xiàn)了一個事實,那就是:我是一個程序員!IT民工也好,碼農(nóng)也罷(當然我更喜歡稱自己為IT流浪人),這些都不能掩蓋我是程序員的事實!程序員要使用開發(fā)工具,當然也可以制作開發(fā)工具!于是我萌生了一個想法,要開發(fā)出一套針對初學(xué)者的編程工具,這個工具可以使用各種開發(fā)語言,一次安裝即可運行,無須下載插件和SDK,無須設(shè)置環(huán)境變量,內(nèi)置很多初學(xué)者需要的示例程序,這樣不是很好嗎?
   既然心意已決,那就讓我從現(xiàn)在開始吧,首先要給自己的作品起個名字,就叫流浪人IDE吧。英文名Outcast IDE,高端大氣不用上檔次 。第一版打算支持java、C# 、php、ruby、 python、 go 、siwft、 erlang 八種開發(fā)語言,后期再加入其它語言的支持。如果有人也有興趣開發(fā)類似的編程工具,可以聯(lián)系我,我們一起合作,為中國的軟件產(chǎn)業(yè)貢獻一份力量。

創(chuàng)新互聯(lián)成立于2013年,先為屏邊等服務(wù)建站,屏邊等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為屏邊企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當前名稱:我們都是IT民工---------流浪人IDE開發(fā)札記-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://muchs.cn/article4/hisie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序品牌網(wǎng)站設(shè)計、微信公眾號、自適應(yīng)網(wǎng)站網(wǎng)站設(shè)計、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司