從學習一門語言到會開發網站大約需要多少時間?

比如 Ruby,PHP,Python 或者其他。只有一點 HTML 和資料庫基礎,沒有其他語言基礎及數據結構知識。


三個月,精通一門語言,完全沒難度(指的是投入正規開發,不是真的大牛)。

前提是你在真心的學這門語言。只要不是彙編級以下的語言,所有的高級語言的語言基礎都是差不多的,入門級的東西懂了之後,就不停的做項目(自己去接的項目也好,虛擬的項目也好),並且在項目里總結。三個月足以讓一個人脫離菜鳥級別。重大壓力下,時間還可以縮短很多。

還想說一句,看懂多少書籍是沒有的,那不代表掌握!我說我看懂了組成原理,但是我還做不出一個CPU。關鍵是掌握,很多說自己懂html+css,可是千萬不要以為會幾個標籤就是懂了。這很重要,所見即所得的開發模式最大的缺點就是太容易讓人自我滿足,以為自己學有所成,已經很好了,其實寫出來的代碼大部分都是雜亂無章的,只是標籤的堆砌。例如,頁面的標題理論上用&&乃至&都可以,但是SEO裡面,是不是對標題的標籤使用有要求?表格裡面嵌入表格,會不會影響SEO的效果?float屬性在IE6會不會有問題?如果有問題,有沒有補救方法?

代碼是程序員寫的小說,可是你不能說,能寫代碼的就都能寫出好小說吧? 代碼人人都會寫,可是高效率的代碼和低效率的代碼,擴展性強的代碼和擴展性差的代碼,又是兩個不同的水平了。

看懂了,和真正掌握,是完全不同的兩個概念。套用一句喬幫主的話Stay hungry,stay foolish。在學習過程,千萬不要自我滿足,尤其像html這種看似簡單其實有很深學問的東西(標籤很簡單?meta標籤和head標籤,真的有認真看過?http協議,編碼格式……)。

總而言之,就是實踐。只有在實踐裡面你才知道自己掌握了多少東西,三個月,足夠的時間讓你去看書和實踐和總結。

至於整條開發的流水線,一個人做整個項目絕對是一件痛苦的事(除非網站很小,沒有太大的難度),可行性分析,需求分析,概要設計,詳細設計,編碼,測試,運營,維護,在正規開發流程裡面,每一個環節都應該有專人負責。為什麼要自己去體驗完整的項目開發流程,我的看法是:因為以後自己就是某個環節的一部分(如果你打算在這個領域發展的話),在項目開發過程中,你連Teammate的工作都不知道,在你之前和在你之後的工作是怎麼溝通和交接的都不知道,這樣的開發是完全沒有意義的。只有知道自己的團隊是怎麼運作的,才可以更好的發揮自己的作用。當然,不可能每個流程所需要的技術都發展精通,只是體驗過整條流水線作業之後,你可以更加明確自己究竟對哪個環節有興趣,進而可以繼續深入這個環節,成為這個領域的高端人才。

最後一句話——永遠不要做一個只懂得編碼的程序員。

三個月,見證一下自己的奇蹟吧,哈哈。

個人心得,不喜勿噴,權當交流,呵呵。


【一個月吧。】

我學習python 7天,學習python上的django框架6天;開發網站14天。總共27天。當然,我開發出的僅僅是個原型,如果對代碼質量有更高要求,那時間怕是要多很多了。

我的基礎,也幾乎沒有,看過一本C語言,嘗試寫過一個簡陋的五子棋程序。

如果你對程序裡邊通用的語句,例如if then選擇, for循環,以及賦值、與或邏輯判斷什麼的有了解的話,應該和我的學習速度差不多。如果對這些不了解,或許需要加上了解這個的時間,我就不好說需要加多少了。


開發網站學習一門語言大概是不夠的,至少要三種前台語言:HTML/CSS/JavaScript;一個後台語言:ASP/PHP/JAVA/.NET/CGI ,更深入的就是各種開發框架;還得有至少一種資料庫 MYSQL/MSSQL/ORCLE 使用經驗,以及SQL;除此之外,最好還得有一些運維基礎,起碼了解 WINDOWS SERVER/LINUX, IIS/APACHE/TOMCAT/NGINX 才能把網站部署上去,最重要的你還得懂一些安全知識,否則一個 SQL 注入就讓你所有數據全部完蛋,這個網路安全就水深了;當然想做個大網站,各種壓力測試,BUG修復也是必須的技能。

當網站要上線的時候,你還得知道如何購買伺服器/域名,如何解析,如何備案,當然這些跟語言無關了。

所有這些估算下來,一周能做到的,大約是神仙了吧:)


個人經驗是一周。

補充如下:

  • 前提是我自己有較長時間其他的語言開發經驗但不是Web開發,之前對Linux也很熟悉,很愛倒騰。

  • 因為有Html基礎和資料庫基礎,其實主要的問題在於後台伺服器的腳本語言的選擇。個人比較推薦Ruby On Rails或者Python Django的框架,這些框架的開發速度都非常快。都說PHP入門,但是我個人覺得PHP和前端混在了一起,開發站的高度不夠。不利於學習。反而是MVC的框架更合適。

  • 另一個焦點在於什麼叫會開發網站。搭個學校用的系統一兩周差不多了。從問題來看,提問的同學也沒有說想要達到這麼高的商業標準吧,像給學校的組織和普通的機構建立一個網站還是比較輕鬆的。我個人認為:
    • 建立網站的所有技術都會使用並且熟悉一個框架
    • 出現了問題知道到哪裡去解決
    • 新的問題知道使用什麼技術

就算會搭網站了。剩下的只是熟練度的問題。

  • 建議和別人一起給一些要求不高的組織建一些網站,非常促進學習還有報酬。不可能非要達到那麼高的標準才去開發真的開發網站,因為問題總是在實踐中出現的

從問題描述上看你的開發經驗很少或沒有。如果有其它語言經驗也不用問這個問題了。估計你是想寫HTML吧(R與T兩個鍵挨著,我猜的)。這樣的話學一門語言去開發一個網站可能會比較長時間。另外,HTML不算一種開發語言。

如果專心從0學開發網站的話,建議學PHP,現在比較流行的網站開發語言,適合當前多數主流網站的功能,而且好學些。全職學的話如果有人教兩到三個月吧。如果自學可能更長。我是說學到達到你建站的程度。

如果是有經驗的開發者,時間沒有參考性,因為我自己學一門新語言都是邊做項目邊學。做一個項目就上手了。再就是繼續熟練。


入門rails用了3天,學ruby用了1周(當時剛畢業,神碼都不會)


學語法花不了多少時間,幾天吧,用好看個人。而且過幾年就會出個新語言,perl比較早一點,ruby,python晚一點。


建議先了解下周邊技術,不一定要精通,沉下心來學習你想學的語言,先把基本的語法什麼的搞明白了。剛開始寫肯定沒有頭緒什麼的。可以從網上下載一些開源的代碼研究,看能否看明白,剛開始可以依葫蘆畫瓢,經驗是慢慢積累的。如果你沒有數據結構基礎,要了解下mysql,sqlserver,mongodb等。大概多少時間還和自己的能力及學習時間是成比例的,一般2、3個月就能自己寫項目了。


從零開始到掌握一門語言,是可以在 rand(5天, 90天)內完成的,但是做一個網站,似乎不太可能,理由很簡單,遇到的問題會很多,也很吃經驗,上面給的range 5-90就有經驗的因素在裡面。

僅供參考。


學一門語言的語法,很快。然後像你說的那樣,開發一個網站,靜下心來學習,三個月就差不多了,接下去就是更深層次的學習了,這條路是沒有止境的


演示性Demo對著書依葫蘆畫瓢敲一遍就行。 難的不是程序能不能運行,流程跑的對不對,這是最基本的,而是能不能經的住考驗。(安全,效率,容錯性可以擴展性可.......) 個人感覺搞半年到一年後台語言加SO-SO水平的js框架。可開發出很多市面上網站的功能 (PS:僅僅是單機版) 單機版程序很適合外包(題外話)


什麼都不會的學會一門語言需要一年或者幾年,是非常熟練的那種,當然這其中需要一些數學,物理,英語和計算機,電子系的知識,不一定全會,但需要了解,或者熟知,等學好一門語言之後,在學習其他的語言大概需要幾個月,所以所謂的全棧需要一段不短的時間,在中國程序員三年就覺得很厲害了,而在矽谷,五年的程序員屬於剛起步,十年的工作經驗在才是厲害,就像比爾蓋茨,1萬個小時的時間,可以在車庫裡紙上手寫代碼,選擇一個適合的職業,幹個10年,總會取得不小的成就。


1、如果網站主要靠自己從0學的技術來做,沒有一年半載是不行的。

2、如果只是為了建一個網站,現成的網站系統很多的,可以直接使用別人的系統,這樣一個網站可以很快建立起來。

3、網站有大有小,難度也有大有小。有些企業建站做個最簡單的,只幾百塊。有些大一點企業站,可能要幾萬。有些政府網站,可能幾十萬甚至幾百萬。


php和sql,再加上一點html夠做一個簡陋的了,再慢慢豐滿這個項目,網路安全很重要!


當年為了實現自己的一個創意,剛好自學了html css javascript php sql 和如何使用apache,也沒有誰給我指路,自己就一步一步借了這些書看了,如果是有針對性的要寫你想要實現事先想好的界面和功能其實花不了多長時間。

只要一心投入三四個月搞定上面提到的吧,主要是了解他的邏輯和大概有哪些內容,有一定的細節會記不住或不知道。然後你就可以一邊翻書查找一邊完成你的網站了。作為個人興趣來說足矣。

當然你要是想精通這些內容那就另當別論了,如果對網站的運營和安全性有要求,那得找專業的。


如果單純說網站,而不說網站的規模的話,幾分鐘時間:

下載 wamp ,在你的電腦上面安裝,在 www 目錄下面創建一個

index.php 文件,內容如下:

&

完工,你的這個網站的功能是查看當前網站的伺服器PHP環境信息。


推薦閱讀:

一個編程語言有可能自己解釋自己嘛?
突然想到,如果新手們像職業電競選手一樣學編程的話,即使天賦不行是不是也能超越大部分人?
設計一個新的編程語言後,如何實現它?
如何解決代碼中難以重現的BUG?
習得一種編程語言後如何高效地學習其他語言?

TAG:互聯網 | 編程語言 |