什么是最適合初學(xué)者的編程語(yǔ)言?
從小我就知道我想成為一名程序員。關(guān)于它的事情總是令人興奮。編程就像一個(gè)思維難題,您需要找出如何利用計(jì)算機(jī)來(lái)表達(dá)自己的創(chuàng)造力。剛開(kāi)始的時(shí)候,我很迷茫,不知道從哪里開(kāi)始。我最終選擇了Java,主要是因?yàn)檫@是我真正聽(tīng)說(shuō)過(guò)的唯一語(yǔ)言(謝謝,《我的世界》)。我不知道Java是用來(lái)做什么的。從Codecademy開(kāi)始,我學(xué)習(xí)了非?;镜目刂婆_(tái)語(yǔ)法。我覺(jué)得這很無(wú)聊,因此,我從中學(xué)不到任何東西。不幸的是,這段經(jīng)歷使我離開(kāi)了很長(zhǎng)一段時(shí)間。
如果您迷失了方向,不知所措,我想讓您知道您并不孤單。有太多不同的技術(shù),語(yǔ)言,框架,庫(kù)等,因此很容易忘記每個(gè)功能。我想,您單擊本文的原因是您有這種感覺(jué),并問(wèn)自己"我從哪里開(kāi)始?"。這個(gè)問(wèn)題的問(wèn)題在于,沒(méi)有一個(gè)簡(jiǎn)潔明了的答案。就像問(wèn)"我應(yīng)該使用什么螺絲刀?"或"我的汽車(chē)最適合的輪胎?"。簡(jiǎn)短的答案是:這取決于。
選擇語(yǔ)言
當(dāng)您進(jìn)入編程領(lǐng)域時(shí),您需要考慮一些路徑和最終目標(biāo)。基本上,您想通過(guò)編程完成什么,您想解決什么問(wèn)題。不要僅僅因?yàn)槟骋环N語(yǔ)言受歡迎而選擇一種語(yǔ)言,或者您的朋友說(shuō)您應(yīng)該嘗試一下。您想學(xué)習(xí)一種用于構(gòu)建您熱衷的東西的語(yǔ)言。您需要對(duì)目標(biāo)進(jìn)行一些研究,并查看完成該任務(wù)需要哪些技術(shù)。
一個(gè)例子
假裝您想了解Web開(kāi)發(fā)。為了幫助您理解,我將在Medium網(wǎng)站上對(duì)此進(jìn)行解釋。 Web開(kāi)發(fā)的第一部分是前端。當(dāng)您在Medium網(wǎng)站上閱讀文章時(shí),您正在看的是前端。它使用三種語(yǔ)言構(gòu)建:HTML,CSS和JavaScript。 HTML和CSS不是編程語(yǔ)言,而是與JavaScript一起使用以創(chuàng)建應(yīng)用程序的語(yǔ)言。 HTML(超文本標(biāo)記語(yǔ)言)用于向您的網(wǎng)站添加元素。您在中級(jí)文章中閱讀的文本全是HTML,按鈕和圖像也是如此。 CSS(層疊樣式表)使您可以設(shè)置頁(yè)面上看到的這些元素的樣式。本文中使用的字體,文本的位置,不同組件的不同大小,均由CSS控制。 JavaScript是用于Web開(kāi)發(fā)的編程語(yǔ)言。它用于向頁(yè)面上顯示的元素添加功能。當(dāng)您單擊作者帳戶(hù)上的"關(guān)注"按鈕時(shí),正在使用JavaScript。 JavaScript使用HTML和CSS制作了一個(gè)按鈕,用來(lái)跟蹤該帳戶(hù),然后開(kāi)始向您展示他們的故事。
Web開(kāi)發(fā)的第二部分是后端,用戶(hù)實(shí)際上看不到它。后端是存儲(chǔ)所有站點(diǎn)數(shù)據(jù)的位置,然后將其發(fā)送回前端,以供用戶(hù)查看。此帖子的評(píng)論或拍手?jǐn)?shù)量全部存儲(chǔ)在此。然后,您可以使用JavaScript來(lái)獲取此信息并對(duì)其進(jìn)行處理。我不會(huì)詳細(xì)說(shuō)明,但是希望您理解我要提出的觀點(diǎn)-您需要弄清楚要構(gòu)建和利用必要技術(shù)以完成任務(wù)的內(nèi)容。
您可以認(rèn)為它就像一臺(tái)機(jī)器一樣進(jìn)行編程。假設(shè)有一輛汽車(chē)。為了正常運(yùn)行,它需要引擎蓋下的各種不同部件一起協(xié)同工作。
學(xué)習(xí)資源
確定了要學(xué)習(xí)的語(yǔ)言后,下一步就是找到要使用的資源。這完全取決于您的學(xué)習(xí)方式和預(yù)算。通過(guò)閱讀或觀看視頻,您可能會(huì)學(xué)得最好。您可以花錢(qián)購(gòu)買(mǎi)課程或書(shū)籍,也可以只使用YouTube等免費(fèi)資源。學(xué)習(xí)編程并非要花錢(qián),而是要花費(fèi)時(shí)間。您的時(shí)間很寶貴,因此請(qǐng)確保明智地使用它。我將在下面鏈接到一些我發(fā)現(xiàn)最有用的資源。
1. Udacity
該網(wǎng)站提供免費(fèi)和付費(fèi)的編程課程以及各種其他主題。付費(fèi)的幾乎總是以10-11美元的價(jià)格出售。但是,這很受歡迎。有一些杰出的講師,然后有一些非常糟糕的老師。幸運(yùn)的是,他們確實(shí)提供30天退款保證,因此,如果您不喜歡自己的課程,則可以獲得全額退款。
如果您想學(xué)習(xí)Web開(kāi)發(fā),我目前正在上一門(mén)很棒的課程,我強(qiáng)烈建議您退房。這是那些有興趣的人的鏈接。
2. YouTube
該平臺(tái)上有大量免費(fèi)視頻,它們對(duì)于學(xué)習(xí)基礎(chǔ)知識(shí)和更高級(jí)的主題非常有幫助。盡管與Udemy一樣,它還是很受歡迎的。
我最喜歡的創(chuàng)作者包括Brad Traversy,Web Dev Simplified,The Net Ninja和Colt Steele。
3. Codecademy
一個(gè)免費(fèi)的網(wǎng)站,您可以邊做邊學(xué)。您在網(wǎng)站上有一個(gè)內(nèi)置的代碼編輯器,可以為您輸入的代碼提供即時(shí)反饋。這是一種習(xí)慣于編寫(xiě)代碼方式的有趣方式。他們提供了多種語(yǔ)言的大量課程。
4. FreeCodeCamp
與Codecademy非常相似的另一個(gè)站點(diǎn),您可以在其中瀏覽器中進(jìn)行編碼。雖然我沒(méi)有親自使用過(guò)該網(wǎng)站,但一直有人告訴我,它對(duì)了解基礎(chǔ)知識(shí)有很大幫助。對(duì)于那些對(duì)程序感興趣但還不想投資的人,它可以作為一個(gè)很好的切入點(diǎn)。
無(wú)論您選擇利用哪種資源,都需要確保自己也在練習(xí)。在學(xué)習(xí)了一個(gè)主題之后,嘗試并以此為基礎(chǔ)。
警告—不惜一切代價(jià)避免"教程地獄"
> via Freepik
正如我剛才提到的,構(gòu)建輔助項(xiàng)目對(duì)于成為一名成功的程序員至關(guān)重要。在學(xué)習(xí)編程時(shí),很有可能在某個(gè)時(shí)候發(fā)現(xiàn)自己陷入了"教程地獄"。這是一種學(xué)習(xí)狀態(tài),您必須依靠教程,不能自己構(gòu)建任何東西。您需要有人牽著手,告訴您確切的操作。沒(méi)有此幫助,您將無(wú)法做到。別誤會(huì),課程是學(xué)習(xí)編程語(yǔ)言基本語(yǔ)法的絕妙方法,但它們只占您學(xué)習(xí)內(nèi)容的25%。
絕大多數(shù)需要使用您所學(xué)的知識(shí)制作自己的應(yīng)用程序。我知道這非常難,因?yàn)樵谀抢镉泻芏嗾n程可以構(gòu)建出色的應(yīng)用程序。盡管您需要花一些時(shí)間并了解基礎(chǔ)知識(shí),然后再去構(gòu)建有趣的東西。我被困在教程地獄中浪費(fèi)了一年多的學(xué)習(xí)時(shí)間。我沒(méi)有動(dòng)力,我無(wú)法獨(dú)自做任何事情,而且對(duì)所教的內(nèi)容我?guī)缀鯖](méi)有保留。自從在我最近的課程中采用一種新方法,利用包括的編碼練習(xí)并嘗試在看到解決方案之前構(gòu)建應(yīng)用程序以來(lái),我學(xué)到了很多東西。
通過(guò)這樣做,您將學(xué)到的最重要的內(nèi)容是如何使用Google。您將學(xué)習(xí)如何獨(dú)自解決問(wèn)題?,F(xiàn)在這并不容易,但是未來(lái)的自己會(huì)感謝您。
總結(jié)
編程是一項(xiàng)很棒的技能。那里有許多種語(yǔ)言都可以滿(mǎn)足自己的目的并解決自己的問(wèn)題。您需要弄清楚自己的熱情是什么,并通過(guò)代碼進(jìn)行追求。這將是一條漫長(zhǎng)的路。當(dāng)然,這并不容易。您將在某個(gè)時(shí)候遇到障礙,您只需要為他們做好準(zhǔn)備,并且知道您會(huì)成功解決。
祝你好運(yùn)!
原文鏈接:
https://medium.com/codex/what-is-the-best-programming-language-to-learn-as-a-beginner-50f6f967fc4b















 
 
 







 
 
 
 