如何自學成為程序員?

本人武漢某985一名化學 ,但心無意在化學上,想自學編程成為一名程序員。
如何自學成為程序員?
10 個回答
宝庆府的刀
2017-03-26

我去 我也是學化學的 然後對化學無趣自學的編程

學編程從基本的學起 先學簡單的 先確定好學的編程語言 建議php 比較容易上手

做全栈攻城狮
2017-03-26

自學編程的確可行,本人四年前通過自學編程加入了程序員行業。


如何學習

自學編程的方式最好的莫過於在網絡上面查找資源。目前,網絡上電腦資源多不勝數。其中有很多都是基礎到精通的視頻教程。通過視頻講解。讓你明白重點知識。

你通過查找一套適合自己的視頻。然後看完是基本。

這裡推薦幾個可以在線學習的好網站:慕課、極客學院、傳智播客、如朋網、網易公開課等等

如何自學成為程序員?


做筆記

在進行看視頻的過程中,一定注意要記筆記。對視頻中重點的部分進行截圖,並加以文字解釋。就形成了自己的筆記。這些筆記對於你來說很重要。

通過記筆記的形式,你就不需要重新觀看視頻了。只需要複習的時候查看筆記就夠了,這樣就大大的節約了時間。

下面介紹一個記筆記的好軟件:CherryTree

如何自學成為程序員?


多練習代碼

在視頻中講解的代碼,我認為你至少需要自己寫三遍以上。在寫代碼的時候,就用到了上面寫的筆記了。通過看筆記截圖,即可自己慢慢摸索寫出來代碼。

當然練習到一定程度,就需要你適當的做個項目。鞏固自己的知識。

如何自學成為程序員?

純手打,如果感覺到對你有幫助,麻煩再下方為我點個贊~~

如果回答有問題的話,還請大家指出。

PHP在路上
2017-02-24

本人自學編程,08年半路出家成為程序猿,大小公司都混過。說說過程和感想。

首先,確定自己對編程真的感興趣,這個自己心裡最清楚。理工類的專業,怎麼也會學到點計算機知識,自己判斷。

編程之路,是不斷學習之路,需要耐得住寂寞,忍得了bug。沒有興趣,你的人生將會是痛苦的,會面臨第二次的轉型。

其次,選擇哪個編程語言。網上查查資料吧,根據自己的認識來判斷。實在找不到,學C語言。

感覺難的話,學PHP或者Python

最後,自學編程的方法上,外行轉過來,先選擇基礎視頻教程看看,入門快,相對不是太枯燥。容易先做出一些成績,嚐到甜頭,更有信心往下學。


提醒注意的是:

1、認準一門語言,一直學下去,直到自己可以做出幾個成品來。網上說三道四的多,切記半途而廢。語言是相通的。

2、多練,多練,多練

小葱观小城
2017-03-24

想要自學醜成為程序員,必須有恆心,編程這種東西,在你剛接觸的時候會覺得很枯燥,而且入門很難,但是一旦你入門了,真正瞭解了一門語言了,其他語言學起來就很簡單了。

作為一個計算機專業的學生,我平時學點東西基本上都是去一些網站,比如大學生自學網,網易雲課堂,百度傳課等等,這些網站有很多免費的視頻,看視頻比自己看書好很多。

最後,編程思想很重要,建議從C語言學起,更能深刻的理解編程思想。
如何自學成為程序員?

sunny38499
2017-12-17

你也許曾經想過要學習如何開發軟件或只是想臨時的寫出一個腳本但不知道如何入手。
如何自學成為程序員?

①不要急於選擇一種語言 新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 重要的是理解數據結構、控制邏輯和設計模式。

②任何一種語言甚至一種簡單的腳本語言都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。編程使用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開發 除了把自己約束在特定的編程語言和特定的操作系統上,可以在瀏覽器裡開發你的殺手鐗程序,讓它在互聯網上運行,這就是webapp。

④ 歡迎來到奇妙的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 初學者指南。

⑤ 當你感覺差不多了的時候,看看WebMonkeys PHP and MySQL tutorial 學習如何使用PHP跟數據庫交互。 網上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論註釋,這些對於文檔的本身是非常有價值的。 (有很多其他種服務器端的腳本語言你們都可以選擇。) Web框架:過去數年裡,web開發人員在開發動態網站的過程中不得不一遍又一遍的針對重複遇到的問題寫出重複的代碼。 為了避免這種每次開發一些新網站都會重複勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重複性的工作。

⑥非常流行的 Ruby on Rails 框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的web應用程,這就是他如何在沒有任何經驗的情況下搭建一個網站。還有一些其他的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, 我的學習道路一直沒離開Peal太遠,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, Greasemonkey user scripts, 和 Stylish user 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程序。

⑦最後也最重要,想做行動起來,推薦一本書可以去看看。
如何自學成為程序員?

毫末累土puci
2017-02-03

我在軟件學院上大二,學物聯網工程,我們學的知識很雜,操作系統,程序設計,電路,計算機網絡,,,,,,

可以跟你說一下我們程序這一部分開了哪些課:

C語言,c++,數據結構,馬上要開的Java

我覺得程序員的起始是會編寫併成功運行自己的第一個程序:Hello World

可以在網絡上各大自學網站上找學習資料

建議瞭解下計算機課程的其他內容,計算機分支很多,但互相之間又有聯繫,都瞭解有助於自己進一步學習。

异域美色
2017-03-27


從零基礎開始自學合格的程序員。首先從性格上分析,要適合做程序員。我恰好是那種聰明不足,勤奮有餘,對高度有期待,對速度沒要求的人。雄心的一半是耐心,如果是那種坐不住靜不下心的性格,做程序開發是有難度的。

其次,軟件開發技術容量猶如長河巨浪般宏大,又涓滴可飲。一開始想要什麼都學是不現實的,從何處著手需要先從業內人士那裡諮詢一下意見,然後給自己制定一個符合自己的學習計劃,無論是從時間安排上,還是從由易到難的學習推進上。我畢業時在實習期間工作較為清閒,工作罅隙就先從一些電子文檔看起,下班回家後就開始從網上找視頻教程。反覆看,邊看邊跟著做,一定要做,並保留每次的練習代碼,隔天再拿出來看或者重寫。

後來辭掉實習的工作,把自己關在小屋裡三個月,沒日沒夜的學。羅永浩當年就是把自己關在小屋裡學的英語成為新東方填空一哥的。自學有個先天缺陷,就是沒有人告訴你可能犯錯誤的點,也沒有人給你解決你遇到的奇葩問題阻礙開發流程的繼續。這個時候就需要你多關注一些技術論壇了,同一個問題可能有好多種解決方案,哪一種是有效的,需要你去嘗試。堅持上幾個月,基礎算是有了。

接下來就是大膽地早一份工作。我當時由於不自信,耽誤了很多時間,總覺得自己的儲備還不夠。現在回想起來,頗為後悔。因為無論自己怎麼努力自學,教程中練習的東西跟實際項目中用到的還是有很大差距的,有很多知識點在實戰中用的很少,也有很多發生在實戰中的應用技術在教程中很難找到學到。要先找一份工作,哪怕工資很低,哪怕誰都不如。放下姿態虛心請教吧,儘管期間可能遭遇不少不友好的冷眼,但是沒辦法,欲成諸佛龍象,先做眾生牛馬。技術大拿都是從菜鳥過來的,體驗過做菜鳥的艱辛,等你“合格”後,會保持一個更寬容和氣的態度去對待下面的菜鳥。

最後,要對程序開發有興趣。客觀地說,開發程序雖然辛苦,但並不枯燥。因為人機交互會有及時反饋。你程序寫對了,運行起來就能看到效果,有錯誤就接著改,這種反饋非常及時,要知道其他領域的很多工作都是努力了很久都看不到成果的,而程序開發可以,尤其是把工作模塊切割以後。需求和功能的實現,能帶給人成就感,這種人機交互的及時性與相對簡單性,比複雜的職場人人交互要公平得多,有趣得多,只要你邏輯對了,技術合格了,就會滿足你。至於後面的升職加薪,那就是意外驚喜了。幹工作猶如帶孩子,在取得階段性成果的同時,讓你費神,更帶給你歡欣。

下面能分享一下乾貨。


入門書籍:《c plus primer》,一本國外的書。其實有些時候很不想推薦國外的,不是民族主義啥的,國外的書一般都是特別厚,望而生畏啊親,但是非常細緻有木有,每個點都會講到。這本書用來入門很不錯。國內的譚浩強老師的書很多人用,個人感覺不太好,尤其是編碼格式,不噴。

如何自學成為程序員?如何自學成為程序員?

進階書籍:《C和指針》,《C專家編程》,《C陷阱與缺陷》,《The C Programming Language》。這四本書號稱C語言四大聖經,其中,《C專家》和《C缺陷》實際上很薄,但是內容很豐富有木有,剛學的孩子真心看不懂有木有。當然,這四本融會貫通後,我覺得編程語言上已經不成問題。如何自學成為程序員?
如何自學成為程序員?


如何自學成為程序員?

OK,我剛剛說的是編程語言方面的,但是最難的不是語言,有一門令無數程序員抓狂的課叫做《數據結構》,編程語言只是載體,數據結構和算法才是王道啊,親。所以,程序員的數學思維一定要清晰,要好。我的某個老師這樣說,好的程序員高數一定好,因為高數最考驗抽象思維,吐血有木有。


如何自學成為程序員?

至於學習C的在線網站,沒覺得有特別好的。關鍵還是自己多上機操作。話說算法 + 數據結構 + 語言 = 程序。個人覺得很多東西找個好師傅帶著是很有用的。

一.公開課網站

現今網上有各種視頻教育網站,其中很大一部分便是針對編程教學的。筆者在此只推薦幾個自己比較熟悉的優質公開課網站:

1.慕課網(imooc.com)

如何自學成為程序員?

筆者個人認為,對於編程學習而言,慕課網是國內最優秀的免費公開課平臺了。上學期,本來完全不會JAVA語言的筆者正是完全依靠這一網站,學會了JAVA和一些安卓開發知識,完成了一個APP的編寫。

慕課網上的課程很全面,涵蓋了主要的編程語言,還有數據庫、移動開發和雲計算等等方面的課程,而且這些課程是全中文的,學習起來毫無障礙。網站各個課程的交流板塊和實戰板塊更是可以幫助我們對學習的知識快速上手。

2.Cousera(zh.coursera.org)

如何自學成為程序員?
如何自學成為程序員?

coursera的大名想必很多人都聽說過,它是目前全球最大的公開課平臺,由著名華裔計算機學家、筆者的偶像吳恩達(Andrew Ng)和友人創建的。

Coursera擁有全中文的頁面,收錄的課程來自全球最頂尖的大學,比如中國的北大、復旦,美國的斯坦福、加州理工等等,課程都是這些大學的講師親自錄製的,和他們的學生得到的授課信息完全相同。另一方面,coursera的課程也非常全面,從基礎科學、語言學習到工程科學一應齊全。可以說,只要願意付出足夠的時間和努力,通過coursera,你可以學習到幾乎全球最優秀的大學中的所有課程,計算機科學的知識自然也包含在其中。

3.網易公開課(open.163.com)

如何自學成為程序員?

網易公開課和coursera一樣,視頻內容非常全面,全球各所優秀大學的計算機知識公開課便是其中的一部分。更加難能可貴的是,網易公開課上的外語視頻都會被添加高質量的中文字幕,而這可以讓我們事半功倍地學習外國原汁原味的計算機知識的講授。

和coursera一樣,筆者建議有興趣的朋友在網易公開課上瀏覽更多類別的視頻(筆者最近便在重拾高中時對物理的興趣,學習斯坦福大學的《量子力學》系列),而那些已經配上了中文字幕的TED演講更是太棒了,空閒時看上一集TED演講,你付出的時間絕對物有所值。

4.其他公開課平臺

如何自學成為程序員?

除了以上三個筆者常用的平臺之外,如今還有極客學院(jikexueyuan.com)和騰訊課堂(ke.qq.com)等繁多的教授IT知識的平臺。但是比起一些“以快速就業”為目的的“培訓平臺”,筆者還是更喜歡來自於大學課程的那些公開課。

二.開發者論壇

除了公開課平臺之外,另一個重要的自學IT技能的渠道便是各個開發者論壇,通過這些論壇,我們可以和大牛們直接交流,可以學習到更具體的知識點,而且還能結交許多志同道合的朋友。

1.Github(github.com)

如何自學成為程序員?

github是全球最大的開發者論壇和協作平臺了,這裡既有牛翻天的獨立開發者,也有企業界的技術高手,他們供職的企業從google、microsoft、amazon到國內的BAT應有盡有。因為用戶群體主要為程序員,github又被戲稱為“全球最大同性交友網站”(然而中國的“全國最大同性交友網站”應該是bilibili了吧)。

使用Github只需要很低的英語門檻。同時,github中還支持簡書用戶十分熟悉的markdown語法(很著名的markdown集成編輯器atom也是github出品的)。

2.博客園(cnblogs.com)

如何自學成為程序員?

博客園是一個開發者的博客平臺,以高質量的技術類博文而聞名。從圖片左上角的,博客園的口號“代碼改變世界”我們便可以知道這個博客平臺的態度了。

3.開源中國(oschina.net)

如何自學成為程序員?

筆者使用開源中國並不是很多,但是它給筆者留下了蠻深的印象,一是這個論壇中中很多剛入職的新程序員,二是通過這個平臺,很多城市的程序員們互相認識,結成了自己的小圈子,他們還經常會舉行各種線下的聚會,實在是蠻有趣的。

相較於之前介紹的網站不同,開源中國並沒有太多系統講授IT知識的資源,但是當你在開發過程中遇到了具體的困難,來這裡提問吧,會有很多程序員們幫助你解決這些具體的問題。

4.碼農網(codeceo.com)

如何自學成為程序員?

碼農網被筆者記住,很大程度是因為他域名中對“碼農”的翻譯是“codeceo”。好吧,大概每個程序員都有出任ceo,迎娶白富美,走上人生顛覆的夢想吧。

和很多論壇一樣,碼農網的資源也是按照學習的編程語言劃分的。比如你學習java語言,那麼在這裡,你就可以訂閱java的欄目,然後通過RSS或者微博,你就會得到這個欄目中的文章的推送了(微博推送的是文章的鏈接)。

5.segmentfault(segmentfault.com)

如何自學成為程序員?

很有趣的是,筆者記住這個網站也是因為他的名字,當時筆者正學到法語數學中的“segment”(“區間”)一節,恰好知曉了這個論壇,於是一直難以忘記。

6.stackoverflow(stackoverflow.com)

如何自學成為程序員?

這也是一個英文的網頁,但是上面大量高水平的用戶和問答實在讓筆者不捨得落下它。stackoverflow是一個問答型的平臺,和知乎以及quora很相似(這兩個也是學習it知識的一個渠道,因為上面有大量可以回答專業問題的程序員),當遇到難題時,我們可以在平臺上查找答案或者自己向大牛們提問,這種方式得到的答案更有針對性,優勢明顯。


希望能夠幫到你。如果可以,可以到我的頭條看看,謝謝。

科技曲奇
2017-04-01

我也是轉專業入門編程的,囉嗦的就不說了,全是乾貨:

1、入門選擇很窄,搞後端、算法、數據等,先入門Python,搞開發,上freecodecamp

2、給自己一個月自由的時間,用編程實現自己的感興趣的內容

3、接著是幾個月的瓶頸期,如果你選擇開發:瘋狂看源代碼,抄寫,提升寫代碼的能力;如果選擇數據分析、算法等,瘋狂補“算法和數據結構”。

4、等你完成了以上內容,網上說的所有東西都不如你自己的經驗更有用了。

voctrals
2017-01-17

碰到這種問題,我還是想說兩句的。

沒有什麼基礎的話,可以先學學PHP。雖然不太熟悉,但是這東西上手快。

如果有一點基礎的話,可以學學JAVA等面向對象的軟件開發語言。這個相對PHP來說要難一點,但是直觀一些。

如果有想法的話可以嘗試函數式編程語言,這種類型的語言適合一部分人,有點繞,但是很有意思。代碼量少,功能強大。

如果對以上說的都沒有興趣,還是想繼續的話,建議看看javascript。這可能是當下最流行的腳本語言了。能前能後,靈活多變。

以上個人觀點,不存在語言歧視。

hashbang
2017-12-26

1. 找到環境,尋找同伴和比你厲害的人
2. 英語閱讀能力要上去,買vpn,遇見問題直接google。每天關注github trending projects,閱讀並模仿優秀項目
3. 注意休息,多思考
4. 閱讀經典計算機書籍
5. 參與實際項目

第一條最重要

如何自學成為程序員?另,你化學專業的還挺好的,我新聞專業的。

相關推薦

推薦中...