編程的世界對於局外人來說很難掌握。例如,如果你沒有編程經驗,你可能不知道哪種語言最適合初學者學習。
然而,對編程的誤解更進一步。儘管像“軟件工程師”、“web開發人員”和“程序員”這樣的術語經常出現,但是他們的工作有一些關鍵的區別,你應該知道。讓我們來看看是什麼讓編程和web開發如此不同。
雖然這兩種類型的專業人員都會鍵入代碼行來讓事情在計算機上發生,但他們的關注點卻大相徑庭。程序員所做的東西各不相同,但通常是創建全新的計算機應用程序或在現有軟件的基礎上進行添加。另一方面,Web開發人員專門負責構建和維護網站。
要理解區別,請考慮web設計器的角色。設計者創建網站的模型,並可能規劃其功能集。不過,這個人不需要編寫任何代碼來完成這一點。他們可能會使用Adobe Dreamweaver這樣的程序來阻止網站設計,或者在Photoshop中構建模型。
Web開發人員架起了這些Web設計師和程序員之間的橋樑。當一個網頁設計師想出一個網站的想法時,網頁開發者會按照他們的規範來構建它。在這個項目中,程序員的角色可能是創建一個新的工具來幫助處理網站訪問者的請求。從長遠來看,程序員會在應用程序完成後繼續工作,而web開發人員可能會負責更新和維護網站。
另一個重要的問題是每個專業人員的工作範圍。在商業環境中,程序員的任務可能是擴展公司使用多年的專有軟件。
因此,他們可能會花費大量的時間來找出舊應用程序的代碼,並嘗試為其添加新的功能,因為公司不想丟棄對其業務至關重要的軟件。在網站設計方面,當一家公司想要一個新網站時,很少會通過外科手術添加新的部分。對於網站來說,從頭開始更有效率。
您可能知道,有幾十種不同的編程語言,它們都有不同的優點和用途。構建移動應用程序的人將使用與構建web應用程序的人不同的語言——我們已經討論瞭如何選擇正確的web編程語言。
web開發人員使用HTML(它不是真正的編程語言)來組織文本,CSS(也不是真正的編程語言)來定製文本的顯示方式。然後,他們使用JavaScript進行客戶端工作(比如檢查登錄時是否將password字段留空),使用PHP進行服務器端行為(比如搜索用戶輸入的術語)。當然,在web開發中也會用到其他語言,比如Ruby。
另一方面,程序員可以使用任意數量的語言來構建他或她所需要的應用程序。根據情況,程序員可以使用C++、java、C++、Python、C或任何其他選擇來構建應用程序。
這些差異的一個重要含義是,web程序員必須定期跟上所用語言的變化。由於這些語言的快速發展,2015年編寫的一本關於網絡編程的教科書可能已經嚴重過時。因此,網絡編程課程通常是通過在線資源而不是書本進行教學。
相比之下,1985年用C語言編寫的教科書在教學生這門語言方面仍然相當有效,因為幾十年來變化不大。當然,有一些風格標準和最佳實踐是老資源可能會錯過的,但遠未達到web開發的水平。
您可能不這麼認為,但是上面討論的語言實際上在幕後執行非常不同的功能。
java和C++等編程語言是高級語言,這意味著C++代碼的輸入是從編譯的實際機器指令中抽象出來的。用低級語言編寫,比如彙編代碼,將是非常乏味和困難的。這些較低級別的代碼與硬件密切相關,因此必須指定將數據移入和移出特定的內存寄存器。
例如,查看這個示例程序集代碼,以從LMU的計算機科學網站打印“Hello,World”:
global _start section .text_start: ; write(1, message, 13) mov rax, 1 ; system call 1 is write mov rdi, 1 ; file handle 1 is stdout mov rsi, message ; address of string to output mov rdx, 13 ; number of bytes syscall ; invoke operating system to do the write ; exit(0) mov eax, 60 ; system call 60 is exit xor rdi, rdi ; exit code 0 syscall ; invoke operating system to exitmessage: db "Hello, World", 10 ; note the newline at the end在C++中,鍵入這個簡單的行將執行相同的功能:
std::cout << "Hello, World";我們可以看到,當代碼程序員類型實際編譯時,機器會將其處理成計算機可讀的表單,以創建一個工作應用程序。這與大多數不需要編譯的web開發工作形成了顯著的對比。有些“基於web的應用程序”在web服務器上編譯和運行,但顯示在客戶端計算機上,但這是應用程序程序員和web開發人員之間的灰**域的例外。
前面,我們提到HTML和CSS不是真正的編程語言。相反,HTML是一種標記語言,CSS是一種樣式表語言。它們的語法描述了頁面上的內容、組織方式(HTML)和外觀(CSS)。它們是用於表示的,而編程語言是功能性的。你可以自己測試——在你的計算機上創建一個名為測試.html使用一些基本的HTML代碼,例如:
<h2>This dem***trates why <i>HTML is not a programming language</i>, but rather a <u>markup</u> language.</h2>保存它並在您選擇的瀏覽器中打開,您將看到您指定的HTML已經在您的瀏覽器中生效。沒有編譯代碼;您的瀏覽器只知道如何解釋HTML。把它和一個短的C++程序進行比較,輸出“嗨!”在屏幕上——如果沒有編譯器,你就不能像在線工具或VisualStudio那樣讓代碼做任何事情。
可以說,web開發人員是程序員的一個子集,因為這兩個職位都有類似的方法和技能。Web開發人員使用程序員不願意使用的技能和工具,例如圖形設計實用程序和視頻編輯軟件。此外,web開發人員通常比程序員更經常地與客戶聯繫。一個程序員創建了Mozilla Firefox,但是一個web開發人員構建Mozilla.com.
如果你想開始編程,微軟的免費開發工具是一個很好的開始。如果您傾向於web開發,我們可以幫助您在前端和後端web開發之間進行選擇。
...別–php與.net PHP被用於YouTube、Facebook和Wikipedia等大型應用程式。NET框架由以下技術組成ASP.NET, ADO.NET公司WPF,WCF,LINQ,winforms和實體框架。它們在構建桌面、移動和web應用程式時非常有用。PHP可以使網站動態化,因此可以根據各種...
設計師過去也必須是編碼員或程式設計師,但現在不是這樣了。在過去五年左右的時間裡,開發人員試圖讓人們更容易地將他們的使用者介面(UI)或使用者體驗(UX)的想法帶到生活中變得越來越普遍。 ...
...的智慧照明解決方案也可以使用這個免費的基於web和應用程式的服務捆綁在一起。 ...
超過磚和臼,計算機程式碼和畫素是二十一世紀經濟的基礎。如果您曾經在瀏覽器中檢視過“頁面原始碼”或“開發人員工具”,您可能會遇到一堆亂七八糟的文字,並想知道這是如何使網頁工作的。 ...
...作,但他們關注的是不同的事情。UI和UX設計者都對應用程式的設計感興趣,只是不同的方面。為了更好地理解這一點,讓我們看看每個角色。 ...
...計算機、檔案和服務。 Windows10和WindowsServer共享類似的程式碼 如果載入一個乾淨的windows10和windowsserver2016,一開始很容易混淆這兩個版本。它們可以有相同的桌面、相同的開始按鈕,甚至相同的任務檢視按鈕。它們使用相同的...
...體更糟糕 未經修改的庫存Android:任何想將**作為androidone程式的一部分發布的**商都不能用定製面板之類的東西來修改作業系統。 定期安全更新:任何為Android-One生產**的**商都必須定期進行安全更新。 嚴格的硬體要求:谷歌基...
微軟提供了幾種不同的方式來執行各種辦公程式,如桌面應用程式、Android或iPhone/iPad的移動應用程式以及網路瀏覽器中的線上應用程式。正如您所想象的,線上和移動應用程式版本不如桌面版本強大,但您可能仍然會發現它們...
...ws 10上安裝Linux發行版,您不再執行bash.exe只安裝了Ubuntu的程式。相反,您可以從Microsoft應用商店中選擇要使用的Linux發行版。 如果你在windows10的Fall Creators更新中安裝了舊的“Bash-on-Ubuntu-on-Windows”軟體,微軟建議你遷移檔案,解...