編程語言那么多,改怎么選呢,作為一個編程剛剛了解的人,往往很糾結語言該怎么選!學習編程 的小伙伴是不是同樣有這個困擾呢! 冥思苦想 聽說流行Java,php是最好的語言,入門應該從C開始,滿滿的小糾結,這么大一堆語言無從入手,初期選擇的時候難以決定,到底那個工資高,那個比較好找工作,那個比較好學等等問題困擾在選擇期的小白,還有那個英語好難,怎么辦,怎么辦,想學又好糾結。 展開剩余96% 打開電腦,上網(wǎng)查哪個好 自己糾結不清了,還是上網(wǎng)找人問問吧,java好,c好,html吧,還是來php吧.......結果網(wǎng)上也沒找到自己想要的結果,此時的內(nèi)心是奔潰的,到底該學什么,其實不單純只是初次接觸編程的小白有這個問題,學習一段的小伙伴們也會有,看見別的比較好,在想是不是要換去學那個語言呢?這個啥都沒學會,要不要換個呢? 想,問題在那? 其實問題并不在于那個語言好,雖然編程語言看市場,看行情,但是這在學習編程的路上屬于次要的。之所以猶豫不決,那是因為你沒想好自己學編程目的,你需要給自己一個目標的定位。先想想自己學習編程為了什么,以后想開發(fā)什么,你要學那個方向。至于學那個語言,根據(jù)自己的想法去確認,比如你以后想往安卓的方向去開發(fā),那你的入門語言可以從Java開始,如果你想搞網(wǎng)站開發(fā),那你可以從HTML學起,當然很多小伙伴對游戲開發(fā)感興趣,那你要想一想你是要開發(fā)的游戲的類型,然后隨便找個接近的語言開始學。說白了,找個和自己目標接近的語言,挖個坑跳進去,先滿滿學,不管那個方向,要學的不僅僅是一門,兩門語言的事情,路還很長,不要太過于糾結選擇什么語言。 臉黑! 不知道,你是否解除了能一些心中的困惑,編程語言中有絕大部分的共同點,學習編程不是要去學習哪門語言,不管哪門語言,它不過是一個工具罷了,主要的還是去理解編程的思想,去觀察不同語言中不同的特性!重視語言的特性,而不是語言本身,很多語言具有共同性,神秘人從C入門,學C 的時候順風順水好長一段時間,因為很多都學過,Java也差不多,所有語言共同點很多,當然很多語言不具備可比性,php里面有各種語言的特性,但是它和c/c 這些卻沒有可比性,你不可能用php去寫一個桌面程序,所有程序是沒有可比性的。 思路似乎一下就開了 是不是現(xiàn)在就清晰好多,學編程的小白,不要猶豫這些細節(jié)上的問題,開始干吧!學編程,學了好久終究覺得自己是小白,就是那天成為大神了,也會幽默的說自己不過是小白,馬云說的一些話很有道理,明知道你自己頂級,你還是要默默的說自己第二....... 職場中最受歡迎的九大編程語言 Python 當我們思考應該找哪一門語言入門時,往往會有人跟你推Python。Python是一門比較簡單的編程語言,同時具有極高的可讀性和靈活性,最近它已經(jīng)成為大學院校在教授計算機專業(yè)時選擇的入門語言之一。 C語言 C語言也是許多人極力推薦的入門語言,除了經(jīng)典和應用廣泛以外,相比Python,學習C語言可以充分了解計算機相關知識。并且C語言更適合寫程序。 C++ C++也是在C語言的基礎上開發(fā)的一種面向對象編程語言,應用非常廣泛。常用于系統(tǒng)開發(fā),引擎開發(fā)等應用領域,支持類、封裝、繼承、多態(tài)等特性。C++語言靈活,運算符的數(shù)據(jù)結構豐富、具有結構化控制語句、程序執(zhí)行效率高,而且同時具有高級語言與匯編語言的優(yōu)點。 Java Java 是目前所有主流瀏覽器上唯一支持的腳本語言。Java入門難度較低,可在任何瀏覽器上開發(fā)及調(diào)試,不需要安裝額外的軟件。作為一門靈活的腳本語言,JS有很多用途:前端,后端,游戲腳本等。 Ruby Ruby是一門有趣的開發(fā)語言,優(yōu)雅而又不失實用。Matz在設計Ruby的時候就想方設法讓Ruby成為一個“人性化”的語言,力求使Ruby程序員感覺到使用Ruby是一件愉悅的事情。你能從Mixin、程序塊、元編程、極具包容性的語法等等當中獲得一種喜悅。 Java Java是一門面向對象編程語言,Java語言具有功能強大和簡單易用兩個特征。Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。 PHP PHP是一門簡便的Web開發(fā)語言,可廣泛用在網(wǎng)站開發(fā),API接口開發(fā),服務器端開發(fā),廣告系統(tǒng)開發(fā),內(nèi)部OA系統(tǒng)開發(fā),移動端后臺開發(fā),游戲開發(fā)等。入門不難,難的是掌握好一整套開發(fā)體系。 Objective-C 通常寫作ObjC或OC,是擴充C的面向對象編程語言。Objective-C的流行歸功于iPhone的成功。編寫iPhone應用程序的主要編程語言是Objective-C。 C# C#是運行于.NET Framework之上的高級程序設計語言,由C語言和C++衍生而來。具有安全、穩(wěn)定、簡單、優(yōu)雅的特點,C#使得C++程序員可以高效的開發(fā)程序。 最有效學習編程的24條方法 1Determine your area of interest明確你的興趣點. 你可以選擇任意一門計算機語言起步,首先你要明確學習編程目的。這個可以幫助你確定編程語言的類型,是一個學習的好起點。 如果你的目標是網(wǎng)頁開發(fā),也有一大堆不同的語言(有別與計算機應用程序)。移動應用開發(fā)也需要一組技能,有別于機器編程。這些決定都將影響你的學習方向。 2Consider starting with a 'simpler' language考慮從簡單的語言入門. 不管你們的初衷是什么,編程入門應該選擇一個簡單的高級語言。這些簡單高級語言對初學者很重要,它們會讓你明白基礎的概念和流程。 最流行的是Python和Ruby。它們是面向對象的,支持Web應用程序 , 而且語法可讀性好。 面向對象是指,這個語言是基于對象、數(shù)據(jù)的集合及數(shù)據(jù)的操縱來構建的程序的。面向對象的概念在諸如C++,Java, Objective-C, 和PHP廣泛應用。 3Read through some basic tutorials for a variety of languages.閱讀一些基礎的教程 如果你還不能確認學習什么編程語言,首先閱讀一些基礎教程。如果感覺一門語言比另外的語言更有意思,可以嘗試一下。網(wǎng)上這類教程很多。 Python - 這門語言是比較好的起步語言,功能非常強大。在編寫Web應用程序,游戲應用廣泛。 Java -適用于很多的程序,從游戲到Web應用,到ATM機等,都有它的身影。 HTML - 對Web開發(fā)者來說,這是必學的一門基礎語言。對于開發(fā)各類Web應用程序,掌握它是非常必要的。 C - 歷史悠久的一門計算機語言,也是一個功能強大的工具,對于學習C++,C#,Object-C來說,它是它們的基礎。 4Learn the core concepts of the language.學習編程語言中一些重要與核心的概念。 這部分內(nèi)容,主要取決于你選擇的編程語言。每門編程語言都有一些基本的概念,這些概念是編寫程序的基礎。盡早熟悉并掌握這些概念,讓你更容易的解決問題,創(chuàng)建功能強大、高效的代碼。下面是一些編程語言的核心的概念: Variables -變量:存儲與修改數(shù)據(jù)的方法,變量可以變程序所操縱,一般會定義類型,如整形,字符串等,用來確定數(shù)據(jù)存儲的類型。編寫代碼時,一般會指定變量的名稱,其目的是起到標識并區(qū)別。更容易理解這個變量與代碼其它部分的關系。 Conditional Statements - 條件語句:指令根據(jù)條件的成立或者不成立,執(zhí)行不同的代碼 。最常用的表達式是If-Then結構。如條件成立(x=5的情況),做一件事情,如條件不成立(x<>5的情況)做另外一件事情。 Functions or Subroutines - 函數(shù)或者子程序:它的真實的命名因程序語言不同而異。常常被叫做“過程”,“方法”,或者“調(diào)用單元”。在大程序中有小程序很重要。一個函數(shù)可以被程序調(diào)用多次,這樣方便程序員編程時很高效。 Data input - 數(shù)據(jù)輸入:這是一個在很多程序中使用的很大的一個概念,包含程序如何處理用戶輸入數(shù)據(jù),如何存儲數(shù)據(jù)。數(shù)據(jù)如何收集也與不同類型的程序、提供的輸入變量有關。如何輸出數(shù)據(jù),是通過顯示器還是文件,也是同樣道理。 5Install any necessary software.安裝所有必備的軟件(工欲善其事,必先利其器) 很多編程語言需要編繹器,它也是一些用來把代碼轉化成機器語言的程序。另外一些語言如Python無需編繹器,而過通過解釋器邊讀取邊執(zhí)行的. 一般程序編輯有一個集成開發(fā)環(huán)境(IDE),通常由代碼編輯器,編繹器或者解釋器,還有調(diào)試器等構成。這樣程序員可以在同一個地方完成基本上所有的功能。IDE通常又包含可視化的對象層次結構的目錄. 現(xiàn)在網(wǎng)上有很多代碼編輯器,這些程序提供各種彩色文本高亮顯示和很多用戶友好的工具,. 6Focus on one concept at a time 同一時間段專注一個概念. 程序界一般教一門新的語言會用“你好,世界”來起步。它只在屏幕上顯示“你好,世界”的簡單程序。它教會新手創(chuàng)建產(chǎn)基本程序結構的最簡單的語法,及處理顯示的輸出。通過修改文本,你會了解程序如何處理基本數(shù)據(jù)。下面的鏈接是不同的編程語言顯示“你好,世界!”: Hello World in Python Hello World in Ruby Hello World in C Hello World in PHP Hello World in C# Hello World in Java 7Learn through deconstruction of online examples.通過剖析網(wǎng)絡上大量案例來學習。 網(wǎng)絡上有大量的代碼實例可供學習與參考,通過實例的學習,可以了解語言工作的方方面面及它們部件之間如何交互??梢詮膶嵗羞x取部分代碼來創(chuàng)建你的程序。 8 Examine the syntax.檢查語法的正確性。 語法是編程語言的書寫正確方式,這樣編繹器與解釋器才能夠理解程序。每個語言的語法都是不一樣的,盡管一些元素共享多門編程語言。學習語法知識是學習編程的基本功,編程代碼也體現(xiàn)了程序員的思想?,F(xiàn)實中也一樣,語法是語言中其它高級功能的基礎。 9Experiment with changes.通過修改程序進行不斷的實驗 修改樣本程序,測試結果。通過大量實驗,你會學會那些可行,那些不可行,這種方法比閱讀書本與編程指南要高效與快速。不要害怕程序的中斷,學會如何糾正錯誤是開發(fā)過程中一個不可缺少的步驟,新事情一般不可能第一次就能夠正常運行。. 10Start practicing debugging.開始練習調(diào)試代碼 一旦編寫程序,你會經(jīng)常遇到錯誤,它們會出現(xiàn)在程序任何地方。它們是不通過編繹或者解釋的主要錯誤。找到并修正這個錯誤是軟件開發(fā)環(huán)節(jié)中一個重要環(huán)節(jié),所以不要緊張。 修改基本程序時,經(jīng)常會碰到程序問題.找到不同解決問題的方案,是作為程序積累經(jīng)驗與技巧的最佳途徑。 11 Comment all of your code.對代碼進行必要的注釋 程序語言一般都注釋這個功能,注釋的內(nèi)容編繹器與解釋器是不會處理的。一般情況下,注釋要求用簡潔的,自然語言來解釋代碼的做什么。在大型程序中,這個方法可以幫助你記住代碼的功能,在團隊協(xié)助的環(huán)境下,也是讓他人讀懂你的代碼的方法。. 12 Code daily.每天都編寫代碼(拳不離手,曲不離口) 掌握一門編程語言非常費時,即便是Python這個語言,也需要1-2天才能夠理解基本的語法,掌握需要更多的時間。與其它技能一樣,熟能生巧. 每天抽出一點時間編程,即使工作或者用餐中的間隙時間。 13Set goals for your programs.為編寫的程序設定一個挑戰(zhàn)性目標 設定一個可行但又有挑戰(zhàn)的目標,這樣能夠解決問題,提出方案。先想出一個簡單的應用程序,如計算器的開發(fā)及步驟。在編寫過程中使用已學的語法與概念,并運用到實際中。 14 Talk with others and read other programs.與高手交流,經(jīng)常閱讀別人的程序 有很多的編程社區(qū),致力于特寫的編程語言或者相應學科。參于到這些你感興趣的社區(qū)活動,你會接觸大量例子,工具來幫助你學習。閱讀別人的代碼可以激發(fā)你的創(chuàng)造力,幫助你掌握一些核心的概念與思想。 去看看編程的論壇,盡量參與進去,不局限于問問題。社區(qū)里有很多的協(xié)助,討論,不局限于問答。不要羞于問問題,提交你的工作,打開的想像力,嘗試不同的方法。 積累到一定的程度,參加一些編程果醬,這些是個體或者團隊定期開發(fā)一些功能性程序,一般面對一些特定的主題。這些活動好玩,也是接觸其它程序員的好方法。 15 Challenge yourself to keep it fun.挑戰(zhàn)自己,讓編程變得有趣好玩 挑戰(zhàn)一些你不知道如何做的事情。并研究提出解決問題的方法,并用你的程序實現(xiàn)問題的求解。為了不滿足于簡單的基本程序,盡量想辦法讓代碼完美的運行起來。 16 Take a few training courses.參加一些培訓課程 很多的大學,社區(qū)學院,社區(qū)提供一些編程課程或者就業(yè)課程,你可以參加這些課程。對新手來說也是一個非常難得的機會,你可以得到有經(jīng)驗豐富程序員及時的幫助,也可以與當?shù)氐钠渌绦騿T協(xié)作分享。 17 Buy or borrow a book.購置或者借閱一些工具書 編程方面的書籍多如牛毛。當然你的知識不可能都書本上來,書本只做一些重要參考與案例的解讀. 18 Study math and logic.學習數(shù)學與邏輯的知識 編程一般涉及到簡單的算術,.你還要學習更多的高級內(nèi)容。這一點對于編寫復雜的模擬或者涉及大量算法的程序。對于大多數(shù)日常工作的程序代碼,并不涉及大量高級的數(shù)學知識。學習邏輯,特別是計算機邏輯,對于理解與解決復雜問題,編寫高級的程序很有用。 19 Never stop programming.不要兩天捕魚,三天曬網(wǎng) 要成為某一行業(yè)領域的專家,有一個很著名的1萬小時理論。雖然這個理論有很大的爭議性,但還是有一定的普適性。時間與專注是不可缺少的先決條件,不可能一口氣吃成一個胖子,如果你聚集于一點,不斷學習,你就很可能成為這方面的專家。. 20 Learn another programming language. 學習一門其它的編程語言 精通一門語言固然好,很多程序員是通過學習多門語言幫助他們獲得成功。他們的第二,三門語言是第一門語言的補充,他們能夠開發(fā)出更復雜與有趣的程序。如果你第一門語言精通,也是學習一門新語言的好時機。. 你會發(fā)現(xiàn)學習第二門語言時,學習速度比較快。一些核心的概念是通過語言再次呈現(xiàn)的,如果這些語言比較相似。 21 Enroll in a four year program.參加四年的課程 四年的大學學習計劃,讓你接觸不同的語言,和機會與更多的專家與學生接觸。但這個方法并不適用任何人,比如說很多成功的程序員并沒有上過大學。 22 Create a portfolio.制作個人簡歷 編寫程序的同時,也在擴展你的知識,確保你的所有好的作品寫入履歷中。在面試中你可以拋出你的履歷作為你的工作案例,主非常有說服力。這些作品可以是你利用自己時間做的作品,也可以是你參與其它公司的項目。 23 Do some freelance work.做一些特約的工作(兼職工作) 程序員是一個很大的自由職業(yè)市場的工種,特別是對于移動APP的開發(fā)者來說。找一個自由工作,體驗一下編程如何商業(yè)化。你可以通過自由市場構建你的履歷、發(fā)布你的工作。 24 Develop your own freeware or commercial programs.開發(fā)自己的免費或者商業(yè)化軟件 你也不一定非要就職于一家軟件公司才能掙錢。如果你有編程技能,你能夠自己開發(fā)軟件,并在自己的網(wǎng)站或者其它的商業(yè)網(wǎng)站上發(fā)布軟件出售它。不忘記要提供服務與后續(xù)的支持工作,因為顧客需要它來完成他們的工作. 發(fā)布免費軟件,是一種比較流行分發(fā)程序與工具的方式。開發(fā)者沒有任何收益,但這是打造網(wǎng)絡知名度并且讓社區(qū)可見的一種好的方法。 作者| 圖文來自網(wǎng)絡、如涉及版權問題,請聯(lián)系我們以便處理。文章內(nèi)容純屬作者個人觀點,不代表本網(wǎng)觀點。 |
|