2010-05-25 66 views
8

一位朋友和我幾年來一直在提出網站創意,當我們在瀏覽網頁時提出一個好的,有用的想法時,他們大多隻是將它們記下來。在過去的6個月中,我們聘請了幾個不同的程序員爲我們創建了幾個網站,但對於它如何消失感到失望。我們的喜好太慢,太多的溝通不暢。所以,正如俗話所說,如果你想要做對的事情,那就自己動手吧,我們會自己做。沒有經驗的人如何學習如何編程?

我對編程一無所知,我從來沒有寫過一行代碼在我的生活中。我認爲自己對數學非常好,儘可能合乎邏輯,但我沒有真正的編程知識。我們想要製作的網站都是漂亮的'Web 2.0'ish',意思是用戶生成的內容,對帖子的評論,即時更改的頁面等。

所以,這裏是我的一些問題,那裏有:

有沒有一種語言你會推薦先學習?哪些是大多數其他語言工作的良好指標?

根據現在和未來的流行度,您推薦使用哪種網絡編程語言。我不想學習一種當我是專家的時候已經過時的語言。

您推薦的任何特定書籍?

任何一般的建議,你會給一個字面上從平方零開始編碼的人,誰計劃長期進入它的任何一般建議?

+7

「任何一般的建議,你會給字面上從零開始編碼的人,誰打算長期在這裏進行? 是的,不打算終生承諾,你還沒有嘗試過的東西。 轉到w3schools.org並閱讀許多Web開發教程。 – 2010-05-25 22:14:47

+9

「太慢」以及「太多溝通不暢」讓我懷疑是否會更好地開發項目管理技能(需求定義,時間安排,評估等)而不是編程技能。 – 2010-05-25 22:16:48

+0

湯姆,我不打算終生承諾,我打算潛入並看到它在哪裏。我可能會討厭它或愛它,我們會看到。感謝w3學校,我以前去過那裏,它肯定會成爲我研究的基石。吉姆,我的項目管理技能不是問題,我認爲這是我缺乏編碼知識。我之前和開發人員一起在iPhone應用程序等更簡單的項目上工作過,並且一帆風順。我想學習代碼的一個重要原因是我可以瞭解其他程序員來自哪裏以及期望值應該是多少 – Mugatu 2010-05-25 23:42:57

回答

9

首先製作一個使用HTML的網站。如果你陷入困境,那就慢慢發展,直到你知道你需要知道的一切。沖洗並重覆在未來15年。

  1. 學習基本的HTML
  2. 學習基本的CSS正確的風格你的HTML
  3. 再學習HTML,而下面的Web標準
  4. 再學習CSS正確而下面的Web標準
  5. 瞭解PHP(或者一些服務器端網頁開發語言)
  6. 學習SQL
  7. 學習正確使用PHP + SQL(避免SQL注入等)
  8. 學習jQuery或其他一些JavaScript框架
  9. 當你知道什麼是過時的,回到步驟1
+0

當然,學習HTML並不需要15年的時間:) – Earlz 2010-05-25 22:19:02

+0

不,但你從HTML開始,然後你看到你想/需要學習CSS,Javascript,各種框架,哦一些服務器端腳本不會傷害所以PHP,Python,..... D – KTC 2010-05-25 22:22:29

+0

爲什麼javascript在8?..我會把它放在5. – SysAdmin 2010-05-26 05:20:38

2

我能夠打破其他項目自學。拿一些相對輕量級的開源應用程序,看看它們是如何工作的。改變事情並查看它的作用,查找關於如何添加內容並嘗試爲程序創建自己的加載項的教程。

最終,您將能夠在沒有其他程序支持的情況下自行編寫一些內容。

3

我想說的第一件事就是學習如何製作一個帶有HTML和CSS的靜態網站。也許學習一點Javascript(看看jQuery !!)並製作一個體面的網站。它沒有實際「做」任何事情都沒關係。

之後,該學習服務器端語言了。到現在爲止,您可能會對編程有足夠的瞭解(希望能夠從您所做的JavaScript位)做出理性的決定。一些著名的框架包括:

  • PHP
  • Ruby on Rails的
  • ASP.Net
  • C++的CGI(全息我只是在開玩笑)
21

不要。就是不要。

一般由業餘愛好者組成的網站,他們認爲他們可以在第一時間編碼一個複雜的網站,迅速下降到一個難以維繫的混亂。你可能認爲自己符合邏輯,而且數學很好,但坦率地說,當涉及到直接從塊中刪除乾淨的可維護代碼時,這真的不值一提。這不是精英主義者,並且說周圍沒有很多有天賦的自學的編碼員,但是就像它需要練習,錯誤和失敗才能達到勝任能力的任何工藝一樣。

而是看看爲什麼你以前的努力都失敗了:

  • 你使用「便宜」的勞動力?找到那些經驗有限的人「做網站」是非常普遍的,他們坦率地超出了簡單HTML以外的任何東西。
  • 你沒有正確指定?如果您與開發人員存在「溝通不暢」問題,則問題更可能是您的規範而不是開發人員。對於像你這樣的人來說,通過揮動手中的'web 2.0''例子'來指定'網站是非常常見的,但並不真正提供他們實際期望的硬性規範。失望之後不可避免地會出現。
  • 您是否將設計師與編碼器混淆了?除了非常小的網站之外,兩者並不相同,您應該期望爲每個區域聘用具有適當技能的不同人員。

我可以建議一些方法。如果您真的想嘗試「開發」,那麼請使用內容管理系統,如DrupalJoomla。他們提供了很多開箱即用的功能,擁有堅實的社區,並且可以擴展所有功能。您甚至可以通過使用Artitseer或購買預先設計的模板來跳過使用設計器。如果你確實需要創建一個新的擴展,因爲你將專注於一個有限的模塊,你將有更好的成功機會,因爲你不必做出關於代碼結構的更基本的決定,即旅行初學者。

或者,如果你正在尋找的東西不適合CMS,你確實需要定製開發,那麼確保你的網站有詳盡的說明。 Balsamiq是用於佈局設計的極好的可視化工具,但您還需要大量的書面文檔來完整地指定所有輸入,輸出和過程。一旦你有這樣的表現聘請一個有良好記錄的專業開發人員。語言是次要的考慮因素,但要謹慎使用PHP開發的任何編碼器,因爲它具有易於使用的優點,因此傾向於吸引經驗較少的編碼人員。圍繞一個完善的框架進行部署也是一個好的方面。

終於記住舊的工程諺語:好,快,便宜。選擇任意兩個。

+1

感謝誠實Cruachan。我在上面的帖子中迴應了你的評論,談論爲什麼它會與其他開發者衝突,所以在這裏不會重複。但是我們並沒有停止尋找開發人員,如果我們找到另一個我們喜歡的人,我們很樂意與他們合作。我不是用我自己的學習編程取代我的搜索,我是並排做他們。我仍然覺得有好的地方可以找到我們還沒有看過的開發者,到目前爲止一些答案正在證實這種感覺。但即使我們明天發現了一位優秀的開發人員,我仍然想要學習編碼...... – Mugatu 2010-05-26 16:54:37

+1

...所以我可以更好地理解幕後發生的事情,更好地瞭解我們未來的網站想法會採取什麼措施工作和時間明智,所以在討論我希望我們的網站如何工作時,我可以知道我在說什麼。我覺得想要讓人們在不知道網站如何製作的過程中永遠不會太好。我也試圖重新思考並重新修改我們當前的想法,使它們更簡單,所以如果/當我們找到另一位開發人員時,我們有一個更容易的項目供他開展工作。我不會把我所有的雞蛋都放在我自己的編碼籃中,可以這麼說 – Mugatu 2010-05-26 17:02:25

1

您的問題似乎是缺乏對可用技術的理解。如果不是幾年,學習如何有效地使用它們將需要幾個月的時間。

我會建議你研究一下你究竟做了什麼。找到可靠的程序員爲你完成這項工作並不難,但你需要能夠指定你在做什麼。

解釋你所追求的將比自己學習的時間少得多。

這不是爲了阻止你在編程方面尋求一條道路,而是要意識到要花上你多年的努力才能變得像你想要的那樣好。

1

除非你真的認爲網絡編程將是你未來20年的熱情,那麼我就不會開始學習它。最好的程序員對他們的工藝充滿激情,那些是你想僱傭的男人/女孩的類型。需要2 - 3年的時間才能獲得紮實的背景和足夠的經驗,足以勝任甚至開始考慮制定像您這樣的項目。

如果你確實有資金做一個項目,然後去到一個網站像TopCoder並從頭開始:

  1. 運行概念化的競爭。
  2. 跑軟件規格的競賽。
  3. 舉辦設計/建築競賽。
  4. 運行競爭促進發展。
  5. 參加競賽測試。

按照上面指定的順序進行操作,並在每一步中使用前面的結果。你會得到10-15人爲你的項目的每個部分進行競爭,這將是一個堅實的最後期限完成,你會得到挑選幾個競爭版本中最好的一個,它不會花費你更多比完成整個事情的獨立承包商/自由職業者。

0

好奇。嘗試一些小的東西(可能小於你認爲的有趣)。失敗。試試別的。犯一些錯誤。再試一次。找點小事吧。以此爲樂。嘗試更難。重複。

假設你不可避免地會遇到的挫折是因爲你不知道的東西,而不是你的工具吸吮。事實上,他們可能會吮吸,但他們可能比你少吸。閱讀(書籍,代碼,文章,偶爾會有一些詩歌),以便至少從廣義上講,您知道如何解決與您的問題類似的問題。

我不認爲你需要做出終身的承諾,但是你確實需要做出承諾,學習昨天你不知道的事情。如果幾年之後,你還在學習,並且已經構建了一些有用的東西,但是如果你重新開始,你不會以同樣的方式構建它們,那麼你大部分都是這樣做的。繼續下去,直到它不再有趣。如果你認爲自己知道所有重要的事情,那就退出行業吧,因爲那時你要麼不如自己認爲的那麼好,要麼就是沒有做任何有價值的事情。

對於網絡編程,您選擇的語言並不重要,但如果您沒有找到Ruby或Python的回報,那麼對您來說沒有太大的希望。學習C#,Java或更多「主流」語言,你不會做任何特別錯誤的事情。你需要學習足夠的HTML來製作一些醜陋的東西,足夠的JavaScript來混淆你,並且可能足夠危險的SQL。

0

嘿,你就像我一樣! 我對網站有很好的想法,並且想要創造一個愛好。就在幾個月前,我知道HTML的0%。現在我可以創建簡單的Web 2.0論壇,分類廣告網站等。 以下是我所做的,並希望它能幫助您。 (這是我的意見,以什麼會幫助你最好)

  1. 轉到w3schools。這是一個網站,向您解釋許多計算機語言的基礎知識。首先查看HTML部分。學習HTML是必須的。花2-3天的時間學習並在HTML中創建基本網站。

  2. 轉到PHP部分。 PHP專門用於Web開發(製作網站)。與其他Web開發語言相比,它非常容易學習。 PHP很容易在你的電腦上設置(xampp)。基本上你可以在幾天內建立並運行一個網站 - 這很容易,你只需要付出努力。瀏覽該部分,如果PHP看起來非常適合您學習,請轉至步驟3.如果不是,請查看其他語言,ruby/java上的python/rails。

  3. 獲取XAMPP。這個程序基本上使你的電腦或筆記本電腦成爲一臺服務器,這意味着你可以運行網站使用此youtube video來幫助您安裝它。 (將帶你一步一步地)

  4. 獲得這本書。 head first PHP/Mysql。如果你之前沒有做過任何Web開發,這可能是用來學習PHP/Mysql的最好的書。它像一個「新生兒」,並告訴你點擊這個,複製這個,不是什麼。完成本書後,您可以創建簡單的Web 2.0網站。所有的第一本書都很好。

  5. 練習,練習和練習。

0

試試這個電子書:Learn Python the Hard Way

這本書是誰想要了解代碼的人一個非常初級的書。它旨在讓那些沒有編碼的人在開始更詳細的書之前建立自己的技能。

你可以在這裏下載的書:
LearnPythonTheHardWay.pdf

這本書是非常簡單的:在所有

  • 52演習。
  • 26只包含輸入/輸出,變量和函數。
  • 26蓋邏輯(布爾代數,if語句,while循環等)

每個練習是一或兩頁和隨後的完全一樣的格式。你輸入每一個(沒有複製粘貼!),讓它運行,做額外的功勞,然後繼續。如果您遇到困難,至少輸入並稍後跳過額外功勞。