kasulikke artikleid

Millist programmeerimiskeelt peaksin kõigepealt õppima?

Lugupeetud Goldavelez.com!

Kõigi kodeerimise õppimise kohta käivate summutega otsustasin proovida. Probleem on selles, et ma pole kindel, kust alustada. Milline on parim programmeerimiskeel minusugusele algajale?

Allkirjastatud,

Võiks olla kodeerija

Lugupeetud võiks olla

See on ilmselt esmakursuslaste üks populaarsemaid küsimusi ja see on asi, mille üle arutlevad ka koolitajad. Asi on selles, et võite küsida kümnelt programmeerijalt, mis on kõige parem keel jalgade märjaks saamiseks, ja võite kümmet erinevat vastust - võimalusi on tuhandeid. Milline keel te alustate, sõltub mitte ainult sellest, kui algajasõbralik see on, vaid ka sellest, milliseid projekte soovite töötada, miks olete huvitatud kodeerimisest ja võib-olla ka sellest, kas mõtlete seda elatiseks teenides. Siin on mõned kaalutlused ja soovitused, mis aitavad teil otsustada.

Miks soovite õppida koodima?

Sõltuvalt sellest, mida soovite teha või teha, võidakse teie valik juba teie eest teha. Näiteks veebisaidi või veebirakenduse ehitamiseks peaksite interaktiivsuse saamiseks õppima HTML-i ja CSS-i, lisaks JavaScripti ja võib-olla ka PHP-d. Kui teie tähelepanu keskmes on peamiselt / ainult mobiilirakenduse loomine, võite sukelduda iOS-i rakenduste Objective-C õppimisse või Java-ga Androidi jaoks programmeerimise (ja muude asjade) juurde.

Kui soovite minna kaugemale ühest konkreetsest projektist või erialast või soovite õppida hulgaliselt keeli, on kõige parem alustada programmeerimise põhimõistete õppimisest ja sellest, kuidas mõelda "kooderina". Nii saate oma oskusi uue keele õppimiseks (võib-olla kõigest 21 minutiga) kasutada, olenemata esimesest programmeerimiskeelest. Isegi laste kodeerimisrakendused võivad olla kasulikud. Näiteks esimene ametlik programmeerimiskursus, mille ma võtsin (noh, peale BASICi tagasi neljandas klassis) oli Harvardi CS50, mille saate võtta tasuta. Professor Malan alustab kursust Scratchiga, mis on lastele loodud lohistamisprogrammeerimiskeskkond, mis õpetab kodeerimise põhitõdesid ja loogikat - aidates teil luua midagi lahedat - ja seejärel õpetab ta teile C.

Oleme aastate jooksul kirjeldanud mitmeid teisi suurepäraseid ressursse koodide õppimiseks, näiteks interaktiivne kursus Codecademy, kuid isegi nende puhul, mille jaoks peate ikkagi valima, millest keelt alustada. Vaatleme siis erinevusi populaarsemate ja nende vahel, mida soovitatakse kõige sagedamini algkeelena.

Kõige sagedamini soovitatavad programmeerimiskeeled algajatele

Enamik programmeerimiskeeli, näiteks C, Java, C #, Perl, Ruby ja Python, saavad teha samu või peaaegu samu ülesandeid kui teised. Näiteks Java töötab platvormideüleselt ja seda kasutatakse veebirakenduste ja aplettide jaoks, kuid ka Ruby saab teha suuri veebirakendusi ja Pythoni rakendusi, mis käituvad sarnaselt Linuxis ja Windowsis. SOA World juhib tähelepanu sellele, et kuna paljud keeled on üksteise järel modelleeritud, on nende kallal töötamise süntaks või ülesehitus sageli peaaegu identne, nii et ühe õppimine aitab sageli teiste õppimist. Näiteks "Tere maailma" printimiseks on Java ja C # süntaktiliselt sarnased nagu Perl ja Python:

Need erinevad aga selle poolest, kui kerge on neid üles seada ja sisse pääseda. SOA maailm jätkub:

Hei, muide, kui te neid näiteid tähelepanelikult vaatasite, siis märkate, et mõned neist on lihtsad, teised keerulised ja mõned nõuavad semikooloneid rea lõpus, teised aga mitte. Kui alles alustate programmeerimisega, on mõnikord parem valida keeli ilma paljude süntaktiliste (või loogiliste) reegliteta, sest see võimaldab keelel "omal moel välja tulla". Kui olete ühte keelt proovinud ja sellega tõesti vaeva näinud, proovige lihtsamat!

Siin on kiire populaarseimate programmeerimiskeelte võrdlus:

C: Treenib teid efektiivse koodi kirjutamiseks

C on üks, kui mitte, siis kõige laialdasemalt kasutatav programmeerimiskeel. Sellel on mõned põhjused. Nagu märkis programmeerija ja kirjanik Joel Spolsky, on C programmeerimine, kuna anatoomia põhiosa õppimine on arsti jaoks. C on "masinataseme" keel, nii et saate teada, kuidas programm riistvaraga suhtleb, ja saate õppida programmeerimise põhialuseid madalaimal riistvara tasemel (C on Linuxi / GNU alus). Saate teada selliseid asju nagu silumisprogrammid, mäluhaldus ja arvutite tööpõhimõtted, mida te ei saa kõrgema taseme keeltest, näiteks Java - kõik samal ajal, kui valmistate ette teiste keelte tõhusat kodeerimist. C on paljude teiste kõrgema taseme keelte, sealhulgas Java, C # ja JavaScripti "vanaisa".

C-koodis kodeerimine on rangem ja sellel on järsem õppimiskõver kui teistel keeltel. Kui te ei kavatse töötada riistvaraga liidestavate programmide kallal (näiteks seadme draiveritesse või opsüsteemi laienditesse), siis õppige C lisab teie haridusaega, võib-olla asjatult. Stack Overflow korral on hea arutelu C kui versiooni Java kui esimese keele üle. Enamik inimesi on suunatud C. poole. Kuid isiklikult, kuigi mul on hea meel, et C-ga kokku puutusin, ei usu ma, et see oleks väga algajasõbralik keel. See õpetab teile distsipliini, kuid enne kui saate midagi kasulikku teha, peate õppima kohutavalt palju. Kuna see on nii range, võite pettuda nii:

Java: üks praktilisemaid keeli, mida õppida

Java on teine ​​populaarseim programmeerimiskeel ja seda keelt õpetatakse Stanfordi tuntud (ja tasuta) CS-i programmeerimiskursusel. Java rakendab tahkeid objektorienteeritud põhimõtteid (OOP), mida kasutatakse tänapäevastes keeltes, sealhulgas C ++, Perl, Python ja PHP. Kui olete Java õppinud, saate ka muid OOP-keeli üsna hõlpsalt õppida.

Java eeliseks on pikk kasutusajalugu. "Katlaplaatide" näiteid on palju, seda on õpetatud aastakümneid ja seda kasutatakse laialdaselt paljudel eesmärkidel (sealhulgas Androidi rakenduste arendamiseks), nii et see on väga praktiline keel, mida õppida. Te ei saa masinatasemel juhtimist, nagu teeksite C puhul, kuid pääsete juurde kõigi oluliste arvuti osade jaoks, näiteks failisüsteem, graafika ja heli, ja saate sellega manipuleerida kõigi üsna keerukate ja kaasaegsete programmide jaoks, mida saab kasutada mis tahes opsüsteemis.

Python: lõbus ja lihtne õppida

Paljud inimesed soovitavad Pythonit kui parimat algaja keelt selle lihtsuse, kuid suurepäraste võimaluste tõttu. Kood on hõlpsasti loetav ja rakendab head programmeerimisstiili (nagu taane), ilma et see oleks süntaksi suhtes liiga range (nt meenutades iga rea ​​lõppu semikoolonit). Patrick Jordan ariel Computing'is võrdles erinevates keeltes (BASIC, C, J, Java ja Python) lihtsa skripti kirjutamiseks kuluvat aega ja leidis, et kuigi teisi keeli ei tohiks eirata, siis Python:

etteantud eesmärgi saavutamiseks on vaja vähem aega, vähem koodiridu ja vähem mõisteid. […] Lõpuks on Pythonis programmeerimine lõbus! Lõbus ja sagedane edu tõstab enesekindlust ja huvi õpilase vastu, kellel on siis paremad võimalused programmeerimise jätkamiseks.

SOA ütleb, et Python on absoluutne kohustus algajatele, kes soovivad Linuxiga jalad märjaks saada (või on Linuxiga juba tuttavad). Pythoni populaarsus tõuseb täna kiiresti ka tänu laialdasele kasutuselevõtule populaarsetel veebisaitidel nagu Pinterest ja Instagram.

JavaScript: veebisaitide paremaks hüppamiseks ja loomiseks

JavaScripti (vähese seosega Java-ga) jaoks on vaja alustamiseks kõige vähem seadistusi, kuna see on juba veebibrauseritesse sisse ehitatud. O'Reilly Media soovitab teil alustada JavaScriptiga, kuna sellel on suhteliselt andestatav süntaks (JavaScriptis saate kodeerida lõdvalt), näete oma koodist koheseid tulemusi ja te ei vaja palju tööriistu. Öökoolis õpime koodi kodeerimisel kasutame JavaScripti, et näidata teile põhitõdesid, nagu muutujate ja funktsioonide toimimine. Kui soovite teha veebi jaoks lahedaid interaktiivseid asju, on JavaScript kohustuslik oskus.

Tee valimine

Viimane kaalutlus on see, kas võiksite minna kodeerimisest kui hobist karjääri tegemiseni või mitte. Dev / Code / Hack jaotab erinevad töörollid ja oskused, mida peaksite nende jaoks omandama:

Taustrakenduse / serveripoolne programmeerija: kasutab tavaliselt ühte järgmistest: Python, Ruby, PHP, Java või .Net. Omab andmebaasiteadmisi. Võimalik, et tal on mõned süsteemiadministratsiooni teadmised.

Programmi kasutajaliides / klient-pool: HTML, CSS, JavaScript. Võimalik, et tal on disainioskus.

Mobiiliprogrammeerija: Objective-C või Java (Androidi jaoks). HTML / CSS mobiilisaitidele. Võimalik, et tal on serveripoolseid teadmisi.

3D-programmeerija / mänguprogrammeerija: C / C ++, OpenGL, animatsioon. Võimalik, et tal on hea kunstioskus.

Suure jõudlusega programmeerija: C / C ++, Java. Võib omada tausta matemaatikas või kvantitatiivses analüüsis.

Lõpuks pole siiski ühte viisi, kuidas alustada koodide õppimist. Kõige olulisem on õppida põhialuseid nn sügeluse kratsimise teel, töötades probleemidega, mida soovite lahendada, või midagi, mida soovite ehitada. Kuna programmeerimine on kohutav, ütleb blogi:

Esimene õpitav programmeerimiskeel on tõenäoliselt kõige raskem õppida. Midagi väikest ja lõbusat valides on see vähem väljakutse ja seiklus. Nii kaua pole vahet, kust alustate - jätkake koodi kirjutamist, koodi lugemist. Ärge unustage seda ka testida. Kui teil on üks keel, millega olete rahul, pole uue keele valimine vähem vaeva ja te omandate uusi oskusi.

Kui olete juba otsustanud, soovitab Bento eelnevalt mainitud ressursse ja kursusi, mida vajate pärast oma esimese keele õppimist.

Armastus,

Goldavelez.com