1. 程式人生 > >獻給初學編程的你

獻給初學編程的你

for 系統 quick gui 使用 它的 targe 俞敏洪 同學

1、這多對象啥時候能學完?

此刻IT新手藝日新月異。就經常使用編程說話而言,有c/c++、匯編、java,c#、Python等;操作系統平臺有unix /linux,windows系列;開拓對象有VC、visualStudio2008、Eclipse、NetBeans等;每個大平臺下,還有良多的 的標的手段:如收集、數據庫、劇本、HTML、靜態網站、遊戲開拓等;有人還在學Dreamweaver做網頁、Flash做動畫、Photoshop做美 工、3DMax做三維動畫…………是的,我們什麽都想學。恨不得把一切的常識十足都塞到肚子裏去。看到什麽,想學什麽!

來日誥日看這VC的書,來日誥日又看Java,後天又看C#,東搞西搞!看到他人做網頁。本人樂趣了來了。好,學html說話,我也做網頁,傳聞做 網頁要會“網頁三劍客”,所以又想學Dreamweaver、Flash。當時開端知道有JSP、PHP、ASP.NET做靜態網站這玩意兒。也想去學, 學學學……

這是幾近一切在校大先生的通病。可是,這不是好事,以至可以說是好事。說了然你“求知欲”高!總比那些,生活生計沒有熱誠,成天知道泡妞、上網、打遊戲、混日子的強。

可是若是你來日誥日想學這個,來日誥日又想學阿誰。這樣你就可以永遠盤桓在手藝的門外。良多人都有過或正在經歷這樣的苦悶日子:總感覺有“太多東 西”要學了,但是人的肉體是有限的,總有永遠學不完的感觸感染,所以心機出格急,成天惶惑不成整天,不知道先要學哪一個,一會兒拿起這本書,一會拿起那本書,折 騰了幾個月,俄然發覺本人什麽都沒有學到……

每個大雅向若是沒有上幾年的進修,很難能進修出什麽來。但法度圭表標準設想的最底子的對象是不異的。所以我們進修要抓底子。俗話說:通一理,融百裏。

學法度圭表標準設想就像習武一樣,若是內功學的好,其他功夫就很輕易上手。君不見《倚天屠龍記》中的張無忌練了“九陽神功”8年,練“乾坤大挪移”只需12個時辰嗎?

習武之人,誰不想在“江湖”上揚名立萬,誰不想成為萬人敬佩的大俠?大俠之所以能成為“大俠”,雖然有他們的看家本事。狄雲的“神照神功”,金世遺的正邪暢通領悟的“喬北冥內功心法”,張無忌的“九陽神功”,段譽的“六脈神劍”,令狐沖的“獨孤九劍”,哇,太多了…

後人歷經千辛萬苦才幹找到這些“武功秘籍”。我們此刻這些子弟,比起後人來說:幾乎太幸運了。去書店,各類各樣的心功心法,劍法,拳法,應 有盡有,看得你眼花混亂…你選什麽呢?來日誥日練“六脈神劍”幾式,來日誥日去學“降龍十八掌”幾招,後天又去練“發暗器”,這樣什麽時辰才有個絕頂呢?你說,你 什麽武功鄉村,可是“形似而神不似”,不得方法,不夠火候。一上擂臺,就被他人一掌打趴了。試問哪一個軟件公司敢要一個號稱任何編程說話鄉村,而是每種說話 只能寫出個“helloworld!”的法度圭表標準員,你不被人家掃地出門才怪。

2、學JSP還是學PHP更有前途?

看了上面的話,有的同學已開端煩了,“知道了知道了,不止一個像你這樣的所謂的‘老進步前輩’跟我說過‘學什麽都一樣,思惟才是最首要’的大 事理,可是你們站著措辭不嫌腰疼呀,理想是有良多手藝需求學,好比做Web開拓就有JSP、PHP、ASP.NET等良多多少標的手段,我總得選一個吧!究竟學哪 個有前途呢?我必需求挑選一個有前途的,選錯了就省事了。”

其實像“學JSP仍是學PHP更有前途”的話沒意義,由於“挑選JSP仍是挑選PHP”的前途的不同不像“挑選英語仍是挑選日語”的前途不同那 樣大,不具有“選錯標的手段”的成績,由於都是相通的,你也不克不及保證你結業今後搞的就是你學的阿誰標的手段,更不克不及保證你靠你學的這點對象就可以吃一輩子。好比我上 大學的時辰一向在研討是Delphi說話,可是結業校園聘請的時辰我照樣在Java職位的考試取得了第一位,而且任務今後經由復雜的進修就把握了Java 說話,而且當時還寫了三本關於Java說話的書;再如我結業後兩年多的時候一向在用Java開拓,當時公司要做一套基於.NET的產物,我只用了一個星期 熟諳了.NET系統和C#的語法,然後就開端停止開拓。

不外就像上邊說的“做Web開拓就有JSP、PHP、ASP.NET等良多多少標的手段,我總得選一個吧!”這個成績是很是理想的,由於只需先學一 個才幹深切這個標的手段,把這個標的手段學通了才幹想今後“一通百通”。是以我的倡議就是黌舍教過什麽說話,你就持續深切進修這麽說話,而不要去問“這麽說話有沒 有前途”這樣的傻成績。盡能夠不要去學一門所謂“有前途”的新說話,由於你去學一門新說話就要把良多肉體破鈔在說話、語法本人,而遲誤了編程的實戰,而以一 個已學過的說話來進修的話,最少語法本人不用再去學、開拓對象本人不用再去熟諳,只需研討如何使用這門說話開拓有用的法度圭表標準就ok了。好比大部門同學都學 過C說話(有的黌舍間接開了C++的課,可是C++的面向過程編程部門仍是C說話),所以我們就開了《C說話也能幹大事》的課程,讓同學們把肉體放到學以 致用上,而不是學“有前途”的新說話上,這也是這個思惟的一集體現。

舉幾個例子。我們如鵬網的《合計機專業職業生長測評系統》是我用PHP開拓的,可是在這之前我歷來沒寫過PHP法度圭表標準,可是我之前寫過 JSP、ASP的法度圭表標準,由於寫網站法度圭表標準的道理都是相通的,只是語法不合而已,是以我只用了幾個小時的時候熟諳了開拓PHP用的對象而且快速閱讀了一下 PHP的語法,然後用半天時候就開拓出了這個測評系統。想像一下一個成天在來日誥日學JSP,來日誥日學ASP,後天學PHP,大後天仰天長嘆“究竟學哪一個有前 途”的人能用半天時候學會一門新說話嗎?

我大學時有一個同學,他看我那時Delphi學的鬥勁好,寫了良多法度圭表標準,他就說他也想學軟件開拓,讓我教他Delphi,可是我們專業前一 個學期已開了PowerBuilder的課,是以那時我就倡議他仍是持續深切進修PowerBuilder,用PowerBuilder寫又適用價值的 對象,而不是像上課那樣寫HelloWorld的法度圭表標準。那時Delphi仍是如日中天的風行的編程說話,而PowerBuilder則市場據有率鬥勁小, 他就說不想持續學PowerBuilder,由於PowerBuilder沒前途,我就給他講了“一通百通,從本人最熟諳的動手”這個事理,然後他就結壯 的深切研討PowerBuilder起來,到了卻業的時辰他已能用PowerBuilder寫很是龐雜的法度圭表標準而且還進修了用PowerBuilder寫 Web法度圭表標準。結業後沒多久就應公司的要求用Delphi寫法度圭表標準,他只用了不到一周的時候進修了Delphi,然後就寫出了一個適合公司要求的系統,那時他 就給我打德律風向我報喜。前一陣子我傳聞他已開端指點一些新員工用Java開拓一個中型規模的企業級系統了。可以說他的成功就得益於“一通百通,從本人最 熟諳的動手”這個準繩。

總結一下,不要管“哪門說話好就業、有前途”,由於那些“好就業、有前途”都是紙山君。盡能夠不要學新說話,從本人最熟諳的說話動手,深切研討,出山後你就是被用人單元爭搶的紅人。

3、企業裏都需求什麽方面的才幹?

這個要視用人單元的要求而定了。你此刻還沒有結業,也不知道未來要面臨什麽樣的崗位。是以倡議巨匠在上學期間不要偏科,所以的課程都要好勤學,學好專業課,培育本人的“內功心法”,然掉隊入一個大公司,那末大公司自然會為你放置一小我才培育打算,在任務的景象中進修就更有手段性。

學什麽最輕易 大家發精英論壇

由於此刻的快速開拓對象的不竭推出,使得軟件開拓越來越輕易,進入軟件開拓的門坎也越來越低。良多人在IDE對象的拐騙之下,快的十天,慢的半個月便可以進入所謂“法度圭表標準員”的領域,成了一個所謂的“法度圭表標準員”。這對IDE供給商來說是樂得合不攏嘴的任務,可是對軟件來說卻是一個無形的沖擊。由於快速對象的流行,良多人把開拓看做小菜一碟,出格是良多在校的大先生,都認為此刻教的形式一旦出了黌舍都已經是後進,無形中發生了討學的心機。

此後的軟件開拓逐漸趨於南北極化,一方面有越來越多的人將處置復雜的反復性開拓,而且這部門的開舉事度會逐漸著落;另外一方面焦點部門的開拓會越來越龐雜,這部門的入門所觸及的常識形式會慢慢添加。所以對此後停頓處置軟件開拓的同學們,需求好好的盡力進修,黌舍的對象會有他們的用途,只需此刻把根本打結實了,即後你們在軟件的領域會有很好的機緣,不要自覺的拋卻進修的機緣。

有什麽速成的編制沒有?

有一種蛾子名叫“帝王蛾”。帝王蛾的幼蟲期間是在一個洞口極為窄小的繭中渡過的。當它的性命要發生質的飛躍時,此日定的窄小通道對它來說無疑成了鬼門關。那柔滑的身軀必需拼盡全力才可以破繭而出。太多太多的幼蟲在往外沖殺的時辰力竭身亡,倒黴成了“翺翔”這個詞的悲壯祭品。

有人懷著悲憫同情之心,詭計將那幼蟲的性命通道修得廣闊些。他們拿來鉸剪,把繭中的洞口剪大。這樣一來,繭中的幼蟲沒必要費多鼎實力,茍且地就從阿誰牢籠裏鉆了出來。可是,一切因獲獲救助而見到天日的蛾子都不是真正的“帝王蛾”,它們不管若何也飛不起來,只能拖著損失了翺翔功用的負擔的雙翅在地上拙笨地爬行。

本來,那“鬼門關”般的窄小繭洞恰正是幫忙帝王蛾幼蟲兩翼生長的關頭所在。穿越的時辰,經由過程用力的擠壓,血液才幹順遂送到蛾翼的組織中去,惟有兩翼充血,帝王蛾才幹振翅翺翔。報酬地將繭洞剪大,翼翅就落空了充血的機緣,生出來的帝王蛾便永遠與翺翔無緣。

沒有誰可以或許恩賜給帝王蛾一雙奮飛的同黨。不驚駭單獨穿越狹長墨黑的地道,不希冀一雙憐恤的手送來低價的幫助,將血肉之軀鑄成一支勇敢恐懼的箭鏃,帶著吼怒的風,攜著永不墜落的胡想,拼力穿透命運設置的重重險阻,義無反顧射向那寥廓斑斕的長天……

讓一個“帝王蛾”速成的編制就是幫它把繭剪開;一小我學一門手藝的速成編制就是不學那些“沒用”的對象,間接奉告他終究結論和操作編制,可是良多對象是在摸索中、進修中才幹貫穿的,良多人在研討一個手藝難題的過程中查材料、看書、求證,在這過程中不只鍛煉了本人思慮成績的才幹,而且夯實了根本常識,最首要的是在摸索過程中播種了良多意想不到的新對象,有良多伴侶在研討一個成績的時辰經常能有意中的學會良多新對象。

上山的“速成”編制是間接坐纜車上去,可是你會比那些爬山者少看到良多路邊的風光。那末你是情願做一個把握“速成”編制的人,仍是情願無機緣看看路邊的風光呢?

成功的訣竅

古希臘大哲學家蘇格拉底,思惟通俗,思想火速,關愛眾生又為人謙虛。許多青年慕名前來向他進修,遵從他的教導,都希冀成為像教員那樣有聰明的人。他們傍邊的良多人後天極高,天資聰慧者濟濟一堂。巨匠都停頓本人能脫穎而出,成為蘇格拉底的擔當者。一次蘇格拉底對先生說:“來日誥日我們只學一件最復雜也是最輕易的事,每小我都把胳膊盡能夠往前甩,然後再盡能夠往後甩。”蘇格拉底示範了一遍,說:“從來日誥日起,天天做300下,巨匠能做到嗎?”先生們都笑了,這麽復雜的事有什麽做不到的?

第二天,蘇格拉底問先生:“誰來日誥日甩胳膊三百下?做到的人請舉手!”幾十論理先生的手都嘩嘩地舉了起來,一個不落。蘇格拉底頷首。一周後,蘇格拉底如前所問,有一泰半的先生舉手。過了一個月後,蘇格拉底問先生:“哪些先生保持了?”有九成的先生高傲地舉起了手。

一年後,蘇格拉底再一次問巨匠:“請奉告我,最復雜的甩手舉措還有哪幾位同學保持了?”這時候,全部教室裏,只需一個先生舉起了手,這個先生就是當時成為古希臘另外一位偉大哲學家的柏拉圖。

若是說柏拉圖的故事過分悠遠,那末就再給巨匠講一個發生在長遠的故事。

一次英語課上,教員帶來300句高考精髓句子,而且承諾說:若是可以或許把這些背誦得滾瓜爛熟,高考績就必然會提高。大部門先生覺得又是教員哄先生的話,但身為有一個先生卻有著火急提高成就的壓力,對教員的話銘刻在心。回去後,他把這300句話算作至寶,先翻譯成中文,又翻譯成英文,發覺幾近每個句子都水平不合地具有漏洞,或時態、或單詞、或構造泛起漏洞。他把這些常識清算在一個簿本上,重點回憶。隨後的一個月,他恍如吃了鎮靜劑,拼命地背誦和默寫這300句話,在收入一個個的淩晨和夜晚的光陰後,終究取得豐盛的功用,他可以或許一字不差地默寫出這300句話。從此,這300句英文成為他的特技,使他的英文成就很快取得了提高。這小我就是此刻留學培訓的航母——新東方的掌門人俞敏洪。

有如鵬網的同學問我“學合計機有沒有什麽速成的編制”,我想說的是最好的速成的編制就是“保持”。一切其他的速成編制學出來的對象都太輕易,“越輕易取得的對象越不值錢”這是一條永遠不會變的價值紀律。越是短長的武功,越是難練,需求的時候越長。良多人,都是中途退場了。

保持是最輕易的,由於每小我都可以做到;保持又是最堅苦的,現實成果沒有幾小我可以或許保持上去。保持上去的人就是成功的人。

最初一句話:切務浮沙築高臺,練從難處練,用從易處用!無速成,惟有保持!

同學們切切不要犯大部門人都犯的漏洞:

下載了一硬盤的視頻教程、電子,幾近沒看過,即使看過也是看看就算了,底子沒專心看過,更別說隨著教員停止代碼操練。

光down不看是華侈硬盤和帶寬

光看不練是華侈時候和青春!

不要光下載不看,不要光看不練!

漏洞熟諳1. C/C++太老了,過時了,平常平凡用得很少,此刻風行都Java、C#等等。

解惑:不要動不動感覺什麽對象過時了,COBOL還有OO版本面世,還有FORTRAN,LISP,好陳舊的說話吧,此刻還用得很廣呢。楊中科教員經常提醒我們“一切說話都是紙山君,一通百通”,黌舍已開了C/C++的課,而且想持續深切進修編程,那末就持續使用學過的說話來進修,不要再去學一門新的說話。等把C/C++弄熟了今後,回頭一看,信任你也能像楊中科教員那樣“半天學會一門新說話”了吧。

漏洞熟諳2.入門要從OO開端,培育用OO編制思慮的習慣。

解惑:初學者一入門便玩弄Java、C++等很輕易構成誤解,仿佛OO=Java,C++…。一切編程說話的底子都是面向過程的,Java、C++等說話也是支撐面向對象特性的面向過程的說話。面向過程就是if……else……、while、for這些對象,Java、C++等說話中豈非就沒有這些語句了嗎?

過程式說話(或說構造化編制)的精髓不會消亡,OO裏面也不成能解脫掉一條條的語句、函數挪用,構造化編制仍是需求倡始的。OO編制不是那末輕易學會的(OO說話的語法弄得很諳練不代表你懂OO),而構造化那套編制,自個寫個千把行的法度圭表標準就很能體味了,我是說寫個適用點的對象,好比試著自個完成一些數據構造和算法,寫幾個小遊戲等。寫個一千行Helloworld等於沒寫。

我感覺編制是實際中體味出來的,不是看看書就可以學會的。過程式說話的代碼普通鬥勁精練,我們編法度圭表標準終究的手段是要處理成績,是要合計,是要獲得消息,不要被OO,設想方式等含混了。

漏洞熟諳3.過程式說話弄久了,很難轉入OO的思想方式

解惑:我之前也沒有深想過這個理由,不外時候久了,察覺本人不外是把數據和編制集合在一路而已,看著便利,其實有良多不合理的對象,這裏頭就需求OO的實際指點了,仍是需求時候來體味。我信任有良多用OO說話的人也不外是在框架裏頭添添代碼,挪用來挪用去而已,把人類算作數據和操作的打包器。

小我感覺只需在用過程式編制做了十來年,編碼上十萬行後才有思想定勢,難以習習用OO的眼光看待系統,但是這個修改,我仍感覺比修改一小我的惡習輕易許多。OO編制不是學了個Java,C++等就可以把握的,需求實際,需求時候。過程式說話也輕易培育一小我松散的幹事立場,好比用匯編,C等寫代碼,沒有命名空間、沒有一大堆類庫,沒有模板、沒有異常,你要花良多心機措置一些細節,好比警戒數組索引越界、懸掛指針、野指針等等,請不要感覺省事,這個就是合計機啊,底層就是這樣的啊。

漏洞熟諳4.別用C了,看我用Java、 VC等悄悄松松就寫了個標致的圖形界面

這篇文章是給初學者看的,也可以給一些煩躁的人看看,初學編程的人肉體應當放在數據構造、算法上面,盡能夠多看一些底層的對象,數字邏輯,操作系統,編譯道理,合計機組成、系統構造,合計機收集等等根本常識。編寫GUI拖幾個控件有什麽好吹的,既然你會拖幾個控件那末一個初中都沒結業的也會拖控件,你和他的差同性體此刻那裏?你知道窗口舊事如何回事麽,你編的界面是把易用放在第一位呢仍是把標致放在第一位呢,你的GUI法度圭表標準輕易點竄嗎?好比我一會要加個button,一會去個listbox,你會不會改的瘋掉呢?你是不是在OnClick裏頭寫了大段大段的代碼,做近似“從edit1.text中去掉不是數字的字符,搜索xxx再轉成16進制,再復制到edit2.text”的事?

進修仍是找紙版的書誠懇的看鬥勁好,想一想你積累了若幹好多電子書而又看了若幹好多。

底層不體味,僅多也就飄在他人上頭,他人一閃身,你就得摔上去。

初學編程的人一來就IDE, GUI,Network啥的猛搞,能不煩躁麽?仍是沈下心來研討一下根本常識吧,我以腦殼擔保你有生之年會感覺他們有用的(呵呵,你轉行我就沒轍了),別看著他人弄JFC,Socket了你還在頭大這個quicksort如何就不合漏洞呢就心裏惶惑的,你要知道在一批API不被支撐後良多人心裏空空的沒個著落:天啊,我除阿誰就啥都不會了,愁悶啊,花了我那末久時候研討那套API,嗚嗚。。。。

漏洞熟諳5. C好難啊,我入門仍是從Java,C#開端吧

解惑:說話只是表達思惟的對象,不要只局限於一種說話,不要狂熱於某一門說話。記住如鵬網的楊中科教員說那句話“價值紀律就是——越是輕易取得的越不值錢”。

大家發高手論壇

獻給初學編程的你