當前位置:首頁 » 編程軟體 » 自學編程之路

自學編程之路

發布時間: 2022-04-19 02:54:47

Ⅰ 自學編程之路該從哪步開始

其實編程並不是很難自學編程也是可以的,但有些東西不太好懂啊。 你要先學c語言,用c學習編程的方法。方法最重要。只要方法會了,剩下就是你用什麼語言的問題的。
我就是一個程序員,記住可以去記一些經典的程序,但不要去大量的背。還是那句話,方法最重要。我建議你去參見一些培訓,這樣有助於你學習。

Ⅱ 如何快速學習編程有哪些學習方法

對於初學者來說,可以採用視頻+書籍的方式進行學習。這兩種方式形成互補關系。

編程教學視頻可以讓你迅速掌握編程,但通常比較生動、淺顯,不成系統。而書本是比較系統,深入,但是枯燥,所以最好的方法是書和視頻結合。

反復練習

編程是一門手藝,需要反復練習,脫離書本和視頻看是否能獨立實現?學到最後的境界無非就是:我亦無他,惟手熟爾。

PHP從入門到放棄,C語言從入門到放棄,java從入門到放棄...

在自學編程的過程中,一部分程序員遇到冰冷的英語字母,枯燥的編程教程,果斷選擇了放棄。

但其實自學編程不是那麼難,只要是理工科生、邏輯思維還行的小夥伴,編程入門完全可以

Ⅲ 程序員入門:如何自學編程

首要之首:不要急於選擇一種語言 新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 我們有很多的選擇,但你不能說那種語言「最好」。 我們應該理解:說到底,什麼語言並不重要。 重要的是理解數據結構、控制邏輯和設計模式。 任何一種語言—甚至一種簡單的腳本語言—都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。 我正在攻讀我的計算機學學位,我編程使用Pascal,匯編,和C語言,事實上我從來沒有把它當成職業以求獲得回報。 我一直在自學編程,工作上用不到它,我使用現有的知識,參考各種文檔和書本,學習它們的用法。 因此,不要急於選擇何種編程語言。 找出你想要開發的東西,使用一種能夠完成這項任務的語言,這就可以了。 根據各種開發平台的不同,有很多不同的軟體開發形式可供你選擇:從網站應用到桌面軟體到智能手機軟體到命令行腳本工具。 這篇文章里,我將重點介紹一些很受歡迎的入門教程和資源,它們能幫助你學會如何在各種主流的平台上編程開發。 我先假設你是一個悟性很強的讀者,但對於新手,當我談論程序代碼時還是要按照入門級的水平。 因為即使是你自己看一篇編程入門手冊,如果發現都能理解時,心情自然會很高興,這樣利於你進一步學習。 桌面腳本 想要動手在Windows里或蘋果系統里編程,最簡單的方法是從一種腳本語言或宏語言開始,例如AutoHotkey(Windows) 或Automator(蘋果系統)。 如今一些硬體程序員沖著他們的屏幕大喊大叫,說AHK和AppleScript並不是「真正」的編程語言。 也許他們說的是對的—技術上,這些種類的語言只能做一些上層的編程。 但是對於那些只是想來脫盲、想在他們的電腦里實現一些能自動運行的程序的新手來說,這些語言會是一個絕妙的入門入口—而且你會吃驚於它們豐富的功能。 例如,大家都喜愛的Texter就是Adam使用AutoHotkey開發的能獨立運行的Windows應用程序,所以說這種腳本語言遠不是只能開發小規模腳本軟體。 如果你想從AutoHotkey入手,可以參考Adam的指導:how to turn any action into a keyboard shortcut using AutoHotkey(然後,你可以下載Texter源代碼看看這個功能齊全的使用AHK開發的Windows應用程序的內部結構)。 Web開發 HTML 和 CSS:開發網站,你第一件要知道的事情就是HTML(網頁就是由它組成的)和CSS(一種讓外觀更好看的樣式標記)。 HTML 和 CSS 並不是編程語言—它們只是頁面的結構和樣式信息。 然而,在開始開發web應用程序之前你必須要學會如何手工的編寫簡單的HTML和CSS,web頁面是任何webapp的前端顯示部分。 這個HTML 指導是你入手的好地方。 JavaScript:當你可以通過HTML和CSS構建一個靜態頁面後,事情就開始變得有趣了—因為到了該學JavaScript的時候了。 JavaScript是一種web瀏覽器上的編程語言,它的魔力就是能在頁面里製造一些動態效果。 JavaScript可以做bookmarklets,Greasemonkey腳本, 和Ajax, 所以它是web上各種好東西的關於因素。學習JavaScript從這里開。 伺服器端腳本:一旦你學會了網頁里的知識,你就要開始對它添加一些動態伺服器操作—為了實現這些,你需要把目光轉移到伺服器端腳本語言,例如PHP, python, Perl, 或 Ruby。 舉個例子,如果想要製作一個網頁形式的聯系方式表單,根據用戶的輸入發送郵件,你就需要使用伺服器端腳本來實現。 像PHP這樣的腳本語言可以讓你跟web伺服器上的資料庫進行溝通,所以如果你想搭建一個用戶可以登錄注冊的網站,這樣的語言正是你需要的。Webmonkey是一個優秀的web開發資源網站,裡面有大量的各種web編程語言的指導手冊。 閱讀一下他們的PHP 初學者指南。 當你感覺差不多了的時候,看看WebMonkey』s PHP and MySQL tutorial學習如何使用PHP跟資料庫交互。 網上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論注釋,這些對於文檔的本身是非常有價值的。 (我很喜歡PHP,但還有很多其他種伺服器端的腳本語言你們都可以選擇。) Web框架:過去數年裡,web開發人員在開發動態網站的過程中不得不一遍又一遍的針對重復遇到的問題寫出重復的代碼。 為了避免這種每次開發一些新網站都會重復勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重復性的工作。 非常流行的Ruby on Rails框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的(而且是嘆為觀止的!)web應用程序,MixTape.me。這就是他的如何在沒有任何經驗的情況下搭建一個網站。還有一些其他的web開發框架包括CakePHP(針對 PHP 編程者),Django(針對 Python 編程中), 以及jQuery(針對 JavaScript). Web APIs:API (應用層序編程介面)是指不同的軟體之間相互交換的程序途徑。 例如,如果你想在你的網站上放一個動態的地圖,你可以使用Google Map,而不需要開發自己的地圖。The Google Maps API可以輕松的讓你通過JavaScript在程序中引入一個地圖到你的頁面上。 幾乎所有的現代的你所知道的和喜愛的web服務都提供了API,通過這些API你可以獲取到他們的數據和小工具,在你的應用程序里就可以使用這些交互過來的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個列表遠不止這些。 通過API把其他web應用集成到你的web應用里是現在富web開發的前沿地帶。 每個優秀的主流的web服務API都附帶有完整的文檔和一些快速入手的指導(例如,這個就是Twitter的)。 瘋狂吧。 命令行腳本 如果你想開發一個程序,讓它讀取文字或文件、輸入輸出一些有用的東西,那麼,命令行腳本語言將是個不錯的選擇。 然而它並不像web應用程序和桌面應用程序那樣有吸引力和好看的外觀,但是作為快速開發的腳本語言,你卻不能忽視它們。 很多的在linux平台上運行的web腳本同樣能以命令行模式運行,例如Perl,Python和PHP,所以如果你學會了使用它們,你將能在兩種環境中使用它們。 我的學習道路一直沒離開Perl太遠,我自學Python使用的是這本優秀的在線免費書Dive into Python。 如果成為一個Unix高手也是你學習的目標,那麼你絕對要精通bash這個腳本語言。 Bash是Unix和Linux環境下的一種命令行腳本語言,它能夠為你做所以的事情:從自動備份資料庫腳本到功能齊全的用戶交互程序。 起初我沒有任何使用bash腳本的經驗,但最終我用bash開發了一個全功能的個人代辦任務管理器:Todo.txt CLI。 插件(Add-ons) 如今的web應用程序和瀏覽器都可以通過一些擴展軟體來豐富自己的功能。 由於一些現有的軟體,例如Firefox、WordPress越來越受到開發人員的關注,插件的開發也日益流行,人們都在說「But if only it could do THIS…」 只要你掌握了HTML,JavaScript和CSS,你就可以在任何的瀏覽器里開發你想要的很多東西。 Bookmarklets,Greasemonkeyuser scripts, 和Stylishuser styles這些軟體都是用的更普通頁面一樣的語言寫成的, 這幾個東西都值得你去研究一些。 更高級的瀏覽器擴展程序,例如Firefox的擴展,它們可以幫助你很多。 開發Firefox的擴展,舉個例子,需要你精通JavaScript和XML(一種標記語言,類似HTML,但具有更嚴格的格式)。 早在2007年我就寫下來how to build a Firefox extension, 這是我在笨手笨腳的研究網上的一些學習資料後獲得的成果。 很多免費的、受歡迎的web應用程序都提供了擴展框架,例如WordPress 和 MediaWiki。 這些應用程序都是用PHP寫成的,所以只有對PHP熟悉你才能做這些事情。 這個就是如何編寫WordPress插件。 而想駕馭Google Wave前沿技術的開發人員可以從使用HTML, JavaScript, Java, 和 Python 寫小組件和小工具開始。 我寫的第一個Wave bot是跟著這個一個下午時間的快速入門指導開始的。 開發桌面上的Web應用程序 學習編程最好的結果是你在一個環境下學的東西可以應用到另外的環境中。 先學習開發web應用程序的好處就是我們有一些方法可以讓web應用程序直接在桌面上運行。 例如,Adobe AIR是一個跨平台的即時運行平台,它能讓你編寫的程序運行在任何裝有AIR的操作系統的桌面上。 AIR應用程序都是由HTML, Flash, 或 Flex 寫成的,所以它能讓你的web程序在桌面環境中運行。 AIR是開發部署桌面應用程序的一個優秀的選擇,就像我們提到過的10個讓你值得去安裝AIR的應用程序。 移動應用開發 能在iPhone或者Android智能手機上運行的手機應用程序的開發如今正呈現井噴之勢,所以你也可以夢想一下如何在iTunes應用商店裡通過你的天才程序大賺一筆。 但是,作為一個編碼新手,直接奔向移動開發所經歷的學習曲線可能會很陡,因為它需要你熟悉高級的編程語言,例如Java和Objective C。 然而,你當然應該看看iPhone 和 Android 編程究竟是什麼樣子的。 閱讀這個簡單的iPhone應用開發例子可以初步認識一下iPhone程序的開發過程。 Android 程序都是由Java寫成的,這有一個簡單的視頻教程教你如何開發第一個」Hello Android「程序(註:可能需要代理才能看這個視頻)。 耐心,刻苦,嘗試,失敗 好的程序員都有一個不達目的誓不罷休的品質,他們會驚喜於通過長期推敲和失敗換來的一點成績。 學會編程會有很好的回報的,但是學習的過程可能會是飽受挫折和孤獨的。 如果有可能,最好找個伴一起陪你做這件事。 想精通編程,這和其他事情一樣,需要堅持,反復嘗試,獲得更多的經驗。

Ⅳ 編程入門先學什麼

C語言。

編程入門在大雪中常常以C語言作為編程的入門語言, BASIC是初學者通用符號指令代碼的縮寫,是國際上廣泛使用的一種計算機高級語言。所以編程入門可以先從C語言學習開始。

電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。

(4)自學編程之路擴展閱讀:

注意事項:

不要死摳語法:初學者最容易犯的錯誤就是抱著一本大書死摳語法,結果語法倒是很熟,程序還是一行都不會寫,學習的積極性也受到很大打擊。學習編程,語法是最不重要的,最重要的是思路。

盡早接觸標准庫:標准庫的概念接觸越早越好,要把使用標准庫作為天經地義的事情,作為編程習慣,能用的地方一定要用。

Ⅳ 如何高效自學編程

一 ,怎樣學習C語言

很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?我是一個大學生,已經開發了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經過這些年的開發,我深深的體會到C語言對於一個程序設計人員多麼的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優秀高效的程序,這簡直就是天方夜譚。為什麼C語言如此重要呢?

第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述演算法,大多數的程序員願意使用C語言去描述演算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。

第二:C語言能夠讓你深入系統底層,你知道的操作系統,哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。

第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,考試都是考C語言,你想加入it行業,那麼就一定要掌握好C語言。

那麼究竟怎樣學習C語言呢?

1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。

2:葵花寶典
學習計算機語言最好的方法是什麼?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。

3:登峰造極
寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去挨個問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書。[編輯:趙晉軍]

二,語言學習方法

談談偶的學習方法,拋磚引玉!
學習不論講不講方法,最終都能學會。但是別人1個月學會了,而你卻100年才學會,這不就晚了么?:)所以說,學習還是要講究方法的。學習方法正確,事半功倍;學習方法不正確,事倍而功半。

什麼才是學習C語言的捷徑?我的答案是看書。書中所寫,是前人數十年經驗所寫,看十本書,就相當於汲取了前人數十年的功力,那麼你的內功也會迅速上升1甲子。:)書當然要看好書,只有好書才營養豐富。假如你花了1天時間看了一本破書,而該書介紹的知識雖然對於你來說是全新的知識,但是由於書中組織不當、或者深度不夠,使你獲取的營養很少,還不如自己研究一天來的快,這種書就不值當看了。學習C語言要看那些好書?我認為首先要把基礎書給看扎實了,比如《C語言之四書五經》中介紹的4本。(雖然這些書很多已經絕版了,但我相信電子版也是很有益處。況且,如果你真的想看,我相信你一定有辦法搞的到。)這些書你會在很短的時間內看完(比如一兩個月),這取決於你的基礎和悟性。之後要看那些書呢?我不妨再列幾本。Bjarne Stroustrup的《C++程序設計語言》(The C++ Programming Language)一定要看,這本書裡面對於C的一些基礎概念的定義,比我見過的其他任何C語言書都要全,都要仔細;Bjarne Stroustrup的《C++語言的設計與演化》(The Design and Evolution of C++)和David R.Hanson 的《C語言介面與實現 創建可重用軟體的技術》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,這兩本書講述了如何用C來實現異常處理、實現類型的封裝和擴展等一些大的項目中經常用到的高級技術。其他的書,操作系統的要看,編譯原理的要看,演算法的要看,模式的也要看。讀書破萬卷,coding如有神。總而言之,就如《傳》中雲:「生而知之者,上也;學而知之者,次也;困而學之又其次也。」我們不能總是因困而學之,而要做到兵馬未動,糧草先行。
看書是學習的導向,書中能一一介紹清楚概念,但書卻不能把應用的細節一一介紹給你,因為應用總是招數繁復,變化多端。因此我們要想熟悉招數,懂得書中所講怎麼使用,還要多讀源碼。Linus給別人解答問題的時候,常說Read the ***ing source code;候捷也在其文中提到「源碼之前,了無秘密。」這就是大師的箴言呀。源碼就像是動畫、就像是幻燈片,把書中的招式一一演練給你看。可以說高手的經驗大都是源自代碼。源碼和書一樣,也是要看好的,不要看差的。在此,我推薦看Linux kernel source code 和 Linux tcp/ip source code。這兩套代碼都是開源的,垂手可得。此外,還可以配合著Andrew S.Tanenbaum的《操作系統的設計與實現》(Operating Systems:Design and Implementation)、毛德操 胡希明的《Linux內核 源代碼情景分析》、Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman合著的《Linux設備驅動程序》(Linux Device Driver,3e)、W.Richard Stevens《TCP/IP詳解(3部)》 (TCP/IP Illustracted )、W.Richard Stevens《UNIX環境高級編程》(Advanced Programming in the UNIX Environment,新版增加了Linux kernel的內容)等書來看,方便的很當然程序不是看出來的,是寫出來的。我高中的時候每天堅持寫6個小時程序,《數據結構》和排列組合、圖論方面的習題反復做了N遍。到現在雖然已經時隔二年,很多內容早已淡忘掉,但卻培養了我很強的編碼能力和調試能力,直到現在還對我的工作有很大的幫助。

學習忌貪多、忌浮躁、忌急功近利、忌目中無人。把學習計劃放的長一些,培養一個好的學習方法,一步一步慢慢走,終能成為高手。 C是編程語言的基礎,建議大家從C開始!還有就是我聽說大部分黑客是C語言的鐵桿Fans,當時我聽了這個,所以對C學了下去!是這個信念讓我堅持學會,學通,學精!希望大家學編程語言時,心中有一個信念!

Ⅵ 編程的初學者應從什麼開始學

學習編程可以從c語言開始學,方法如下。

零基礎自學編程入門指南:

一:確定一個方向,編程語言太多了:java、C++、python、PHP、C等,需要確定方向,從基礎學起,建議零基礎學編程的小夥伴從C語言開始學起,C語言入門比較簡單,會提升自信心。

二:自學編程入門一定要階段性的看到成果,這個「成果」並不是在「黑匣子」裡面實現,要在用戶展現界面呈現,很容易提升信心。

其次,多學多練,計算機編程只有多打代碼,才能從中找到規律。期初的時候可以不明白只要跟著老師一起打代碼一起多練習,慢慢就會由記住理解,如果是想從事編程的同學,可以把寫過的代碼存到自己的文本文檔里,這也就能知道我們的代碼量,為以後找工作做准備。

學編程入門很關鍵,如果你找到一個好方法入門學習很輕松,如果方法錯了,很容易半途而廢,C語言編程學會後,完全可以在學習python、java等新的編程語言也無所謂,它們有很多相通之處,可以相互借鑒,互相拿來應用。

Ⅶ 怎麼學編程啊

如何學習編程,主要有自學和報班兩種途徑,至於需不需要報班,可以結合自己的實際情況來進行判斷,這里簡單介紹下。

學編程的注意點:

1、要確定好自己一定能學下去,不能是三分鍾的熱度,只是學個熱鬧,這樣永遠沒有辦法學的會。

2、一定要打好基礎,剛開始學習編程的時候可能會很慢,感覺自己沒學會啥,這可能是因為正處於打基礎的階段,只有把基礎打好,未來才可以學得更好。

3、要注意實踐操作,理論知識學得再多,如果不能實際的運用,還是等於0的。

自學還是報班:

1、如果你可以規劃好自己的學習過程,堅持一步步向前走,那麼自學當然是很好的。

2、如果你沒人監督就學不進去,也沒有自己的學習規劃,那麼還是建議你報班,可以少走冤枉路。

不管是自學還是報班,學編程的要注意的點是相差不大的,希望我的回答對你有幫助!

Ⅷ 怎樣學習編程

如何學習編程,主要有自學和報班兩種途徑,至於需不需要報班,可以結合自己的實際情況來進行判斷,這里簡單介紹下。

學編程的注意點:

1、要確定好自己一定能學下去,不能是三分鍾的熱度,只是學個熱鬧,這樣永遠沒有辦法學的會。

2、一定要打好基礎,剛開始學習編程的時候可能會很慢,感覺自己沒學會啥,這可能是因為正處於打基礎的階段,只有把基礎打好,未來才可以學得更好。

3、要注意實踐操作,理論知識學得再多,如果不能實際的運用,還是等於0的。

自學還是報班:

1、如果你可以規劃好自己的學習過程,堅持一步步向前走,那麼自學當然是很好的。

2、如果你沒人監督就學不進去,也沒有自己的學習規劃,那麼還是建議你報班,可以少走冤枉路。

不管是自學還是報班,學編程的要注意的點是相差不大的,希望我的回答對你有幫助!

Ⅸ 如何自學編程

自學編程要做到將編程作為自己的愛好、對自己的電腦了解、確定自己的編程語言、多看書,具體介紹如下:

1、要想真正學習一門知識,就要先盡量保持將其保持為一種愛好,才能一步一步的學習,還要保持耐心,不能為了成果跳躍學習。這兩句話很重要,請在任何時候都要記住,無論那一門課。

2、要對自己家的電腦有一個充分的了解,包括他的位數(64位,32位),內存,型號,和版本,如果要編程的話,一定要對電腦的各個功能有詳細的了解

3、先確定自己要學的編程語言,將其語言環境和編程工具准備好。入門最好使用c-free,或Java(要准備語言環境)入門或是深入都可以使用eclipse,python(要准備語言環境)可以使用editplus。

4、多在當地書城或是網上購買一些所學習的語言的書,可以輕松自學,當然如果你認為僅僅是文字並不夠生動,可以看看一些優秀的教學視頻,但千萬不要放棄書本。

注意事項:

1、明確學習目的 學習編程對大多數IT業人員來說都是非常有用的。

2、邏輯思維能力的培養,學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。

Ⅹ 自學編程=做無用功

作者 | PRESSone

來源 | 懷左同學

先給你講個故事,看看你有沒有類似的經歷。有一天,你去參加同學聚會,和老友們舉杯暢談,他們告訴你,不學編程就要 out 了,從全球趨勢來看,編程這把火已經燒了很多年。英國早從 2014 年 9 月起,就規定 5-16 歲的學生都必須學習編程,蘋果 CEO 庫克表示全世界各地都應該開設編程課程。回到家中,你輾轉反側,覺得自己跟不上時代潮流,扼腕嘆息:「廉頗老矣,尚能飯否?」焦慮之餘,你開始瘋狂搜索編程,網路、知乎、搜狗,你方唱罷我登場。一頓操作之後,你的嘴裡念念有詞:「Wow,會編程的人好酷,牛逼,都是大神。」感嘆之餘,你覺得不能紙上談兵,臨淵羨魚,不如退而織網。

於是乎,你開始了自學編程之路。

聽人說,演算法是編程的核心,學好演算法可以一招鮮,吃遍天。別人說在嘴裡,你聽在心裡,馬上買了一本《演算法導論》,打算死磕演算法。你沒日沒夜的攻讀,『演算法基礎』那一小章,你鼓搗了大半個月,還是雲里來霧里去的。然而,心高氣傲的你是不會屈服於『演算法基礎』這只攔路虎的,你開始逛各種論壇,CSDN、博客園、簡書、知乎都在你的常逛 list 上。你充分利用一切碎片時間,上地鐵刷一下,吃飯時刷一下,睡前刷一下,刷得不亦樂乎,刷不完的果斷收藏。

等到收藏超過100篇未讀的時候,你終於發現收藏=永不再讀,這讓你沮喪。

更讓你沮喪的是,你買的那本《演算法導論》已經在書架上躺了好久。為了弄懂『演算法基礎』,你把《演算法導論》打入了冷宮。比這更殘酷的是,從你信誓旦旦說要學編程以來,你連一行代碼都沒敲過,一個程序都沒跑起來。你越來越焦慮,終於有一天,你徹底崩潰了,自怨自艾道:「老子骨子裡就是個文科生,趕什麼時髦?學什麼編程?學來學去老是做無用功有意思嗎?安安靜靜地寫文章不好嗎?」寫文章的人不一定學不了編程,作家王小波就是中國早期程序員,曾經自己編了一套DOS下的獨立輸入法。真正阻止你學編程的也不是深奧的演算法,而是你錯誤的學習方法。自學編程不等於做無用功,盲目、焦慮地自學才是。讀到這里,你肯定滿臉疑惑:「我到底哪裡做錯了?」

首先,自學的初衷不是焦慮、盲目,而是解決問題。

李小龍當年剛回香港,在《歡樂今宵》上節目,節目組請來了一名拳師,想考驗他能不能推到對方。拳師也擺好架子等他來推,結果李小龍一拳打在對方臉上。李小龍想表達的是:在真實的實戰中,沒有人會等你擺好架勢,只沖著你規定的地方打過來。學習也是同樣的道理。在真實生活中,環境和知識都一直在動態變化中,你不可能像學校里一樣,系統的學好、學完一門知識,然後坐在教室等著不超綱的考試。

大部分時間,生活會先給你一個考試,然後你根據問題,自己找出關鍵詞,開始學習。所以,學習的起點不是某人在酒桌上蜻蜓點水的一句話,也不是某人在朋友圈曬的一本書、推薦的一篇微信文章、更不是這個行業的一個經典教材引發你的焦慮,而應該是你真實遇到的一個問題。遇到問題,動手寫,犯錯、改正,再犯錯、再改正,這是學編程最重要的過程。其次,自學尤其是自學編程往往不是線性的。

我們從小到大在學校學習,都有一本教科書,往往按著預習、聽講、練習、復習的路徑學習,所有的教材也如出一轍:每個章節所涉及的知識點之間,全都是線性關聯,第一章學好了,才有基礎學第二章。而社會的知識結構不僅不是這樣的,而且幾乎全都不是這樣的。

工作中、生活里充滿了各式各樣的「提前引用」,即想要理解當前的知識點,需要依賴你未來才能理解的某個或某些知識點。如果還是按照校園時代的線性思維來學習的話,很有可能就像故事中的主人公一樣,最終學不下去。拿編程來說,動不動啃《演算法導論》的人,要不是有很深厚的數學基礎,肯定吃不消。

生活很少教我們按部就班,它給我們的測試往往是超綱的,這就要求我們不斷更新和迭代。互聯網的發展給我們帶來的最大啟發就是迭代,從門戶到搜索,從搜索到移動互聯,從簡單的網頁交互,到如今熱鬧的小視頻社交,技術和生態一直在更新和迭代。

同樣,自學也是一個不斷更新和迭代的過程。編程是一門活到老、學到老的手藝,有些很抽象的概念,一開始看不懂沒關系,先腦子里有個大概的印象,然後依葫蘆畫瓢寫幾段代碼,自己動手實踐,寫完之後再總結、歸納、整理、組織相關的知識點,實戰經驗多了,再回頭來看最初的難點,你自然能夠豁然開朗。

比如說 python 中的 return,很多初學 python 的人,對 return 疑惑不已,字面上是返回,那它到底返回什麼,又返回到哪裡呢?有人可能會給你解釋:「return 語句就是將結果返回到調用的地方,並把程序控制權一起返回。」對於初學者來說,這個解釋也不好理解。

沒事,先實踐起來。

拿下面這四行代碼來說,你可以想像你開了一家工廠,雇傭工人來幹活,這個工人(worker)在你的指導下,用a、b、 c 三個材料,裝配出了 x 和 y 兩個成品。但是程序里的裝配和工廠不同,用過的材料不會消失。這樣,這個工人手裡就有了a、b、c、x、y五樣物品。他怎麼知道你要的是哪個呢?

所以 return 的作用就是,在這種時候告訴工人你到底想要什麼東西,是一個iPhone 手機殼還是整台 iPhone。毫無疑問,return x 和 return y 是完全不一樣的結果。return x 是當你讓這個工人幫你幹活時(調用函數),他最後會把產成品x交到你手上,而當你輸入return y 的時候,幹活的工人會把產成品 y 給你。

舉個例子,worker(1,2,3),return x 的結果為1+2=3,return y 的結果為(1+2)*3=9。這樣實踐一下,你對於return是不是有了更深的理解?def worker(a, b, c): x = a + b y = x * c return y看完我的分析,驀然回首,你是不是覺得道路明朗了許多,你肯定很想問:怎樣自學才高效呢?在自學過程中,有個方法特別管用,就是用輸出倒逼輸入,你逛論壇、刷文章、看視頻教程都沒問題,關鍵是要有輸出,光有輸入可是不行的。而最好的輸出就是實踐,把自己聽到的、看到的、讀到的,轉化為你獨立編寫的一個個程序,豈不妙哉?

文章開頭故事裡的主人公就陷入了盲目輸入,卻無輸出的泥潭。他的輸入表面上看上去渠道很多元化,然而這些輸入並沒有帶來有效的輸出。還有一個很多人都不知道的點,你的輸入很有可能是制約你進步的緊箍咒。

輸入也是有講究的,盲目輸入會帶來信息超載。全世界每天有 4000 本書出版,超過 4 億個字;紐約時報一天的文字量等於牛頓同時代的人一生的閱讀量;一個專業領域,每天大概有有近4000篇文章正在產生。就算你火力全開,瘋狂地輸入相關知識,也還是難免有漏網之魚。

而且,在茫茫的信息汪洋中,信息質量參差不齊,保不準你輸入的就是一些邊角料,反而讓你裹足不前。這兒分享橋水(全球著名對沖基金)創始人瑞.達利歐在《原則》一書中闡述的觀點:「正確的決策很多時候需要依賴可信度加權。」學習同樣也需要可信度加權,不是所有的資料都全盤接收,而是有選擇的相信,用老祖宗的話來說,要取其精華,棄其糟粕。信息爆炸時代,最重要的不是增加信息,而是篩選和刪除信息。除此之外,要勇於跳出舒適區,刻意練習。

刻意練習這個概念由美國心理學家安德烈.艾莉克森博士提出,即有目的的學習,指的是把要學習的內容分成有針對性的小塊,對每個小塊進行重復練習。在武術訓練中,非常強調分解練習。

首先你要把整套動作過一遍,看教練是怎麼做的。然後把它分解為多個動作,每個動作分解為多個步驟,一個一個地練習。在這種訓練中,動作一定要慢,只有慢下來才能感知動作的內部結構,注意到自己的錯誤。畫家要采風、棋手要打譜、律師要學習案例、政客要讀歷史、科學家要看論文、馬拉松運動員每周至少要累計150公里的跑量。

大部分的學習都不是一蹴而就的,往往是練習-反饋-練習-反饋-練習-反饋-學成。刻意練習的關鍵是隨時獲得有效的反饋。拿自學編程來說,這是一個很容易獲得反饋的領域,當你寫的程序跑不起來時,意味著你要 debug,你得把你寫的代碼分成一小段一小段,逐句檢查,直到找出 bug。當然,鼓吹刻苦的雞湯想必大家都喝膩了。事實是,很多人即使整天坐在書桌前埋頭苦學,時長達到甚至遠超學霸,實際效果卻遠遠達不到學霸的水平。問題的關鍵在於你的思維和學習方法,在於你的學習時間是否得到了高效利用,是否能通過高效學習把知識轉化為你真正的實力。

只是如果你注意力渙散,身在書桌前,神遊天地間;如果你好不容易學完了,轉眼又忘得一干二凈;如果你寫了很多代碼卻不會舉一反三,同一個知識點換了個問法又被難住了;如果你對於你所學習的領域缺乏好奇心和探索精神,只是當一天和尚,敲一天鍾,沒有刻意練習。那麼,花費再多的時間,又有什麼成效呢?

捫心自問一下,你上一次坐下來長時間專注於學習,是什麼時候呢?

似乎這件事變得越來越難以做到,因為我們的生活已經有太多的干擾:必須要點的微博、朋友圈點贊、支付寶螞蟻森林收能量……誘惑源源不斷,切割了我們在學習上的很多可能性。我們接受了太多無效輸入,自然也不會產生高效的輸出。讀到這,你可能又要問我了:「該怎麼辦才好呢?」比起一味地延長學習時間,更『刻意』地學習更重要。

學習從來都不是一個階段的事,更不是一件輕松的事,但是我們可以優化我們的學習路徑,比如給自己創造一個干擾項少的學習環境。拿自學編程來說,你需要的就是一台電腦。在學習的時候,你最好離手機遠一點,並關掉電腦版微信、QQ和一些亂七八糟的應用。不過,自學之路從來都不是輕松的,這也才顯得它的專業性和獨特性。願你學成歸來,已然成了一名大神!

熱點內容
java軟體免費下載 發布:2025-03-20 10:26:01 瀏覽:704
安卓用什麼編譯 發布:2025-03-20 10:25:57 瀏覽:808
ftp中文軟體下載 發布:2025-03-20 10:07:47 瀏覽:508
nexus7android 發布:2025-03-20 10:06:58 瀏覽:619
安舍iq8如何修改密碼 發布:2025-03-20 10:06:17 瀏覽:880
解壓RTP 發布:2025-03-20 09:59:37 瀏覽:161
python量化分析 發布:2025-03-20 09:53:05 瀏覽:626
手機熱點有限的訪問許可權 發布:2025-03-20 09:50:46 瀏覽:440
為什麼安卓沒有ios系統流暢 發布:2025-03-20 09:50:43 瀏覽:793
python編程實例 發布:2025-03-20 09:48:19 瀏覽:294