狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當(dāng)前位置:系統(tǒng)之家 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

給編程基礎(chǔ)者的建議

給編程基礎(chǔ)者的建議

更新時(shí)間:2019-11-09 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

前幾天重讀Eric S. Raymond的How to become a hacker,看到他推薦編程入門選用Python,突然覺得很壓抑,有了些想法。我建議編程入門的人學(xué)C或者Pascal,如果更進(jìn)一步的話可以用匯編語言,因?yàn)檫@樣能更清楚的了解底層。

  下面針對(duì)一些支持選用Java, Python, C++(指用了非C特性的C++)等高級(jí)的OO語言入門的人可能的原因作些說明。

  1. Pascal, C太老了,過時(shí)了,平時(shí)用得很少,現(xiàn)在流行Java等等。

  標(biāo)準(zhǔn)Pascal的確是比較老了,不過有Delphi后繼呢,說C老恐怕就是無知了,C現(xiàn)在用得很廣泛,似乎sourceforge.net上的項(xiàng)目還是C的最多。推薦Pascal不是因?yàn)镈elphi。選擇Pascal, C是覺得兩個(gè)現(xiàn)在很常見,語法很有代表性,簡潔明了。

  不要?jiǎng)硬粍?dòng)覺得什么東西過時(shí)了,COBOL還有OO版本面世,還有FORTRAN,LISP,好古老的語言吧,現(xiàn)在還用得很廣呢。

  2.入門要從OO開始,培養(yǎng)用OO方式思考的習(xí)慣。

  首先要說明,OO是方法,不是語言,初學(xué)者一入門便擺弄Java, Python, Delphi等很容易形成誤解,似乎OO=Java, Python, C++...

  其次,過程式語言(或者說結(jié)構(gòu)化方法)的精髓不會(huì)消亡,OO里面也不可能擺脫掉一條條的語句、函數(shù)調(diào)用,結(jié)構(gòu)化方法還是需要提倡的。OO方法不是那么容易學(xué)會(huì)的(OO語言的語法弄得很熟練不代表你懂OO),而結(jié)構(gòu)化那套方法,自個(gè)寫個(gè)千把行的程序就很能體會(huì)了,我是說寫個(gè)實(shí)用點(diǎn)的東西,比如試著自個(gè)實(shí)現(xiàn)一些數(shù)據(jù)結(jié)構(gòu)和算法,寫幾個(gè)小游戲等。寫個(gè)一千行Hello world等于沒寫。

  我覺得方法是實(shí)踐中體會(huì)出來的,不是看看書就能學(xué)會(huì)的,你看Design Patterns等把模式背的滾瓜爛熟很可能會(huì)陷入過度設(shè)計(jì)的泥潭,你寫了幾千行代碼,然后再去讀一讀,改改調(diào)試調(diào)試,慢慢增加功能,你就會(huì)發(fā)現(xiàn)自己代碼寫的有多么臭了,然后看看書聽聽別人意見你就知道什么叫Best practice了,最好的經(jīng)驗(yàn)就是在焦頭爛額之際得到的。

  過程式語言的代碼一般比較簡練,我們編程序最終的目的是要解決問題,是要計(jì)算,是要獲取信息,不要被OO, pattern, EJB, Web Services等迷糊了(我不是反對(duì)這些技術(shù)).

  強(qiáng)烈建議各位多讀代碼,你去看看萊昂氏的那本UNIX v6源碼分析,仔細(xì)看,慢慢看,你就能體會(huì)到什么叫精致的代碼了,然后嘗試按照那個(gè)風(fēng)格寫代碼。

  3.過程式語言弄久了,很難轉(zhuǎn)入OO的思維模式

  我以前也沒有深想過這個(gè)理由,不過時(shí)間久了,發(fā)覺自己不過是把數(shù)據(jù)和方法集中在一起而已,看著方便,其實(shí)有很多不合理的東西,這里頭就需要OO的理論指導(dǎo)了,還是需要時(shí)間來體會(huì)。我相信有很多用OO語言的人也不過是在框架里頭添添代碼,調(diào)用來調(diào)用去而已,把人類當(dāng)作數(shù)據(jù)和操作的打包器。

  個(gè)人覺得只有在用過程式方法做了十來年,編碼上十萬行后才有思維定勢,難以習(xí)慣用OO的眼光看待系統(tǒng),然而這個(gè)轉(zhuǎn)變,我仍覺得比改變一個(gè)人的惡習(xí)容易許多。OO方法不是學(xué)了個(gè)Java, Python, C++等就能掌握的,需要實(shí)踐,需要時(shí)間。過程式語言也容易培養(yǎng)一個(gè)人嚴(yán)謹(jǐn)?shù)淖鍪聭B(tài)度,比如用Pascal, C等寫代碼,沒有namespace,沒有function overload, 沒有reference(Pascal有,呵呵,我喜歡),沒有template, 沒有exception, 你要花很多心思處理一些細(xì)節(jié),比如警惕數(shù)組索引越界,懸掛指針,野指針等等,請(qǐng)不要覺得麻煩,這個(gè)就是計(jì)算機(jī)啊,底層就是這樣的啊。 4.別用C, Pascal了,看我用Java, Python, Delphi, VB, VC等輕輕松松就寫了個(gè)PP的GUI,NB的分布式應(yīng)用...

  這篇文章是給初學(xué)者看的,也可以給一些浮躁的人看看(我也反省,呵呵),初學(xué)編程的人精力應(yīng)該放在數(shù)據(jù)結(jié)構(gòu)、算法上面,盡量多看一些底層的東西,數(shù)字邏輯,操作系統(tǒng),編譯原理,計(jì)算機(jī)組成、體系結(jié)構(gòu),計(jì)算機(jī)網(wǎng)絡(luò)等等基礎(chǔ)知識(shí)。編寫GUI拖幾個(gè)控件有什么好吹的,你懂界面設(shè)計(jì)的原則么,你知道窗口消息怎么回事么,你編的界面是把易用放在第一位呢還是把漂亮放在第一位呢,你的GUI程序容易修改嗎?比如我一會(huì)要加個(gè)button,一會(huì)去個(gè)listbox,你會(huì)不會(huì)改的瘋掉呢?你是不是在OnClick里頭寫了大段大段的代碼,做類似“從edit1.text中去掉不是數(shù)字的字符,搜索xxx再轉(zhuǎn)成16進(jìn)制,再復(fù)制到edit2.text”的事?

  嗯,你socket弄得熟練,recv來,send去,可是如果你不懂tcp/ip協(xié)議那就有點(diǎn)可笑了,除了用別人做好的函數(shù)庫你還能搞出什么新花樣?弄分布式應(yīng)用的知道“分布式”怎么回事嗎,

  你是否只是在用API堆砌代碼呢?倘若有一天這個(gè)函數(shù)庫沒人支持了,你是不是就傻眼了?

  比如編游戲,沒看過3D圖形學(xué)便搞DirectX,也是比較可笑的。

  我并不是說你編比較高層的東西就必須先得透徹了解底層怎么實(shí)現(xiàn)的,我只是建議你好歹把底層的東西混個(gè)臉熟,遇到問題時(shí)心里有個(gè)譜,查查資料,別動(dòng)不動(dòng)撲某個(gè)論壇求救。以前在BBS上看到某人的話,說BBS不是學(xué)習(xí)的地方,是開拓眼界的地方。深以為然。

  學(xué)習(xí)還是找紙版的書老實(shí)的看比較好,想想你積攢了多少電子書而又看了多少。

  底層不了解,僅多也就飄在別人上頭,別人一閃身,你就得摔下來。

  初學(xué)編程的人一來就IDE, GUI, Network啥的猛搞,能不浮躁么?還是沉下心來研究一下基礎(chǔ)知識(shí)吧,我以腦袋擔(dān)保你有生之年會(huì)覺得他們有用的(呵呵,你轉(zhuǎn)行我就沒轍了),別看著別人弄JFC, Socket了你還在頭大這個(gè)quick sort怎么就不對(duì)呢就心里惶惶的,你要知道在一批API不被支持后不少人心里空空的沒個(gè)著落:天啊,我除了那個(gè)就啥都不會(huì)了,郁悶啊,花了我那么久時(shí)間鉆研那套API,嗚嗚。。。。

  5. C好難啊,我入門還是從Java,Python開始吧

  首先,是自個(gè)要做程序員的嗎?是想編程還是想賺錢啊?

  其次,我們來比較一下難易:

  C: k&r那本書真的不算厚,經(jīng)典的C的書很少,說C難,大概是傳說中C的指針很難吧,C的語法很簡明的,就是指針,只要你認(rèn)真看看書,寫幾個(gè)程序試一試,那幾個(gè)指針的用法不難掌握,另外大家千萬不要去死鉆*++ ++*之類的語法,關(guān)于這點(diǎn)在《開發(fā)高手》最后一期上裘宗燕老師有一篇精彩的文章。大家記住寫代碼是要維護(hù)的,別耍弄語法技巧給自己或后人制造麻煩,你想想自己看別人寫的天書代碼是贊嘆還是咒罵?

  Java: 書太多了啊,就說Gosling(沒拼錯(cuò)吧)那本,相當(dāng)厚,學(xué)Java的人一開始都被classpath和package的問題煩過吧,還有Java的關(guān)鍵字,語法,Sun鼓搗出來的一堆堆Java技術(shù)名詞,是不是有點(diǎn)暈了?

  C++的確有難度,你可以看看C++語言的設(shè)計(jì)和演化,就可以知道C++怎么這個(gè)德行了,呵呵。有意思的是Java現(xiàn)在加入模版,而且因?yàn)閭文0娴膶?shí)現(xiàn)被人詬病,還有那個(gè)EJB的轉(zhuǎn)變,有意思,大家可以思考一下“復(fù)雜”、“實(shí)用”這些詞。

  Python的確比較清爽,不過深入一點(diǎn)后其內(nèi)部對(duì)象模型也不簡單,想想操作一個(gè)列表有多少方法,各種功能強(qiáng)大的操作符,而且現(xiàn)在的OO語言逼著你OO, 結(jié)果往往是語法OO而已,沒多大新意,我還是欣賞Perl, C++這類語言,你想怎么就怎么,重要的是要用合適方法,趁手工具,最少的時(shí)間做有價(jià)值的東西,把你鉆研語言的語法的時(shí)間拿來鍛煉一下身體,泡杯茶看看小說我覺得更好一些。

  語言只是表達(dá)思想的工具,不要只局限于一種語言,不要狂熱于某一門語言。

  學(xué)編程時(shí)選書最好先看一看書中的代碼,是取自實(shí)際應(yīng)用中的嗎?寫的漂亮嗎?(指代碼自身的精致,以及排版是否工整)代碼中有語法錯(cuò)誤嗎?(鄙視某些沒編譯試試就把代碼copy到書里的作者)

  有本Essential C#,取的是.Net類庫的代碼,很棒,講delegate(希望沒拼錯(cuò),好久沒弄這個(gè)了)時(shí)舉的例子很清楚地讓人看到這個(gè)東西該怎么用。

  另外推薦Learning Perl,我個(gè)人覺得是我看過的最好的關(guān)于編程的書,該講么,不該講什么,按什么順序講,很好,也許是Perl的精神的感染吧,當(dāng)初看這本書很有震驚的感覺,原來程序設(shè)計(jì)語言還可以這么使!爽!

  斷斷續(xù)續(xù)寫了這么長,xxx的xx布,又x又長,呵呵,希望大家踏實(shí)一些,不要浮躁。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
亚洲日本在线观看| 国产亚洲精品超碰| 亚洲黄色在线视频| 色综合一区二区| 日韩欧美在线123| 日本在线不卡视频一二三区| 欧美视频久久| 91麻豆精品在线观看| 久久黄色网页| 中文字幕一区二区三| av亚洲产国偷v产偷v自拍| 色综合久久99| 亚洲成人777| 亚洲精品在线二区| 国产日韩视频一区二区三区| 狠狠色丁香婷婷综合久久片| 欧美专区18| 一区二区欧美国产| 激情视频一区二区| 国产欧美日韩在线| 成人蜜臀av电影| 制服丝袜成人动漫| 久久国产日韩欧美精品| 色呦呦国产精品| 亚洲sss视频在线视频| 欧美色一级片| 国产欧美日韩中文久久| 欧美一区二区三区四区在线观看地址| 日韩丝袜美女视频| 国产福利精品导航| 制服丝袜日韩国产| 国产成人在线网站| 91精品国产91久久久久久一区二区 | 成人av资源站| 欧美成人精品福利| 精品一区二区三区久久久| 色婷婷综合激情| 日产欧产美韩系列久久99| 亚洲在线视频| 秋霞影院一区二区| 欧美性videosxxxxx| 另类中文字幕网| 欧美日韩一区二区在线观看 | 丝袜亚洲另类丝袜在线| 久久激情中文| 免费精品99久久国产综合精品| 久久精品国产清高在天天线| 午夜激情一区二区三区| 老牛影视一区二区三区| 日韩国产欧美在线观看| 欧美无乱码久久久免费午夜一区| 美国三级日本三级久久99| 精品视频一区三区九区| 韩国三级电影一区二区| 欧美一区二区视频在线观看 | 婷婷国产v国产偷v亚洲高清| 色妞www精品视频| 另类的小说在线视频另类成人小视频在线| 欧美日精品一区视频| 日韩电影在线看| 色香蕉成人二区免费| 亚洲成人av在线电影| 久久精品国产第一区二区三区最新章节| 日韩高清一区二区| 欧美日韩午夜影院| 九九九精品视频| 欧美精品久久久久久久久老牛影院| 美国十次了思思久久精品导航| 欧美性淫爽ww久久久久无| 成人av在线资源网| 精品人在线二区三区| 懂色av中文一区二区三区| 在线不卡中文字幕| 成人午夜在线播放| 国产日韩欧美精品在线| 一本色道久久综合亚洲精品不 | 国产精品成人午夜| 久久久久久国产精品mv| 国产a久久麻豆| 中文字幕在线视频一区| 91久久香蕉国产日韩欧美9色| 国产成人精品www牛牛影视| 国产精品国产三级国产普通话三级| 亚洲一区二区毛片| 国产91精品精华液一区二区三区| 国产精品美女久久久久久2018| 久久久久久色| 成人精品小蝌蚪| 亚洲午夜精品在线| 欧美tk—视频vk| 美日韩精品视频| 不卡电影免费在线播放一区| 亚洲精品一二三区| 91精品婷婷国产综合久久性色| 亚洲国产合集| 国内欧美视频一区二区| 最新日韩在线视频| 制服丝袜亚洲色图| 国产精品腿扒开做爽爽爽挤奶网站| 国产成人午夜视频| 亚洲乱码国产乱码精品精98午夜 | 在线免费观看日韩欧美| 91理论电影在线观看| 日韩成人午夜电影| 国产精品久久久久aaaa| 欧美嫩在线观看| 91久久国产自产拍夜夜嗨| 国产成人aaa| 首页欧美精品中文字幕| 中文字幕精品一区二区三区精品| 91成人免费电影| 亚洲人成人一区二区三区| 成人免费看片app下载| 亚洲欧美偷拍另类a∨色屁股| 日韩一区二区三免费高清| 免费国产一区二区| 亚洲午夜视频| 99久久精品国产精品久久| 日韩精品乱码免费| 亚洲人一二三区| 久久久久久9999| 欧美日韩久久久久久| 亚洲欧美日韩视频二区| 欧美另类视频在线| 高清久久久久久| 九色综合国产一区二区三区| 洋洋av久久久久久久一区| 欧美韩国日本综合| 2024国产精品视频| 欧美精品日韩综合在线| 久久字幕精品一区| 香蕉免费一区二区三区在线观看| 欧美成熟视频| 91啦中文在线观看| 成人影视亚洲图片在线| 国模少妇一区二区三区| 奇米四色…亚洲| 丝袜亚洲精品中文字幕一区| 亚洲欧美日韩国产综合| 国产欧美日韩在线| 久久久高清一区二区三区| 日韩精品自拍偷拍| 555夜色666亚洲国产免| 欧美在线影院一区二区| 久久久成人网| 免费在线观看一区二区| 亚洲视频导航| 国产一区导航| 香蕉国产精品偷在线观看不卡| 亚洲精品1区2区| 亚洲韩日在线| 国产三区精品| 亚洲色诱最新| 亚洲一区二区三区免费观看| 一区二区国产日产| 午夜在线a亚洲v天堂网2018| 欧美日韩亚洲三区| 欧美一区二区三区久久精品茉莉花| 国产精品一区二区三区四区 | 久久在线观看免费| 26uuu成人网一区二区三区| 在线视频国内自拍亚洲视频| 99av国产精品欲麻豆| 欧美fxxxxxx另类| 北岛玲一区二区三区四区| 毛片av一区二区三区| 亚洲成a天堂v人片| 亚洲精品你懂的| 亚洲色图.com| 亚洲综合丝袜美腿| 午夜精品久久久久久久| 男人的j进女人的j一区| 久久99国产精品久久99| 国产精品99久久久| 99re这里只有精品视频首页| 欧美国产免费| 一区二区三区欧美成人| 久久激情久久| 欧美一区二区三区喷汁尤物| 日韩视频免费观看高清完整版 | 91国偷自产一区二区开放时间| 欧美亚一区二区| 欧美一级在线观看| 国产女同互慰高潮91漫画| 亚洲日本在线天堂| 日本欧美在线观看| 成人精品国产福利| 欧美日韩在线不卡一区| 一区二区国产精品| 欧美日韩亚洲国产综合| 欧美xxxxx裸体时装秀| 欧美成人三级在线| 亚洲婷婷综合久久一本伊一区| 亚洲国产视频一区| 懂色av中文字幕一区二区三区| av中文字幕亚洲| 一区二区三区av| 欧美精品日韩一区| 综合久久久久久| 国模冰冰炮一区二区|