我和編程
① 我喜歡編程 但那現在任然是走著和編程沒關系工作 很糾結
哈,我倒是不覺的樓主的需要糾結。我也是非常喜歡編程,同樣做著與編程毫無關系的工作。但是後來我想明白了,如果真的讓我以編程為生,每天讓領導逼著完成各種任務,同樣不開心。有一些東西作為愛好讓你非常喜歡,因為沒有那麼多的壓力,但是真的一旦變成謀生手段,我覺得可能就會有那麼一絲絲的不同。
喜歡編程,那就在工作之餘碼一點自己想完成的軟體。當個業余的編程人員,拿著賺來的錢好好犒勞一下自己,我覺得那種感覺不錯。而且目前網上有些外包的編碼工作,樓主可以嘗試一下。
② 我是個初學者,我想要學習c語言和電腦編程
首先興趣是最好的導師,所以保持興趣!
然後,心動不如行動。一本好書就像一位好的導師,所以找本好書。推薦《C primer plus》(在書籍方面,很多人迷信譚浩強的書,以個人經驗看,它的書硬傷較多,具有誤導性,不推薦閱讀)。
至於學習過程,建議如下:
1.基本的語法知識—》2.培養編程解決問題的思維—》3.常用函數—》4.數據結構的知識—》5.小型系統的設計—》6.原理性的知識(硬體,驅動等)
當然以上每個過程中都應該有動手編程,畢竟實踐才出真知啊。
最後祝你早日成為高手。
另外推薦你一個網址www.zlgcclub.cn上面有些C的經典資料和學生寫的ppt
如果給這兩本書評分,那麼《C primer plus》得100分,譚浩強的書只得50分。
所以樓主你說那個好呀?
③ 我為什麼喜歡編程
編程,是讓計算機為解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算機之間交流的過程就是編程。 隨計算機語言的種類非常多,可分成機器語言,匯編語言,高級語言三大類[1]。計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。程序設計語言編寫的源程序轉換到機器目標程序有:解釋方式和編譯方式兩種。
為什麼喜歡編程
當今社會,21世紀,越來越多的孩子甚至小孩子迷戀上玩手機,他們百分之九十九並不能在正確的引導下學習和接觸互聯通和人工智慧,他們玩手機也都是在玩游戲,看電視,幾乎沒有小孩子喜歡玩手機是因為想要去改變什麼或者說學習到什麼,慢慢的手機成了玩具而不是工具。
④ 誰和我有一樣的學編程經歷
我覺得你學習C語言及VC環境已經比較足夠了,下一步也安排得非常得當,每天做個小軟體題目,日積月累,收獲將是不少的。
其實學編程不一定就要成為高手,好比現在打籃球的多了,不見得個個都是高手。關鍵還是解決實際問題的能力。有些人,學習是比較到位了,但是用心的地方不對,好比研究while(printf("%s",str))這樣的循環在什麼時候會結束,我覺得是吃飽了撐著了。
spotatoes的說法,我覺得還是比較遙遠,按古龍武俠小說的講法,武功的終極境界,就是手上無劍而心中有劍,用到編程上就是把一個大問題分解成一些用編程語言可以解決的「小問題」,到達這種境界當然是每個編程人的夢想,不過能發揮這種能力的人畢竟不多(項目經理),作為入門編程人員,首先還是解決人家分配過來的「小問題」。
⑤ 我現在是做的和編程沒有任何關系的工作,想以後走編程,我現在是應該邊工作邊學,還是好好的在家學
看你自己現在是有家室還是自己獨自一人,如果想學習編程有家庭條件的可以在家好好學習,如果沒有家庭條件不妨先想著養活自己的前提下邊上班邊學習。僅供參考喲
⑥ 為什麼我編程的時候感受不到那種樂趣,也不是程序難要怎麼培養啊
1.開場
自我介紹, 簡單講述我大學的學習的歷程,成果和感想。(1分鍾)
我一直都感慨本年級許多同學在大一時因為缺乏好指引,在一開始就對編程很害怕,對計算機的學習沒有開好頭,動手能力長期跟不上,空會理論,不會實踐,一直拖累到大四,最終選擇忍痛考研或者抱怨找工作難。我也幫助過不少在這方面比較弱的同學,但是總是因為基礎沒打好導致難以提高。我也一直希望學校能在大一的時候就讓同學們明白學習的重要性,打好扎實的專業基礎。現在終於有一次這樣的機會站在這里,為指引大家如何在大學專業技術學習的道路上開好頭做點貢獻。
今天我將結合我自身的經歷和我對計算機的理解,我對編程的感悟,我對大學學習的認識,給大家做報告。
首先問三個問題:
1) qq聊天軟體是用什麼語言寫的(第二天要換個問題)
答對的演講結束後留下來,我要親自給他傳授寶貴經驗,沒人答的話,很遺憾
2) 誰玩電腦游戲比較牛
恩,人很多,大家很踴躍,很好
展示下我寫的人工智慧黑白棋游戲,聲明真正的編程高手基本從來不玩游戲
(結合大四同學長期沉迷游戲最後找不到工作的例子,說明一個嚴肅的問題,只會玩游戲沒有用,會做游戲才牛,鼓勵大家努力學習,讓會玩游戲的同學也熱愛編程,最後也能自己寫游戲)
請大家記住:只會玩游戲沒有用,會做游戲才牛
3) 有沒有人對計算機特別感興趣 (為什麼感興趣)
如果有興趣,對學習計算機有巨大的幫助
興趣是最好的老師,鼓勵他們,勉勵其他人,興趣是可以培養的,要學會培養興趣
2.概述
計算機"科學"與"技術" 包含兩個層面
"科學" 指計算機硬體、軟體與應用的理論知識 理論的學習
"技術" 指軟體開發、工程實踐等技能與方法 能力的培養
我主要講的是如何學習技術(計算機技術)
講之前 澄清一個觀點 計算機技術 不等於 編程技術
編程只是一個工具,編程沒學好不代表你技術就學不好
計算機技術應該是與計算機軟體、硬體和網路三個部分相關的各種科技成果和應用的綜合,包括了多媒體,資料庫,操作系統,嵌入式系統,計算機安全,計算機網路,計算機管理和維護,計算機應用,人工智慧,模式識別,管理信息系統等,在我們生活的方方面面計算機技術幾乎無處不在。
(舉幾個例子)在現在社會,它幾乎與我們的生活息息相關。
(大學和高中的學習方式的區別)(學好技術的重要性)
在大學,學習的方式與高中或小學是有很大的區別的,大學更大,大學更自由,不再是完全跟著老師,不再是只要吃透了老師教授的內容就萬事大吉了,從我這一屆的情況看,許多同學特別是女生在大學還沿襲著高中的學習方式,勤奮刻苦,天天自習,非常認真,上課筆記做得秘密麻麻,把理論學得非常扎實,但是卻嚴重地忽略了實踐能力的培養,理論考試分數很高,但課程設計做不出東西來,顯然這種學習方式是不對的,這和高中的偏科又有什麼本質區別呢。
我覺得理論的學習和技術的學習是同等重要的,二者都不應該輕視,沒有側重點是不可能的,至於如何側重,如何在二者之間找到平衡點就取決於你自己的人生目標了。如果你喜歡研究理論,以後想繼續讀研深造可以稍微偏向理論,把理論基礎打得扎實一些,畢業以後可以留校任教或到科研院所去發展。如果你想走技術路線,那麼你就可以稍稍偏向技術,在不落下理論學習的情況下,把技術學好學精,畢業以後可以去IT企業發展,也可以自己創業,有了一身技術不怕沒飯吃。切莫完全忽視技術最後變成書獃子或完全不顧理論最後只是個代碼搬運工。
大家每個人,從現在開始就要下決心學好技術,那麼,如何學好技術呢。
3.如何學好技術
3.1制定好的學習計劃
3.1.1大一大二:打好基礎
3.1.1.1計算機方面的基本技能的學習
包括計算機眾多的應用技術的學習 和 常見的硬體維護
(大家應該盡量多多掌握計算機方面的基本技能,如word excel ppt access* photoshop* flash* dreamveaver* 結合我的經歷講講,我大一在自己沒有電腦的情況下把這些基本全學了 舉一個考研的同學不會在excel里找自己的名字的例子,如果這些最基本的技能都不會,只能說計算機還沒入門)大二有電腦之後,終於有機會整自己的電腦了,要學習常見的常見的硬體維護(系統崩潰了怎麼辦,如何安裝操作系統,如何分區等)
3.1.1.2專業理論基礎和編程基礎的學習
技術是將理論運用到實踐中去,不能輕視理論,沒有理論何來應用。計算機"科學"與"技術" 中的"科學"和"技術"應該是相互依賴和促進的。
先學好《高級語言程序設計》《數據結構》等專業課,理論基礎扎實了,學應用性技術就更容易了
編程基礎:學精C++(為什麼),可以考慮過渡到 java 或 C# (最好只學一個,為什麼)
(編程的學習會在後面再詳細講)
3.1.1.3珍惜這兩年大學自由學習的黃金時間
(曾經和一家公司的經理開玩笑,總經理感慨的說現在在大學里找一個又能力的學生來幫忙做項目真是很難啊,我說是呀,大學四年,大一的剛進校還在打基礎沒法做,大二的還剛起步沒足夠的能力做,大三的課程會很緊沒時間做,大四的找工作的找工作去了,考研的考研去了,沒人做了),大學四年,實則三年,希望大家不要把最寶貴的時間荒廢在游戲和娛樂上
3.1.2大三:深入學習,確定方向(技術方向,職業規劃)+多多實踐
到了大三,各種專業課會非常多,包括很重要的操作系統,匯編,組成原理,編譯原理,資料庫,計算機網路,軟體工程等等,大家將深入學習計算機的各大核心課程。這時大家的基礎打得也差不多了,可以選擇一門自己比較感興趣的技術並確定自己的技術的一個方向,比如選擇j2ee, .NET,WEB技術,資料庫技術,嵌入式,linux內核開發等等。當然也會有非常豐富多彩的專業選修課可以選擇學習。這段時間大家可以利用課程設計的機會好好鍛煉自己。
3.1.3大四:實踐和進步
大四,如果不打算考研的同學,工作有了著落之後,可以試著做項目,大四基本沒什麼課,相對輕松,這段時間是獲得經驗,銀子和巨大的進步黃金時期。
3.2重視專業課的學習
要把數據結構、演算法、資料庫、操作系統原理、計算機體系結構、計算機網路,離散數學等基礎課程學好
除非你足夠牛,請務必認真聽專業課,有些課像《數據結構》,《編譯原理》,《組成原理》,《操作系統》等等,這種課老師講一分鍾能讓你明白的內容,你自己看要看好幾個月
3.3培養好的思維能力
數學是鍛煉是思維的最好的東西了,他是你思考問題的最得力的工具,他體現著你的思想,在編程中會思考才能編出好的程序。
此外還要注重離散數學,數值分析,線性代數,數字邏輯等等課程的學習,他們對培養好的思維能力大有裨益
3.4激勵創新意識
創新太重要了,不管在哪個學科都重要,計算機同樣需要
3.5培養獨立分析問題和解決問題的能力
遇到問題,要先學會獨立思考,不能凡事依賴他人,盡量自己解決,在獨立解決問題過程中能獲得更大的進步,實在不能解決再請教別人也不遲
3.6培養自學能力和快速獲取知識的能力
自學能力之重要(大學和高中的學習方式的區別)
可以說高中是靠老師,大學是靠自己,要做到嚴格自律,自我約束,必須要學會自學
學習的過程也是學會學習的過程
要充分利用圖書館和網路上的豐富學習資源, 要培養計算機新知識,新技術方面的自學習能力,要學會如何通過網路,書籍,文獻,獨立地快速獲取自己需要的知識和信息
3.7培養團隊協作精神
在一個大型項目中,往往要求各種參與者密切配合才能取得成功。大家要從現在就開始注重團隊協作精神的培養,要學會與人溝通,善於表達,要注意提高自己的綜合素質,成為綜合型人才。
3.8學好英語
包括現在的大學英語和日後的專業英語。
也許有人會問,英語和技術有什麼大的關系嗎。大家是否知道,計算機的發展飛速,國際上新技術不斷涌現,如果今天國外出現了一門新的技術,或者國外某本技術書籍出了新版本,相關資料的中文的翻譯不知道要等到什麼猴年馬月才會出來,現在的許多出版也有了越來越多的英文原版書。
大家要學好英語,培養閱讀專業外語資料的能力,開始會看不懂,看多了自然熟練了。
(講下四六級,四級最好一次就過,六級在大二下結束前最好過)
3.9適時關注新技術
了解學科發展動態,跟上時代步法
3.10勤學苦練,持之以恆
學好技術不是一蹴而就的,要長期堅持。
4.無
5.無
6.關於編程的學習
6.1為什麼要學習編程
編程是軟體開發的基礎,學習計算機,只會編程是千萬不行的,但是開發軟體,不會編程是萬萬不行的
(結合本年級的情況將一下現狀,學習的重要性等)
6.2編程真的那麼難學嗎
(講講編程的苦與樂)
編程真的那麼可怕,那麼枯燥,那麼沒意思嗎?假如真是這樣,為什麼世界上還有那麼多優秀的人樂此不疲。
其實編程並不可怕,可怕的是你的心態。
編程固然很苦,編程時長時間對著屏幕,對身體不好,而且,經常因為考慮不周,會遇到各種各樣的錯誤和麻煩,初學者處處容易受挫。
但是其實編程是很有趣的,編程中充滿著無窮的快樂
首先,你通過編程得到了想要的成果的過程是一種創造的快樂
(編出了有用的東西的那一刻會有一股美好的成就感)
其次,你開發了有用的軟體可以方便自己或他人,方便自己,是一種享受的快樂,方便他人,是一種奉獻的快樂
再次,假如你開發的軟體得到了用戶的認可或好評,會有一種欣慰和滿足感
還有,你可以根據自己的意願寫你想要的東西,經過自己的努力親自實現你心中的願望
然後,編程也是一個挑戰自我的過程,遇到困難想辦法解決的過程是思考的過程,思維能得到鍛煉
最後,在代碼中有一種看不見的美,就像詩一樣,美景全是你的,你可以隨心所欲
編程真的非常有趣,它不僅滿足了我們內心深處進行創造的渴望,讓人頭腦變得靈活,而且還愉悅了每個人內在的情感。
6.3學好編程的建議
6.3.1請熱愛編程
如果想成為編程牛人的話,請熱愛編程。有興趣是最好了,沒興趣也沒關系,可以慢慢培養,當你感受到了編程的樂趣的時候你會愛上它。
6.3.2不要畏難
很多初學者往往都在遇到許多困難,遭受多次挫折後,自信心受到打擊從而對編程喪失興趣
這些困難每個人都會遇到,我在初學編程時也遇到過,關鍵是看你用什麼心態對待,是想辦法解決困難還是選擇逃避。很多問題其實是有很多解決方法的。譬如看書,遇到看不懂的部分,可以暫時跳過,先往後看,看完後面的之後,再回頭看前面跳過的部分往往會有一種豁然開朗的感覺。再比如,編程調試時死活找不到錯誤會很郁悶,這個時候很多同學會束手無策,其實只要在程序不同的地方加上輸出語句,然後運行看有哪些輸出,這樣一步步縮小錯誤的范圍從而確定錯誤發生的位置。等等。。。
不要畏懼困難,要用你的智慧戰勝它。
6.3.3多實踐,多交流
學習編程的秘訣是:編程,編程,再編程;(講講如何動手實踐)
在學校的實驗室就算你做錯一萬次程序都不會有人罵你,如果在公司你試試看!所以多去實驗室上機,現在錯得多了,畢業後就錯得少了。多實踐,多從失敗中吸取教訓,積累經驗。要勤奮,三天打魚兩天曬網是學不好的,學會了的東西一段時間不用就容易忘記,實踐得越多才能記得越牢。
現在大家是大一,可能有人會說沒有電腦不方便,其實實驗室不是只有在老師安排的實驗時間才可以去的,它是是面向計算機專業的學生免費開放的,大家有時間就去實驗機房練習,只要拿著學生證,或者乾脆直接跟那個阿姨說你是計算機的就行了。航海樓7樓的機房和圖書館電子閱覽室也是可以的。我大一的時候甚至還到陽光網吧編程呢。
到大二大三的時候課程設計就會多起來,大家一定要自己動手做,不要去網上搜一個就完事了。
與人交流,分享自己編程中的樂趣和經驗,共同進步。
6.3.4多閱讀書籍和代碼
編程不是非要在電腦上才能學的,閱讀書籍和書中的代碼也是一種學習方式,自己還可以嘗試著改進那些代碼,最後可以把自己的成果拿到電腦上調試
千萬不要忽視書後面的習題
6.3.5養成良好習慣
細節很重要
要細心,沉下心來編程,戒驕戒躁
養成良好習慣,注重編程風格,盡量寫代碼注釋,把寫過的代碼保留下來,以後會有用
6.3.6善於思考
遇到問題動腦筋解決
6.3.7注重基礎
打好編程基礎,除了熟悉基本的語法之外,要深刻理解指針,引用,面向過程思想,類,模板,標准庫,介面,繼承機制,面向對象思想等等,課後習題盡量全做一下
剛才說了,有精力的可以學學 photoshop圖像處理, flash動畫製作,3dmax或maya三維建模,dreamveaver網頁設計,但是不要因為他們花費過多的時間而影響了你基礎的學習,那些都是些應用技術,你學會了更好,不會也沒什麼丟人的,基礎打好了,以後學啥都輕松。
在基礎沒打好的情況下,不要覺得你編的程序只能在黑白的DOS窗口了運行就去學VC做漂亮的窗口,3d程序很有意思就去看OpenGL或DirectX,那些都屬於高級應用,沒有基礎學起來會很吃力。
基礎要扎實,不要覺得C#中沒有指針就扔掉C++, 不要今天看C#,明天搞java
要有明確的方向,計算機技術的發展實在太快,新技術不斷涌現,了解一下就可以了,不要隨波逐流,要沉得住氣
6.3.8選好開發環境
選擇一種適當的開發環境並熟悉它就可以了,不要今天擺弄Visual Studio,明天鑽研Eclipse,後天來個netbeans,在工具的使用的學習上白白浪費時間。
6.3.9選好編程語言
我在選擇語言時,走過一些彎路,浪費了一些精力,我在這里選出一些主流編程語言,對語言特性與環境稍作介紹,希望可以幫助大家,讓大家盡早了解與選擇,少走彎路
C(多用在性能要求較高的場合,如操作系統,嵌入式等)
C++(應用最廣泛、成熟,強大而復雜,兼有性能高和易於構建大型程序的優點,基本是衡量一個國家軟體產業發達程度的核心基礎)
Java(著名的SUN公司推出的,面向對象、安全、跨平台、強大穩健,需要java虛擬機的支持)
C#(微軟推出的完全面向對象,運行在 .NET Framework 環境中新興、易學、強大語言)
Python(新興的面向對象腳本語言,跨平台,語法清新易於使用,代碼優美得像數學一樣,非常容易學)
PHP (目前最流行、強大、穩健的動態網站開發腳本語言,語法類似C++)
ActionScript (Flash的編程腳本,最新版支持面向對象,能基於Flex開發RIA應用)
除此之外,還有vb, vb.net, asp.net, jsp, asp, ruby, Javascript等
這么多五花八門的語言,大家可能都會覺得眼花繚亂了。
其實各種語言之間只是語法不同,編程思想都是相通的,學精一門,了解多門是上策。
" 程序=演算法+數據結構 " 其中並沒有編程語言,說明語言只是程序員與計算機的編譯器溝通的一種工具,程序員用某種語言來表達程序的邏輯結構,計算機中相應的編譯器或解釋器理解這種語言,編譯得到二進製程序或者直接解釋執行。
以上這些語言我在大學前三年全部學過了,有的學得很深,有的很淺。因為人的精力畢竟有限,很多語言學過了之後根本就很少用到,幾乎是白學了,現在我深深的體會到,
語言並不是學得越多越好,與其泛而不精不如有針對性的先精通一門,其他的觸類旁通。
就大家現在的情況,希望大家把當前正在學習的C++學好,學到一定程度的時候,可以繼續深入的研究C++的各種庫,也可以從上面選擇感興趣的新語言學習,如果把C++基礎打好了,後面的學習就會容易得多。
最流行的語言不一定是最好的語言,用的人最多的語言也不一定是最好的語言。
請大家記住,沒有最好的語言,只有最適合某個領域的語言, 在不同的環境下選擇不同的語言就可以了。
6.3.10重視數據結構和演算法
理論上,計算機的任何編程語言都有可能會被淘汰,隨著時間的推移和計算機軟硬體的飛速發展,不斷會有新的語言產生和和舊的語言過時,但不會過時的是數據結構和優秀的演算法。真正的高手應該是善於設計優秀的數據結構和演算法的,應該是具有獨立分析和解決問題的能力並利用計算機程序來實現的,他的思想應該是超脫語言、在更高處的一種升華。
如果某一天,你深切的體會到,真正重要的不是什麼語言而是思想的時候,說明你可以出師了。
⑦ 我要學編程
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
那程序到底是什麼呢?
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。
這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
(1)解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
(2)編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
這個問題其實很簡單。前面我們講到,程序是人與計算機進行溝通的唯一方式,因此我們要讓計算機為我們服務,就必須有程序,而程序從哪裡來?當然是由我們編寫出來了。或許你又會問到另一個問題:現在要什麼程序有什麼程序,我幹嘛還要編程呢?這你就錯了,現在的程序雖然很多,需要什麼樣的程序直接到網上不需要很長時間就可以找到類似的,而且有可能就是你所需要的。但是,就好比去買衣服,雖然賣衣服的到處都是,但是哪一件是為你「量身定做」的呢!
程序還能夠做很多事情不同的程序可以完成不同的事情。從大的方面到管理國家的財務,小的方面管理家庭的帳務。
又如,如果你想要你的計算機能播放動畫,那麼你的計算機中也要有相應的動畫播放程序,下面所示的就是一個F1ssh動畫播放器。我們將會在後面的章節具體講述這個程序的編制過程。
隨著計算機的飛速發展,總會有那麼一天將不會編程的人列為「文盲」。你不希望吧?那麼就好好的學習一種程序設計語言吧。
編程會過時嗎
編程會過時嗎?這個問題,讓我先問你一個問題:計算機會消失嗎?這兩者答案是一樣的。知道了計算機會不會消失,就知道了編程會不會過時。
編程工具會過時,而編程卻不會過時
計算機系統由可以看見的硬倒:系統和看不見的軟體系統組成。要使計算機能夠正常的工作,僅僅有硬體系統是不行的,沒有軟倒系統(即沒有程序)的計算機可以說只是—堆廢鐵,什麼事情都幹不了。例如當你撰寫—篇文章的時候,你需要在操作系統中用文字編輯軟體來實現文字的輸入,但如果沒有這些文字輸入軟體的話,你是否想過如何向計算機中輸入文章呢?很難想像出如何在一個沒有任何軟體的計算機(我們稱之為裸機)上進行文字的輸入。而這些軟體其實就是通常我們所說的程序。
編程會過時嗎?我們從另一個角度來考慮這個問題,計算機有——天會消失嗎?如果有一天當世界上所有的事情處理都用不到計算機了,那麼計算機將會很快的消失,那時編程不僅過時了,而且也會隨之消失了。但是計算機會消失嗎?當然不會,如今計算機應用到每一領域,為人類的發展做出了不可估量的貢獻。試想一下如果有一天全世界的計算機突然消失了,那麼這個世界將變成什麼樣子,或許和全世界都停電了一樣恐怖,甚至還會有更大的損失。計算機的存在必須要有軟體系統來維持。因此編程永遠不會、也不可能會過時。
計算機程序設計語言發展到今天,已經從最原始的機器語言發展到如今可視化的集成開發環境,甚至集多種語言在同一開發平台上,像微軟的NET平台。回頭看看程序設計語言的發展史,不難看出對於編程來說,只會出現編程工具的過時,不會出現編程本身的過時。
不斷變化的技術需要不斷變化的程序員
從二十世紀60年代以後,計算機得到了突飛猛進的發展。似乎歷史上沒有任何一門科學的發展速度超過了計算機的發展,無論硬體、軟體、還是網路都以驚人的速度向前發展。計算機的硬體發展速度遵循「摩爾定律」每十八個月速度翻一倍(實際現在已超過了這個速度)。軟體的發展速度和硬體一樣,二十世紀九十年代中國的軟體業還不是很成熟,而現在大大小小的軟體企業四處聳立,共享軟體網上隨處可見。不斷發展的技術需要不斷變化的程序員,例如,如今Visual Basic可以快速構Windows下的應用程序,程序設計方面的技術不斷發展著,不斷引進新的概念、新的方法,如從結構化的C開始,當面向對象的思想被提出後,出現了C++,微軟在C++的基礎上為使用戶構建win32應用程序更加方便,推出了Visual C++。這也就需要程序員也要不斷的更新自己的技術。
計算機科學與別的學科很不一樣,不像語言學、歷史學那樣,幾乎是永久不變的東西。計算機科學要求不斷的更新自己的知識,否則很快就會被淘汰,即便是編程亦是如此。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇 Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
三、我可以編程嗎
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
四、我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇 Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
一、計算機語言的發展過程
到目前為止,世界上公布的程序設計語言有上千種之多,常用的也有三十來種,為了有21於正確選擇和使用它們,下面我們做一個簡單介紹。
(1)匯編語言:
它是依賴於具體計算機的語言,用它編寫出的程序,執行效率高,但是只在一些特殊要求或特殊的場合才使用它。
(2)高級語言:
大家可能都聽過使用高級語言進行程序設計,但由於對其並不了解,所以總認為這些是很高深的東西。其實並非如此,學習了後面的章節,相信同學會產生編程原來不過如此。
但計算機是不懂得自然語言的(可以理解為高級語言),而高級語言設計出來的程序如何讓計算機去執行呢?其實很簡單,看了下圖後相信大家會明白許多。
現在我們就向大家介紹幾種常見的高級語言:
Fortran語言是科學和工程計算中使用的主要編程語言。目前國內使用版本多數是Fortran 66和Fortran77兩種。Fortran語言的主要缺點是不能直接支持結構化編程。
Cob0l語言是商業數據處理中廣泛使用的語言。由於它本身結構上的特點,使得它能有效的支持與商業處理有關的、范圍廣泛的過程技術。它的缺點是不簡潔。
Algol語言是所有結構化語言的先驅,具有豐富的過程和數據結構。但是,這種語言並沒有被廣泛採用,主要是由於它本身的歷史原因所造成的。
Basic語言是一種解釋執行的會話語言。由於它簡單易學的特點,它被廣泛應用在微型計算機系統中。
PL//1語言是一個用途廣泛的語言。能支持通常的科學工程和商業應用,能描述復雜的數據結構、多重任務處理、復雜的輸入輸出和表格處理等。
Pascal語言是70年代初期發展起來的結構化程序設計語言,具有特別豐富的數據結構類型。它自問世後,得到了眾人的贊賞,也得到了軟體開發者的廣泛支持。Pascal語言已用於科學、工程和系統程序設計中。我們教育部計算機專業教育會議曾把Pascal語言定為計算機專業程序設計語言。
C語言是作為UNIX操作系統的主要使用語言。由於UNIX操作系統的成功,現在C語言也得到了廣泛的使用。C語言是有經驗的軟體工程師設計的,它具有很強的功能,以及高度的靈活性。它和其他的結構化語言一樣,能提供豐富的數據類型、廣泛使用的指針以及—組很豐富的計算和數據處理使用的運算符。
C++語言是C語言的擴充。在1980年,貝爾實驗室的Bjarne Strotstrup博士及其同事開始對C語言進行改進和擴充,最初被稱為「帶類的C」,1983年才取名為C++。以及不斷完善和發展,成為目前的C+ +語言。一方面,它將C語言作為它的子集,使它能夠與C語言兼容。使許多C語言代碼不經修改就可以為C++語言所用以及用C語言編寫的眾多庫函數和和實用軟體可以直接用於C++語言中;另一方面。C++語言支持面向對象的程序設計這是它對C語言最重要的改進。
⑧ 有誰能告訴我和編程,計算機之類的有關的專業有什麼,具體是學什麼的(希望各位有豐富經驗的過來人幫忙
⑨ 我是如何學習計算機編程的
下面列出的是我創建的主要的網站,其中最早的一個是我 11 歲時開發的。我希望讀者能從我這些復述中獲得的信息是:如果你想學習編程,做大量的練習性的項目是非常必要的。 學習一種技術最好的方法就是練習,練習,練習。所有我知道的最優秀的程序員都深深的享受編程 —— 編程是一件讓他們無比快樂的事情,也因此他們大量的編程。經常,那是一種不健康的廢寢忘食。學習如何編程 —— 以及如何編好程 —— 並不需要你具有超人的能力。你只需要去按照自己的意願動手去做,做出點什麼東西。 做什麼東西並不重要,重要的是你找到東西動手去做。我所認識的那些優秀的程序員,他們都有各自不同的最初學習編程的動機。有些人學習編程是為了開發動畫游戲。有些人是為了解決他們在使用計算機時遇到的問題,或讓工作更有效率。有些人是為了開發產品來滿足人們的需求。有些人(真正的程序員)學習編程只是他們為了深入了解計算機工作原理的步驟之一,他們希望能搞清楚這種機器。有些程序員編程只是因為他們享受解決難題的挑戰。 讓所有這些「優秀程序員」統一起來的唯一因素就是,他們全因為生活中的某些原因而為編程著迷,繼而花大量的時間編程,做大量的、大量的用於練習的項目。 那麼,我就不再羅嗦了,下面就是我如何學習編程的故事: 我的第一個網站 在我大概十一二歲的時候,我感到需要給自己做一個網站。我已經記不清為什麼需要一個網站了,只記得那樣就開始做了。於是我就在網上搜索關於網頁、Web 瀏覽器、HTML 如何工作的信息。很多的信息我發現都已經過時了,有些明顯是錯誤的或給了錯誤的向導(例如為 IE 瀏覽器和 Netscape 瀏覽器分別做網站),但過程是非常有趣的,我學到了很多新東西。 盡管在網上搜到了很多粗製濫造的信息,我還是想辦法做了一個簡單的網站,我叫它「Feross 的網站」。開發它,我使用的是微軟的 Frontpage,那是一個非常棒的所見即所得的HTML 編輯器。我使用很常見的語法,例如粗體,斜體等對網站做修改,在編輯器里即時查看這些 HTML 標記能達到的效果。這是很有效的學習方式。 下面是我的第一個網站的截屏。這個網站已經不存在了。 你從上面的圖片上看不出來,這個網站上的每個元素都在動,閃爍的動畫,還能出聲。我在網站的每個頁面上都放置了不同的 MIDI 格式的歌曲。而且都是自動播放,你沒有辦法讓它們停下來,除非把電腦消音。哈,這就是當年流行的網站設計風格。 等再長了幾年歲數後,我重新設計了這個網站,讓它變的漂亮些。我使用了在網上發現的一些免費的網站模板,用微軟的畫圖工具修改了一些圖片。 盡管我大量的依賴於模板,但這不失為一個學習 HTML 和 Web 瀏覽器的好方法。「Feross 的網站」除了用來收集我小時候的一些視頻外沒有其它用處,所以不久後我就對它失去了興趣。 我的第一個真正的 當我9 年級(14歲)時,我和我的朋友都非常著迷於觀看像 Newgrounds 和eBaumsWorld 這樣的網站上的 flash 視頻和動畫(這是 2005 年之前,還沒有 YouTube)。我在這種網站上花了大量的時間,所以我知道所有最好的視頻和游戲。我想,如果做一個網站來收集這些在網上發現的我喜歡的 flash 動畫、視頻、游戲,會是一件很酷的事情。這就是我做出 FreeTheFlash 網站的初衷。它是這個樣子的: 我從開發「Feross 的網站」的過程中學到了很多 HTML 知識,這次我使用了 Macromedia 公司(現在的 Adobe 公司)的 Dreamweaver 編輯器,這個東西能讓我在網站的重復部分使用同一個模板。 一段時間後,我意識到,我應該讓網站動起來,聽說是應該使用一種叫做 PHP 的編程語言來做網站,而不是只使用靜態的 HTML。於是,我花了 20 美元從 Amazon 買了一本書,叫做《PHP and MySQL for Dynamic Websites》,使用 PHP 和 MySQL 對網站進行了重新設計。我還給它進行了新的美化: 在高中時期我對這個 FreeTheFlash 網站的開發持續了 2 年。它對於我第一次嘗試做一個「真正」的網站來說是相當成功的 ——在 2006 年,它獲得了 60 萬人/次訪問,頁面瀏覽量達 3 百萬。FreeTheFlash 讓我知道了做出一個產品、讓它傑出、看大量的人使用它,是一件多麼自豪的事情。它讓我想做出更大的網站。 我的第二個網站 在中學,我在上計算機課程時做了大量的筆記。於是,在 11 年級時,我覺得應該把這些筆記放到網上,讓那些不喜歡看課本的學生使用。我做了一個網站,叫做 StudyNotes,使用的是 PHP 和一個叫做 Joomla 的內容管理系統。我也嘗試過使用 Drupal,但發現它太復雜了。 同年,我為我的學校 Key 俱樂部分部做了一個網站,如今也不用了。 這段時間,我花了大量的時間泡在 WebmasterWorld 里,這是一個論壇,主要關於網站站長和 SEO 專家推測 Google 演算法,討論 AdSense 技巧,調試網站問題等。 大量的學習和閱讀 等我進入了斯坦福大學後,我學習了大量的計算機課程,諸如 CS106X 和CS107,我還超前學習了部分 CS106 課程。 所有的課余時間我幾乎都在閱讀關於設計、編程、瀏覽器和 JavaScript 等方面的資料。一般每天4-5個小時。 如果你要問我都讀什麼?亂七八糟的。但大部分都是我敬仰的設計師和程序員寫的博客。你可以從這篇博客的右側看到我列出的部分博客鏈接。 關鍵一擊 之後,在 2010 年夏天,當我在 Facebook 實習時,因為跟一個朋友打賭,我開發了 YouTube Instant,它是一個用來實時搜索 YouTube 視頻的網站。這個網站在建成之後的 10 天里獲得了 1 百萬用戶的訪問量,YouTube 的 CEO 甚至給我發消息說提供一個職位給我,你可以從這里看到這些媒體的躁動。 我知道 YouTube Instant 的成功歸功於當前的好時機和一點幸運。我想,我們很多人不知道自己能做出什麼。 繼續前行 我注意到很多人使用 YouTube Instant 來聽音樂視頻,這讓我想到了另外一種使用 YouTube API 的好方法。於是,我的朋友 Jake Becker 和我在 2011 年的頭 3 個月里開發了 Instant.fm,它能讓你輕松的向朋友分享音樂播放列表。通過這個項目我們都學到了很多新的東西。 在這個工程中我掌握的技術:jQueryCSS (和 Modernizr 以及YepNope,用來解決跨瀏覽器問題的)PythonTornado (web framework/server)Git (版本控制) & GitHubLast.fm APIYouTube API團隊合作 以及其它一些我們學會使用的東西:Nginx (web server)Supervisor (to daemonize Tornado)SQLAlchemy (ORM)Apache Ant (to build and deploy the site after a push) 動手去做! 我把從 11 歲就開始做的東西都不厭其煩的曝出來,目的就是要說,如果你想學習編程,你需要動手去做東西!現在就去。不要找任何借口。 做東西是最好的學習方法。 從頭到尾讀一遍編程語言書籍是一件很無聊的事,讀到一半你就讀不下去了。但,如果你想做一個項目,你在做的過程中會知道你該學習哪些知識,這是認識和掌握知識更有效的途徑。 計算機課程 大學里的計算機課程是學習編程的另外一種十分有效的方法。大多數好的計算機課程都十分強調學習計算機科學領域里的重要概念和範式,而不是教你某個特定的語言。這能讓那些從來沒有接受過正規教育的人在自學時開闊眼界。 記得在斯坦福大學上第一堂計算機課程時(那是教授 C++ 的課程),我在想「怎麼可能變數前不帶$符號呢?」當時我只使用過 PHP! 我用了好長一段時間才改掉在變數前加$符號的習慣! 在軟體公司工作 另外一個提高編程水平的方法就是到軟體公司實習,比如 Facebook 或 Quora,最近的兩個夏天我就是在這些公司里度過的。你會從那些優秀的人那裡學會如何更好的編程,如何閱讀和理解他人的代碼,如何在大項目中進行團隊合作。 還是那句話 —— 比什麼方法都管用 —— 學習編程最好的方法就是做項目練習。我是不是重復這句話無數次了?