-
1 # 我是雙魚座2020
-
2 # 小翠你明明
剛開始就是自己瞎看,浪費了很多時間,後來一個在尚學堂培訓的同學,給發了一些他們機構的資料,確實免費的和收費的就是不一樣,我看他們的資料,半個月就完全入門了,實在是暫時沒考慮轉行,要不就直接去尚學堂培訓了
-
3 # elverys
You can code. They cannot. That is pretty damn cool.– Learn Python The Hard Way
在你學習程式設計之前思考一下你的目標,當你有最終目標時道路會更加的清晰。那麼,你想要寫什麼?網站?遊戲?iOS或者Android應用?或是你是想自動化完成一些乏味的任務讓你有更多的時間看窗外的風景?也許你只是想更具有就業競爭力找個好工作。所有的這些都是有價值的目標,這些目標都是你程式設計學習推動力的一部分,沒有推動力的人,是無法在略顯枯燥的漫長學習之旅中走遠的。
不要浮躁
Bad programming is easy. Even Dummies can learn it in 21 days. Good programming requires thought, but everyone can do it and everyone can experience the extreme satisfaction that comes with it.不管是線上下還是線上的書店,滿目都是《21天學通Java》這種速成書目,它們都承諾在很短一段時間內就讓你能夠學會相關技術。Matthias Felleisen在他的著作 How to Design Programs, Second Edition 一書中明確指出了這種「速成」的趨勢並予以了以上的諷刺。
所謂的「捷徑」或者說「銀彈」是不存在的,智者說過,精通某個東西需要10年或10000個小時,也就是漢語中的「十年磨一劍」,所以不用著急,功不唐捐。
培養興趣
Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.
– Linus Torvalds
沉醉於程式設計,程式設計更是為了興趣。興趣是推動力的不竭源泉,保持這種充滿興趣的感覺,以便於你能將其投入到你的10年/10000小時的程式設計時間中。程式設計很有趣,那是探索的喜悅。那是創造的喜悅。看到自己親手完成的作品顯示在螢幕上很有趣。有人為你的程式碼而驚歎很有趣。有人在公共場合稱讚你的產品、鄰居使用你的產品、以及在媒體上討論你的產品很有趣。程式設計應該十分有趣,若並非如此,就找出導致程式設計無趣的問題,然後解決之。
這幅圖取自 Douglas Hofstadter 的著作Gödel, Escher, Bach。圖中的每一個字母都由其他更小的字母組成。在最高層級,我們看的是"MU",M 這個字母由三個HOLISM(整全觀)構成,U則是由一個REDUCTIONISM(還原論)構成,前者的每一個字母都包含後者的後者整個詞,反之亦然。而在最低層級,你會發現最小的字母又是由重複的"MU"組成的。
每一層次的抽象都蘊含著資訊,如果你只是幼稚地單一運用整體論在最高層級觀察,或運用還原論觀察最低層級,你所得到的只有"MU"(在一些地區的方言中mu意味著什麼都沒有)。問題來了,怎樣才能儘可能多的獲取每個層級的資訊?或者換句話說,該怎樣學習複雜領域(諸如程式設計)包含的眾多知識?
教育與學習過程中普遍存在一個關鍵問題:初學者們的目標經常過於傾向整全觀而忽略了基礎,舉個常見的例子,學生們非常想做一個機器人,卻對背後的
理解物理模型 → 理解電子工程基礎 → 理解伺服系統與感測器 → 讓機器人動起來
這一過程完全提不起興趣。
在這裡對於初學者有兩個大坑:
如果初學者們只與預先構建好的「發動機和元件」接觸(沒有理解和思考它們構造的原理),這會嚴重限制他們在將來構建這些東西的能力,並且在診斷解決問題時無從下手。第二個坑沒有第一個那麼明顯:幼稚的「整體論」方法有些時候會顯得很有效,這有一定的隱蔽性與誤導性,但是一兩年過後(也許沒那麼長),當你在學習路上走遠時,再想回過頭來「補足基礎」會有巨大的心理障礙,你得拋棄之前自己狹隘的觀念,耐心地緩步前進,這比你初學時學習基礎知識困難得多。但也不能矯枉過正,陷入還原論的大坑,初學時便一心試圖做宏大的理論,這樣不僅有一切流於理論的危險,枯燥和乏味還會讓你失去推動力。這種情況經常發生在計算機科班生身上。
為了更好理解,可以將學習程式設計類比為學習廚藝:你為了燒得一手好菜買了一些關於菜譜的書,如果你只是想為家人做菜,這會是一個不錯的主意,你重複菜譜上的步驟也能做出不賴的菜餚,但是如果你有更大的野心,真的想在朋友面前露一手,做一些獨一無二的美味佳餚,甚至成為「大廚」,你必須理解這些菜譜背後大師的想法,理解其中的理論,而不僅僅是一味地實踐。但是如果你每天唯一的工作就是閱讀那些厚重的理論書籍,因為缺乏實踐,你只會成為一個糟糕的廚子,甚至永遠成為不了廚子,因為看了幾天書後你就因為枯燥放棄了廚藝的學習。
總之,程式設計是連線理論與實踐的紐帶,是計算機科學與計算機應用技術相交融的領域。正確的程式設計學習方法應該是:透過自頂而下的探索與專案實踐,獲得程式設計直覺與推動力;從自底向上的打基礎過程中,獲得最重要的通用方法並鞏固程式設計思想的理解。
作為初學者,應以後者為主,前者為輔。
啟蒙
「學程式設計應該學哪門語言?」這經常是初學者問的第一個問題,但這是一個錯誤的問題,你最先考慮的問題應該是「哪些東西構成了程式設計學習的基礎」?
程式設計知識的金字塔底部有三個關鍵的部分:
演算法思想:例如怎樣找出一組數中最大的那個數?首先你得有一個 maxSoFar 變數,之後對於每個數…語法:我怎樣用某種程式語言表達這些演算法,讓計算機能夠理解。系統基礎:為什麼 while(1) 時執行緒永遠無法結束?為什麼 int *foo() { int x = 0; return &x; } 是不可行的?啟蒙階段的初學者若選擇C語言作為第一門語言會很困難並且枯燥,這是因為他們被迫要同時學習這三個部分,在能做出東西前要花費很多時間。
因此,為了儘量最小化「語法」與「系統基礎」這兩部分,建議使用 Python 作為學習的第一門語言,雖然Python對初學者很友好,但這並不意味著它只是一個「玩具」,在大型專案中你也能見到它強大而靈活的身影。熟悉Python後,學習C語言是便是一個不錯的選擇了:學習C語言會幫助你以靠近底層的視角思考問題,並且在後期幫助你理解作業系統層級的一些原理,如果你只想成為一個普通(平庸)的開發者你可以不學習它。
下面給出了一個可供參考的啟蒙階段導引,完成後你會在頭腦中構建起一個整體框架,幫助你進行自頂向下的探索。
完成 Codecademy 的 Python 部分。這只是熱身部分,儘快完成它,因為你永遠只是在瀏覽器裡,你不會學到如何搭建開發環境。在 Codecademy 這類的程式設計學習網站學到的那點兒東西,哪怕你只想做一個小的不能再小的專案,你都不知道該從哪兒開始。完成 MIT 6.00.1x(中文化)(如果你英語不過關,完成麻省理工學院公開課:計算機科學及程式設計導論。MOOC 是學習程式設計的一個有效途徑。雖然該課程的教學語言為Python,但作為一門優秀的導論課,它強調學習計算機科學領域裡的重要概念和正規化,而不僅僅是教你特定的語言。如果你不是科班生,這能讓你在自學時開闊眼界;課程內容:計算概念,python程式語言,一些簡單的資料結構與演算法,測試與除錯。支線任務:完成Python核心程式設計完成 Harvard CS50 (如果你英語不過關:完成哈佛大學公開課:計算機科學 cs50 。同樣是導論課,但這門課與MIT的導論課互補。教學語言涉及 C, PHP, JavaScript + SQL, HTML + CSS,內容的廣度與深度十分合理,還能夠了解到最新的一些科技成果,可以很好激發學習計算機的興趣。支線任務:閱讀《編碼的奧秘》完成《C語言程式設計》[可選] 如果你的目標是成為一名 Hacker:閱讀 Hacker"s DelightPS:如果教育物件還是一個孩子,以下的資源會很有幫助:
5-8歲: Turtle Academy8-12歲:Python for Kids12歲以上: MIT Scratch 或 KhanAcademy入門
結束啟蒙階段後,初學者積累了一定的程式碼量,對程式設計也有了一定的瞭解。這時你可能想去學一門具體的技術,諸如Web開發,Android開發,iOS開發什麼的,你可以去嘗試做一些儘可能簡單的東西,給自己一些正反饋,補充自己的推動力。但記住別深入,這些技術有無數的細節,將來會有時間去學習;同樣的,這時候也別過於深入特定的框架和語言,現在是學習計算機科學通用基礎知識的時候,不要試圖去抄近路直接學你現在想學的東西,這是註定會失敗的。
那麼入門階段具體該做些什麼呢?這時候你需要做的是反思自己曾經寫過的程式,去思考程式為什麼(Why)要這樣設計?,思考怎樣(How)寫出更好的程式?試圖去探尋理解程式設計的本質:利用計算機解決問題。
設想 :
X = 用於思考解決方案的時間,即「解決問題」 部分
Y = 用於實現程式碼的時間,即「利用計算機」部分」
程式設計能力 = F(X, Y) (X>Y)
要想提高程式設計能力,就得最佳化 X,Y 與函式 F(X, Y),很少有書的內容能同時著重集中在這三點上,但有一本書做到了——Structure and Interpretation of Computer Programs(SICP)《計算機程式的構造和解釋》,它為你指明瞭這三個變數的方向。在閱讀SICP之前,你也許能透過呼叫幾個函式解決一個簡單問題。但閱讀完SICP之後,你會學會如何將問題抽象並且分解,從而處理更復雜更龐大的問題,這是程式設計能力巨大的飛躍,這會在本質上改變你思考問題以及用程式碼解決問題的方式。此外,SICP的教學語言為 Scheme,可以讓你初步瞭解函數語言程式設計。更重要的是,他的語法十分簡單,你可以很快學會它,從而把更多的時間用於學習書中的程式設計思想以及複雜問題的解決之道上。
Peter Norvig 曾經寫過一篇非常精彩的SICP書評,其中有這樣一段:
To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate SICP are the ones who just want to know how to drive their car on the highway, just like everyone else.如果你是文中的前者,閱讀SICP將成為你銜接啟蒙與入門階段的關鍵點
雖然SICP是一本「入門書」,但對於初學者還是有一定的難度,以下是一些十分有用的輔助資源:
Udacity CS212 Design of Computer Program): 由上文提到的Google研究主管Peter Norvig 主講,教學語言為 Python,內容有一定難度。How to Design Programs, Second Edition:HtDP的起點比SICP低,書中的內容循循善誘,對初學者很友好,如果覺得完成SICP過於困難,可以考慮先讀一讀HtDP。UC Berkeley SICP授課影片以及 SICP 的兩位作者給 Hewlett-Packard 公司員工培訓時的錄影(中文化專案)Composing Programs:一個繼承了SICP思想但使用Python作為教學語言的程式設計導論(其中包含了一些小專案)SICP 解題集:對於書後的習題,作為初學者應盡力並量力完成。完成了這部分學習後,你會逐步建立起一個自己的程式設計模型,你的腦子裡不再是一團亂麻,你會意識到記住庫和語法並不會教你如何解決程式設計問題,接下來要學些什麼,在你心裡也會明朗了很多。這時候才是真正開始進行專案實踐,補充推動力的好時機。
關於專案實踐:對於入門階段的初學者,參與開源專案還為時過早,這時候應該開始一些簡單的專案,諸如搭建一個網站並維護它,或是編寫一個小遊戲再不斷進行擴充套件,如果你自己的想法不明確,Mega Project List 中選取專案。總之,務必在這時拿下你專案實踐的第一滴血。
與此同時,別忘了繼續打好根基。為了將來的厚積薄發,在下面這幾個方面你還要繼續做足功課(注意:下面的內容沒有絕對意義上的先後順序):
計算機系統基礎
有了之前程式設計的基礎後,想更加深入地把握計算機科學的脈絡,不妨看看這本書:《深入理解計算機系統》 Computer Systems A Programmer"s Perspective。這裡點名批評這本書的中譯名,其實根本談不上什麼深入啦,這本書只是 CMU的「計算機系統導論」的教材而已。CMU的計算機科學專業相對較偏軟體,該書就是從一個程式設計師的視角觀察計算機系統,以「程式在計算機中如何執行」為主線,全面闡述計算機系統內部實現的諸多細節。
如果你看書覺得有些枯燥的話,可以跟一門 Coursera 上的 MOOC: The Hardware/Software Interface,這門課的內容是 CSAPP 的一個子集,但是最經典的實驗部分都移植過來了。同時,可以看看 The C Programming Language,回顧一下C語言的知識。
完成這本書後,你會具備堅實的系統基礎,也具有了學習作業系統,編譯器,計算機網路等內容的先決條件。當學習更高階的系統內容時,翻閱一下此書的相應章節,同時程式設計實現其中的例子,一定會對書本上的理論具有更加感性的認識,真正做到經手的程式碼,從上層設計到底層實現都瞭然於胸,並能在腦中回放資料在網路->記憶體->快取->CPU的流向。
此外,也是時候去接觸 UNIX 哲學了: KISS - Keep it Simple, Stupid. 在實踐中,這意味著你要開始熟悉命令列介面,配置檔案。並且在開發中逐漸脫離之前使用的IDE,學會使用Vim或Emacs(或者最好兩者都去嘗試)。
閱讀 《UNIX程式設計環境 》閱讀《UNIX程式設計藝術 》折騰你的 UN*X 系統資料結構與演算法基礎
如今,很多人認為程式設計(特別是做web開發)的主要部分就是使用別人的程式碼,能夠用清晰簡明的方式表達自己的想法比掌握硬核的數學與演算法技巧重要的多,資料結構排序函式二分搜尋這不都內建了嗎?工作中永遠用不到,學演算法有啥用啊?這種扛著實用主義大旗的「碼農」思想當然不可取。沒有紮實的理論背景,遭遇瓶頸是遲早的事。
資料結構和演算法是配套的,入門階段你應該掌握的主要內容應該是:這個問題用什麼演算法和資料結構能更快解決。這就要求你對常見的資料結構和演算法了熟於心,你不一定要敲程式碼,用紙手寫流程是更快的方式。對你不懂的資料結構和演算法,你要去搜它主要拿來幹嘛的,使用場景是什麼。
供你參考的學習資源:
《演算法導論 》:有人說別把這本書當入門書,這本書本來就不是入門書嘛,雖說書名是 Introduction to Algorithms,這只不過是因為作者不想把這本書與其他書搞重名罷了。當然,也不是沒辦法拿此書入門,讀第一遍的時候跳過習題和證明就行了嘛,如果還覺得心虛先看看這本《資料結構與演算法分析》Coursera Algorithms: Design and Analysis [Part 1] & [Part 2]: Stanford 開的演算法課,不限定語言,兩個部分跟下來演算法基礎基本就有了;英語沒過關的:麻省理工學院公開課:演算法導論入門階段還要注意培養使用常規演算法解決小規模問題的能力,結合前文的SICP部分可以讀讀這幾本書:《程式設計珠璣 》,《程式設計實踐 》程式語言基礎
Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut. Additionally, learning many languages is far easier now, thanks to the wealth of freely available software on the Internet- The Pragmatic Programmer
此外還要知道,學習第n門程式語言的難度是第(n-1)門的一半,所以儘量去嘗試不同的程式語言與程式設計正規化,若你跟尋了前文的指引,你已經接觸了:「乾淨」的指令碼語言 Python, 傳統的命令式語言 C, 以及浪漫的函式式語言 Scheme/Racket 三個好朋友。但僅僅是接觸遠遠不夠,你還需要不斷繼續加深與他們的友誼,並嘗試結交新朋友,美而雅的 Ruby 小姑娘,Hindley-Milner 語言家族的掌中寶 Haskell 都是不錯的選擇。但有這麼一位你躲不開的,必須得認識的大夥伴 — C++,你得做好與他深交的準備:
入門:C++ Primer[可選] 進階:高效使用:Effective C++深入瞭解:《深度探索C++物件模型》;C++Templates研究反思:The Design and Evolution of C++ ;對於C++這個 Necessary Evil ,看這本書可以讓你選擇是成為守夜人還是守日人。現實是殘酷的,在軟體工程領域仍舊充斥著一些狂熱者,他們只掌握著一種程式語言,也只想掌握一種語言,他們認為自己掌握的這門語言是最好的,其他異端都是傻X。這種人也不是無藥可救,有一種很簡單的治療方法:讓他們寫一個編譯器。要想真正理解程式語言,你必須親自實現一個。現在是入門階段,不要求你去上一門編譯器課程,但要求你能至少實現一個簡單的直譯器。
供你參考的學習資源:
《程式設計語言-實踐之路》:CMU程式語言原理的教材,程式語言入門書,現在就可以看,會極大擴充套件你的眼界,拉開你與普通人的差距。Coursera 程式語言MOOC:課堂上你能接觸到極端FP(函式式)的SML,中性偏FP的Racket,以及極端OOP(面向物件)的Ruby,並學會問題的FP分解 vs OOP分解、ML的模式匹配、Lisp宏、不變性與可變性、直譯器的實現原理等,讓你在將來學習新語言時更加輕鬆並寫出更好的程式。Udacity CS262 Programming Language:熱熱身,教你寫一個簡單的瀏覽器——其實就是一個javascript和html的直譯器,完成後的成品還是很有趣的;接下來,試著完成一個之前在SICP部分提到過的專案:用Python寫一個 Scheme Interpreter其他
程式設計入門階段比較容易忽視的幾點:
學好英語:英語是你獲取高質量學習資源的主要工具,但在入門階段,所看的那些翻譯書資訊損耗也沒那麼嚴重,以你自己情況權衡吧。此外英語的重要性更體現在溝通交流上,Linus Torvalds一個芬蘭人,一口流利的英語一直是他招募開發者為Linux幹活的的法寶,這是你的榜樣。學會提問:學習中肯定會遇到問題,首先應該學會搜尋引擎的「高階搜尋」,當單靠檢索無法解決問題時,去Stack Overflow 或知乎 提問,提問前讀讀這篇文章:What have you tried?不要做一匹獨狼:嘗試搭建一個像這樣簡單的個人網站,不要只是一個孤零零的About頁面,去學習 Markdown 與 LaTeX,試著在Blog上記錄自己的想法,並訂閱自己喜歡的程式設計類部落格。推薦幾個供你參考:Joel on Software,Peter Norvig, Coding Horror小結
以上的內容你不應該感到懼怕,程式設計的入門不是幾個星期就能完成的小專案。期間你還會遇到無數的困難,當你碰壁時試著嘗試「費曼」技巧:將難點分而化之,切成小知識塊,再逐個對付,之後透過向別人清楚地解說來檢驗自己是否真的理解。當然,依舊會有你解決不了的問題,這時候不要強迫自己——很多時候當你之後回過頭來再看這個問題時,一切豁然開朗。
此外不要侷限與上文提到的那些材料,還有一些值得在入門階段以及將來的提升階段反覆閱讀的書籍。The Pragmatic Programmer 就是這樣一本程式設計師入門書,終極書。有人稱這本書為程式碼小全:從DRY 到 KISS,從做人到做程式設計師,這本書教給了你一切,你所需的只是遵循書上的指導。
後記如果你能設法完成以上的所有任務,恭喜你,你已經真正實現了程式設計入門。這意味著你在之後更深入的學習中,不會畏懼那些學習新語言的任務,不會畏懼那些「複雜」的API,更不會畏懼學習具體的技術,甚至感覺很容易。當然,為了掌握這些東西你依舊需要大量的練習,腰還是會疼,走路還是會費勁,一口氣也上不了5樓。但我能保證你會在思想上有巨大的轉變,獲得極大的自信,看老師同學和 csdn 的眼光會變得非常微妙,雖然只是完成了程式設計入門,但已經成為了程式設計師精神世界的高富帥。不,我說錯了,即使是高富帥也不會有強力精神力,他也會懷疑自己,覺得自己沒錢就什麼都不是了。但總之,你遵循指南好好看書,那就會體驗「會當凌絕頂」的感覺。
-
4 # 八哥無窮穌
1. 列出您想解決的問題,然後打聽一下哪種語言可以更容易地解決它們。
2. 選好語言後自然就是找這個語言的官方文件瞭解情況。
3. 照著寫示例程式碼。必須自己敲出來!
4. 語法都學會後,請回到 1,把您自己的問題用這門語言解決。
-
5 # 劉L娟
C語言語法簡單,有良好的邏輯抽象,入門的話還是先面向過程吧,不要剛學就面向物件雲裡霧裡的,如果是要更全面、深入的學習語言本身就C.python語法更加簡單簡潔易學,而且有各種強大的庫,擴充套件庫,可過程可物件,如果是為了透過程式設計這一手段來迅速的做出有用、實用的程式和介面可以學python。入門是從Basic語言開始的,大概熟悉程式的基礎語法與邏輯後,進階C語言。現代很多語言都是從C語言發展而來的,所以可以以C語言做跳板進階其他面向物件的高階語言。慢慢接觸C++,或高階程式語言(如:Net,Java 等),網頁設計相關的語言(HTML+CSS+Javascript)。程式設計入門後,其實學什麼語言已經不太重要了(主要看計劃的發展方向)。程式設計的核心在於其邏輯。把程式設計的邏輯搞懂了,學什麼語言都很快。
1、首先要對程式設計有個比較大概的瞭解,程式設計的物件,程式設計的原理,程式設計的目的等等。推薦大家去中國大學MOOC學習基礎內容“計算機科學導論”
2、在瞭解程式設計基本知識後,要想想自己學習程式設計後到底要幹什麼以確定學習的方向。比如說是想要開發手機app,網站開發,企業系統等等。選擇當前應用最廣泛,最容易找到工作的一門語言來學習。如Java/C++/Python/.Net/PHP,他們應用極其廣泛,找工作也非常容易。
3、當基礎教程學習完畢之後,可以找尋一些自己感興趣的小專案來練習,同時結實一些夥伴共同學習進步,比如論壇啊,CSDN部落格啊,QQ群等等。有很多外包網站提供這些小專案,比如各種威客網站。
-
6 # 安小澤161128099
從零開始學程式設計,第一關就是要選擇你所要學習的程式語言。面對著琳琅滿目的程式語言,初學者常常一籌莫展,拿不定主意,不知該選哪種好。在這裡,給初學程式設計的朋友幾點參考意見。
首先,儘量避免選擇過於冷門的程式語言,最好在比較常用的程式語言中挑選一個,像 java、c、c++、c#、vb等等。過於冷門的語言由於學習的人不多,相對來說學習資源較少,今後想要深入研究則會是個難題。
初學程式設計,一個稱手的整合開發環境(即 IDE)很重要。一個用著順手的整合開發環境,可以讓我們在其中方便直觀地編輯、除錯、最佳化程式碼。
對於初學者,推薦大家使用微軟的 visual studio 系列。如果你是 win7或win8/8.1的系統,可以使用 visual studio 2013;如果是win xp的系統或者電腦效能較差,可以使用 visual studio 2005。
對於程式設計的入門書籍,大家可能蘿蔔青菜各有所愛。在這裡,就不具體地提書名了,只是提醒大家挑選時注意以下幾點。
作為一本程式設計的入門書籍,它應該是比較詳細地介紹該門程式語言的知識點的,用詞清晰精準,而不是一筆帶過。因此,它應該有一定的厚度。至於過於籠統的程式設計書,往往看過之後仍然是一頭霧水,什麼也學不到,而且容易混淆概念。
其次,該書最好每節附帶一些習題,以便儘早的熟悉語法,及時鞏固所學知識。在此提醒大家注意,學習程式設計,上機練手非常重要,光是看書是很難學會的。
網際網路是個好東西,對於學習程式設計來說尤其如此。在網上,你不僅可以搜尋需要的程式設計資料,還可以與世界上其他的程式設計愛好者一起交流,互相取長補短,共同進步。
回覆列表
首先要想學程式設計,選一門合適的計算機語言就十分重要了,怎麼去選擇就顯得尤為重要了,這要根據自己的興趣愛好及每個語言的特性來選擇,比如說PHP適合做web開發,易學習,易上手,非常流行的一門計算機語言了,我個人比較推薦php語言。
java可以做web開發,做安卓app開發也用的是java, 在學習程度上上可能比php稍微難上手一點,不過也是沒問題的,如果對java感興趣可以嘗試一下。
python是目前比較火的一門語言了,比較適合做人工智慧領域,另外寫網路爬蟲類的程式,用python也是非常合適的了,看個人興趣來選擇了。
c,c++,c#這些語言就不推薦給了,特別是c#,已經是比較過時的一門語言了,即使學習好了,也不太適合去找工作,c與c++並不是十分適合初學者來學習,因此也是沒必要進行考慮了,還有一些更小眾的語言,更是沒有必要去考慮,因此關於語言的學習就從上面3種語言去選擇一門自己所感興趣的吧!
研發搭建環境
如果選擇好計算機語言,那麼接下來就是研發環境的搭建了,因為只有研發環境搭建好了,才可以進行後續的程式設計工作,比如說PHP,那麼就從百度上搜一下如何安裝PHP環境,能搜出一些簡單的教程,初學者按照教程一步一步來,頂多半天時間就可以把研發環境裝好了,如果是java,就需要先安裝jdk,進行環境變數的配置等,網上也有相關的教程,也是十分容易的,相信大家只要按照教程來做,都可以很輕易的把研發環境搭建起來的
選好影片和書籍,輔助學習。既然是零基礎學習,就需要進行系統的學習,而不是到處百度零基礎的知識點進行學習。
程式碼練習
跟隨教程一個一個章節的進行學習,需要注意的一點就是不能只是去看,那樣不行,要對每一個章節的知識點要親自用程式碼敲一遍,執行一下試試效果才行,這樣才能提高自己的動手能力,才開始會覺得有一點生疏,慢慢的就會熟練起來,逐漸會增加程式設計的興趣。這個過程就是需要反覆的進行練習,大量的程式碼練習才行。這個過程是5步中最關鍵的階段了,重在程式碼親自練習,對程式設計中有的章節不明白的地方,千萬不要放過去,可以在網上找一些相關的程式設計交流群,參加進去,在線上諮詢一些過來人,也許就可以輕鬆幫你解決疑問了,對你的學習十分幫助,並且整個過程也都是免費的。
專案實戰
如果說基礎教程都按部就班的都實踐過一遍了,那麼你就有一定的程式設計的基本功了,那麼自己就可以嘗試著做一些小專案,把學到的知識給串起來,進入專案實戰階段,比如說自己設計一個學生管理系統,並把它完成,如果不瞭解怎麼設計,可以去網上搜索。慢慢就有思路了。
我也在學習這方面,影片書籍看過不少,最推薦的還是北京尚學堂的學習資料,Java.300集,Python400集,都是很經典的入門基礎教程,而且是結合專案學習的,很有意思,乾貨滿滿,還都是免費的,推薦你可以去看看,相信可以帶你走進變成的世界。