Ⅰ 新手如何學習編程
剛開始學習編程語言,要怎麼去做,動手編寫一個編譯器,學習一下較為底層的編程方式,是一種學習計算機到底是如何工作的非常有效方法。編譯器通常被看作是十分復雜的工程。事實上,編寫一個產品級的編譯器也確實是一個龐大的任務。但是寫一個小巧可用的編譯器卻不是這么困難。
這個秘密是,首先介紹編程入門教程,找到盡可能小的項目,然後想要的功能加入。這種方法也意味著在他那篇著名的文章中提到的「一個編譯器構造的快捷方式」阿卜杜勒阿齊茲Ghuloum說。但是這種方法確實工作。只需要按照第一步操作本文中,可以得到一個真正可用的編譯器。當然,它只能被編譯的編程語言是非常小的子集,但它確實是一個真正的編譯器可用。你可以自由地擴展這個編譯器,然後了解更多,更深的了解。
從某種意義上來說這比寫一個scheme的編譯器要困難一些(因為必須去解析C那復雜的語法),但是在某些方面又很便利(不需要去處理運行時類型)。要寫這樣一個編譯器,只需要從那個可用的最小的編譯器開始。沒有變數,沒有函數調用,沒有額外的依賴,甚至連if語句,循環語句都沒有,一切看起來是那麼簡單。
踏出了編程入門教程第一步,接下去怎麼做就全看自己了。可以按照文章所指導的全部做一遍,然後製作一個更加復雜的編譯器。需要去寫一個更加精巧的語法樹來生成匯編代碼。接下去的幾步分別是:(1)允許返回任意的值(比如,return3; 一些可執行代碼);(2)添加對「非」的支持(比如,return ~1; 一些可執行代碼)。每一個額外的特性都可以教你關於C語言的更多知識,編譯器到底是怎麼執行的,以及世界上其他編寫編譯器的人是如何想的。這是構建 babyc 的方法。Babyc 現在已經擁有了if語句,循環,變數以及最基礎的數據結構。
下面給大家展示一下國內最權威的.net訓練營學習路線圖:
Ⅱ java該怎麼自學
在學java一定要問問自己喜歡嗎?只要喜歡一切沒問題,這是我的建議:多敲代碼,多敲代碼,多敲代碼,重要的事情說三遍
學習Java決不能聽完敲一遍就過,一定要多敲幾遍,第一遍可以跟著老師的思路,後面一定要有自己的思路,慢慢培養自己的編程思想和實現功能的邏輯。甚至可以自己給自己出題,完全靠自己實現一些有意思的小功能,對提升自己的能力和代碼熟練度都有不小的幫助。
多看視頻,多練習,主要是練習一些演算法的運用,建議下載一些編程練習題,一道一道弄通弄懂。經常做筆記,用記事本把一些經典問題保存下來,以備復習。
如果是零基礎的話,就看視頻,b站上高旗老師講得碰寬殲不錯,每看到視頻出現一段代碼就馬上在電腦上給他跑出來,不要直接拿源碼光碟來復制,不要把視頻看完半段了才開始敲代碼。這樣幾天後你會找到一些感覺,然後沒事就想些代碼來寫寫,比如想下怎樣把名字轉換成亂碼,然後再用另一個方法轉換回來,模擬步話機發送幾條消息巧攜什麼的。這樣下去不出3月你定牛逼,這時再把教材拿出來仔細看每一句話,掌握原理。
希望你早日學成,有苦笑沖惱一起討論一下。
Ⅲ 做游戲開發需要學什麼
如果是打算學習2D手游開發,那麼首先需要學習C++,然後,還要了解Cocos2dx的使用。3D游戲用的比較多的開發工具是unity3d引擎。unity3d開發用的是C#(javascript也用,但用的比較少),所以先要學會C#。
游戲開發主要分為2D游戲和3D游戲,2D游戲通常是為手機開發的,一般使用的開發工具是Cocos2dx,使用的開發語言是C++。
3D游戲一般使用的游戲開發工具是Unity3d,使用的開發語言是c#或者javascript。所以,想要開發哪種游戲,就必須知道需要用到哪些開發知識。
游戲製作一般主要分為兩大塊,即程序開發、美術設計。程序開發主要包括伺服器端開發、客戶端開發。而美術設計包括場景、角色、次時代、特效、動畫等部分,要完成一個優秀的游戲作品,每一部分都需有專業人才負責。
對於大型的游戲,一般需要幾十個人的團隊製作幾年,而小游戲則可能只需一個人製作幾天。
一般的大型游戲製作都會由游戲開發公司來完成,小型的游戲則有可能由業余團隊或者個人完成,如RPG製作大師此類軟體就可以讓不懂技術的人做出電腦游戲。
Ⅳ 我想學編程,應該從什麼地方開始
從認識什麼是編程開始
要學習編程,首先要了解什麼是編程。
理解了編程是什麼之後開始培養編程興趣,並選擇一門語言,這里比較推薦的是Java。
如果是自學拿來玩,單純培養興趣,陶冶情操的,還是推薦python。
然後便是要學習入門的編程知識,從零開始學習了。
我這里有一些Java和python學習的推薦,
學Java看這里:
先上一份計算機科學速成課,也不多,周末看看就看完了。不是很復雜的視頻,挺生動有趣的。看到啥程度呢?個人認為只要看到不太懂的地方暫停一下思考思考就可以了。
為啥看這個呢,看題主的問題描述,推測你還沒開始學習很多內容,那麼先來了解了解計算機科學大概是個什麼樣子的,對計算機科學有一個整體認識。沒准還能幫助找到你的興趣所在。畢竟計算機科學還是挺大范圍的。
編程學習隨時可以開始,其實沒有多少前期要求,可能無非就是耐心比較重要吧(比如不要一上來就被配置編程環境打趴下就不學了,實在不行先在線編程工具上手也行),你可能會碰到各種各樣的問題,有些坑甚至網上也找不到現成的答案(不過還是強調一下,初學者大部分問題還是能搜索到的,搜索能力對於計算機學習很重要!多鍛煉鍛煉,搜不到大多情況下是你關鍵詞沒用好,搜索技巧不行)。
關於求助別人,可以看下經典文章《提問的智慧》,用不了多久的。其實就是搞明白如果碰到問題怎麼請教別人,如何讓別人會更願意幫助你解答,以及更有效的幫助到你。
以高中生的知識水平和學習能力而言,是完全可以從主流編程語言選一門開始入坑的。可選的主要就是C,C++,Java,Python
我不認為太偏門的,或者適用面比較狹窄的語言作為編程小白的第一門語言。各種編程語言都有自己適用場景,雖然大家喜歡開玩笑PHP是最好的語言,但主流編程語言沒有啥高下之分,只是長處和短處各不相同而已。
當然,有充分理由,比如確定就是要學做網頁,那從JavaScript開始學習編程也是可以的。退一步說,第一門編程語言只要是主流編程語言都可以(啥叫主流編程語言,比如TIOBE排行榜上哪些,排名靠前的肯定是用的人多的)。
但是為什麼建議從這四種裡面選呢?
區別在於,C,C++這種語言,尤其是C(國內大學計算機類專業里,C基本是必學語言)是更接近底層和機器的語言,整個的思路很符合計算機的工作原理,從這倆入手,對理解計算機原理更有幫助。學習的過程中可能你會接觸到更多計算機原理的知識比如操作系統的內存管理,匯編層面的調用約定等,有利於更好地理解計算機工作原理。另外其實有C/C++基礎,學別的編程語言慢不到哪裡去的,甚至像Python這樣的可以一天學會基本語法。C++相對於C多出來的東西中,一個很重要的東西就是面向對象,C++, Java, Python都是支持面向對象編程的語言,面向對象是學編程遲早要了解和有必要掌握的一種編程方式。
這幾門編程語言到底選哪一個其實都無所謂,你想要全部試一遍也行(反正是嘗試嘛),甚至你想同時學習幾門語言也是完全可以的。不過先熟練一門語言,有需求了再學別的編程語言,可以和學過的語言對比學習,會發現自己學起來還是挺快的,畢竟已經學習了一些編程的思想。
比如我之前學C++,後來一直用Python比較多,有時要寫起來C++,寫個for循環順手就敲了個for i in range(100)出來(C++裡面是這樣寫的for (int i = 0; i < 100; i++)),但其實完全不必擔心同時學幾門語言會有啥副作用。 另外你真正開始學習編程之後其實慢慢的就會了解自己要學些什麼內容了。
據我了解(自己踩坑過2333)有一些那種編程啟蒙游戲,還是不要拿來學習編程了。高中生的智力程度(咳咳)正正經經上手編程就好,不用前期准備:)
還有一個小提示就是:Python真香,可以盡早開始學習,Python用起來相當方便順手,其包管理器pip也很方便使用,第三方庫十分豐富,想要實現什麼功能,用pip安裝對應的模塊很快就能開始coding,而不是花半天時間找第三方庫,安裝庫...... 無論是作為計算器用,還是寫點腳本幫你免去某些重復勞動,又或是想要驗證一些別的語言代碼的思路但又想偷懶(以上都是我經常乾的hahaha),Python都是極佳的選擇(正道の光)!
學習編程的過程中,初學者和已經入門的人的視野是不一樣的,先學起來,你才能看到更多的東西,了解計算機的各個方向。比如計算機圖形學,機器學習,軟體工程,當然也有硬體的,機器人呀,單片機呀,另外如果想當白帽子黑客,來學信息安全也是很不錯嘛。計算機的東西很多是觸類旁通的,你盡管學,慢慢的整個計算機科學的知識大樓就在你腦子裡面搭起來了。
Ⅳ 初學電腦編程需要什麼
初學電腦編程需要學習英語,選擇一門編程語言,要有數學基礎,具體介紹如下:
1、英語基礎
計算機英語與傳統的英語知識不同,需要了解的大部分是計算機的專業單詞或者詞彙,普遍較為簡單。但是在高級編程中,會出現比較生澀的詞彙,對於想要參與計算機語言設計以及在職業發展上有更多追求的同學可以自學一下大學英語。
2、選擇一門編程語言
選擇一門編程語言。雖然目前編程語言有600種左右,但是比較流行的編程語言只有幾十種,所以盡量選擇流行程度比較高的編程語言來入門編程。對於沒有明確編程場景的初學者來說,盡量選擇全場景編程語言,比如Java、Python、C#等就是不錯的選擇
3、數學基礎
當然擁有初中階段的數學基礎也可以成為一名合格的程序員,這也是目前很多計算機編程培訓學校招收初中畢業學生的原因。但想要成為一名優秀的程序員,最少要高中及以上的數學基礎,而且要懂得如何舉一反三,靈活運用。
4、了解計算機操作系統原理
所有的開發或者說軟體應用都是在特定的操作系統上進行的,所以計算機操作系統原理可以說是基礎中的基礎是必須要了解的。
5、數據結構和演算法
這門課程能夠決定一個人程序設計水平的高低,是學習過程中需要重點掌握的。C和C++都是可以選擇的,前期可以先學C,再學C++會相對簡單一些。
在學習編程語言的過程中,也需要同時學習計算機網路、資料庫等相關知識,在當前的雲計算和大數據時代背景下,還需要掌握如何通過雲計算(PaaS)來輔助開發,以及如何利用大數據平台的各種資源。