Need on peamised arvutiteaduse terminid, mida peaksite teadma, kui olete programmeerimises alles uus

Olulised CS terminoloogiad ja mõisted on selgitatud lihtsas inglise keeles

Kuna paljud mitte-CS-taustaga sõbrad ja perekonnad küsivad minult erinevate terminoloogiate ja mõistete kohta, püüan järgnevaid arvutiteaduse mõisteid selgitada võimalikult lihtsas keeles.

Selles kiires juhendis saate teada, mida iga termin / mõiste tähendab ja miks see oluline on :

  • Taustaprogrammi arendamine
  • Frontendi arendamine
  • Programmeerimiskeeled
  • Algoritmid
  • API
  • Viga
  • Avatud lähtekoodiga
  • Rahvaressurss

Selle artikli lõpus jagan ka mõnda ressurssi, et saaksite rohkem teada saada!

Taustaprogrammi arendamine

Võib-olla olete kuulnud mõistet “taustaprogrammi arendamine” üsna palju ümber visatud. Eriti kui olete LinkedIinis ringi käinud.

“Backend” viitab antud juhul tehnoloogia virna kihile. Enamasti hõlmab see andmete säilitamiseks andmebaasiga veebiteenuse kirjutamist või hooldamist.

Sageli seostatakse taustaprogrammi väljatöötamist selliste tehnoloogiatega nagu Java, Scala, Python, DynamoDB, MongoDB, nodeJS, MySQL, MapReduce ja palju-palju muud.

See on erinevalt esiotsa arendamisest, mis viitab sageli kasutajaliidese (UI) kihile või funktsiooni kliendipoolsele küljele.

Miks see oluline on

Eesmise ja taustaprogrammi erinevuste mõistmine annab teile teada, millistele komponentidele peaksite mõtlema, enne kui hakkate rakendust tulevikus arendama.

Frontendi arendamine

Eesliidese arendamine hõlmab sageli tööd kliendile suunatud funktsioonidega, nagu veebileht või iOS / Androidi rakendus.

Siin on kasutusel erinevat tüüpi tehnoloogiaid, nagu HTML, CSS, JavaScript, jQuery, React, Angular, Swift jne.

Põhjus, miks ma nimetan neid tehnoloogiateks ja mitte programmeerimiskeelteks, on see, et mõned neist on raamistikud, mis aitavad teil oma baase seadistada ja juhendada, kuidas te programmeerite, kuid need pole iseenesest programmeerimiskeeled. Nende näited on React ja Angular.

Programmeerimiskeel on inimeste jaoks lihtsalt viis arvutiga suhelda. Mõni võib väita, et HTML on programmeerimiskeel ... Ma arvan, et see on teise päeva teema. ?

Miks see oluline on

Frontendi arendus oli varem lihtsalt HTML, CSS ja JavaScript. Tänapäeval on see terve metsaline oma tehnoloogiate korstna ja tööriistade loomisega. Frontendi tehnoloogia areneb välkkiirelt. Soovitan tungivalt õppida frontend-tööriistu, et saaksite aru, mis tänases programmeerimismaailmas toimub.

Programmeerimiskeel

Arvuti suudab väga hästi käsklusi täita. Selleks, et meie, inimesed, saaksime arvutiga suhelda, vajame ühtset arusaadavate keelte komplekti - juhiste komplekti, milles nii inimesed kui ka arvutid saavad kokku leppida ja nendega suhelda.

Inimestes kasutame suhtlemiseks selliseid keeli nagu inglise, mandariini, hispaania jne.

Mis puutub arvutitesse, siis nimetame seda programmeerimiskeeleks . Programmeerimiskeel võimaldab inimestel ja arvutitel suhelda . Programmeerimiskeelte näited on Java, C ++, Python ja palju muud.

Miks see oluline on

Programmeerimiskeele õppimine võimaldab teil mõista, kuidas midagi, mida näete Internetis, töötab kapoti all - see on nagu teada, kuidas ja miks teie auto töötab. Mõne küünarnuki määrdega saate luua oma rakendusi, nagu ka Candy Crush või Twitter.

Algoritmid

Protsess või reeglite kogum, mida arvutuste või muude probleemilahendustoimingute puhul tuleb järgida, eriti arvuti poolt. - Google :)

Arvutid saavad suurepäraselt käske täita ja tarkvarainseneridena kirjutame arvutitele juhised nende täitmiseks. Algoritm on nimekiri samme või juhiseid, mida saab läbi viia koos või ilma arvuti, et lahendada konkreetset probleemi.

Üks esimesi probleeme, mida informaatikatudengina õpime, on sortimise probleem. Selle olemus on sortide või esemete kogumi sorteerimine kõige tõhusamal viisil.

Sorteerimise viise on palju. Populaarne on Bubble Sort, muidu tuntud kui “võrdlussort”. See hõlmab kahest elemendist suurema võrdlemist ja valimist ning kõigi teiste elementide kordamist, kuni kõik lõpuks sorteeritakse. Teised hõlmavad sisestamise sorteerimist, ühendamise sorteerimist ja palju-palju muud!

Soovitan teil neid väga uurida, kuna see on põnev algoritmide sissejuhatus. Algoritmide sorteerimise kohta lisateabe saamiseks kasutage Youtube'i videot.

Miks see oluline on

Algoritmid on arvutiteaduse tuum - mõistmine, mis on algoritmid ja kuidas need toimivad, muudab teid paremaks tarkvarainseneriks. Periood.

API

API, ehk rakenduse programmeerimisliides ehk teabeallikas. Konkreetsemalt öeldes kujutage ette, et teil oli kodus limonaad hästi. Naabrid tahavad teie limonaadi lonksu hästi, kuid te ei taha, et kaev reostuks. Mida sa siis teed?

Otsustasite ehitada vooliku, mis ühendub väikese voolikuga väljaspool teie maja. Kõik teie naabrid, kes soovivad teie maagilise limonaadi maitset, rivistuvad ja avavad vooliku, et pääseda teie limonaadile. Seda kõike ilma, et oleksite kunagi oma kaevu lähedale jõudnud, ja saate ka kontrollida, millal limonaadi pumbata, limonaadi välja vahetada, kui teie kaev kunagi otsa saab, või võib-olla laadida palju limonaadi joovaid inimesi.

See on tänapäeval paljude ettevõtete idee - need ettevõtted ehitavad väärtuslike andmete "kaevu" ja müüvad need seejärel teistele, kes soovivad neile andmetele API kaudu juurde pääseda.

Miks see oluline on

Internet tugineb tänapäeval sujuvale suhtlusele erinevate teenuste vahel. Nii saame luua tööriistu / veebisaite, mis omavahel räägivad. API on aluskiht, mis võimaldab kogu kommunikatsiooni toimuda. Sellepärast on oluline teada, kuidas ja mida Internet suhtlemiseks kasutab.

Viga?

Võimalik, et olete sotsiaalmeedia veebisaitidel näinud järgmist meemi ega pruugi aru saada, mida see tegelikult tähendab.

Viga on viga arvutiprogrammis, mis takistab programmi ootuspärast käitamist.

Oletame näiteks, et laadisite alla iOS-i rakenduse, mis on teatud tüüpi arvutiprogramm, mis peaks näitama Fahrenheiti kohalikku ilmastikutemperatuuri. Kuid iOS-i rakendus võib temperatuuri näidata ainult Celsiuse järgi, oodatud Fahrenheiti asemel.

Sellisel juhul ei toimi programm ootuspäraselt (peaks näitama Fahrenheiti, mitte Celsiust) ja te nimetaksite viga veaks.

See on tööstuses nii tavaline, et tarkvarainsenerid muutsid selle sisemiseks naljaks, seega meem: "see pole viga, see on funktsioon".

Miks see on oluline

Vigu tuleb ette kogu aeg. Selle teadmine aitab teil Internetis navigeerida ja asjadele tähelepanu juhtida, kui näete, et midagi ei tööta korralikult. Järgmine kord nimetate seda õigesti "veaks", mitte "see asi, mis seal ei hõlma".

Avatud lähtekoodiga

Püüan avatud lähtekoodi selgitada lihtsa analoogiaga, mille mõtlesin välja :)

Kujutage ette, et olete limonaadiputka omanik ja teile kuulub spetsiaalne retsept linna parima limonaadi valmistamiseks. Te ei jaga salaretsepti kellegagi, sest kardate, et keegi teine ​​võib selle võtta ja teie kliente varastada. Teie salaretsepti peetakse sel juhul suletud allikaks, kus kellelegi peale teie ei lubata sellele juurdepääsu.

Teise võimalusena võite ette kujutada, et jagate oma limonaadiretsepti vabalt veebis ja kasutate interneti jõudu, et aidata teil seda täiustada, et kõik saaksid parimat võimalikku limonaadi nautida ja sellest kasu saada. Sel juhul peetakse teie retsepti avatud lähtekoodiks, kuna see on vabalt kättesaadav ja teised võivad seda kaasa aidata, kasutada ja / või muuta.

See termin on muutunud palju populaarsemaks Facebooki leviku ja tehnoloogiaettevõtete laine tõttu, mis innustavad Interneti-kogukonda osalema uute ja põnevate tehnoloogiate väljatöötamisel.

Miks see oluline on

Internet on viimastel aastatel avatud lähtekoodiga tänu sellele palju kiiremini arenenud. See on revolutsioon ja kõik peaksid teadma, miks on mõttekas asju tasuta teha ja neid maailmaga jagada.

Rahvaressursside hankimine

Rahvaressursside hankimine - teabe hankimine või konkreetse ülesande või projekti sisestamine), palgates paljusid või tasustamata inimesi teenuseid, tavaliselt Interneti kaudu.

Crowdsource on idee panna suur hulk inimesi panustama ühise eesmärgi saavutamisse.

Oletame, et töötate uuesti sellesama limonaadialusega. Teie kliendid ütlevad, et teie limonaad vajab uut maitset. Mõistate, et Interneti jõudu kasutades võite paluda inimestel aidata teil parima limonaadi retsepti välja mõelda.

Seejärel saate luua Twitteri konto ja panna inimesi panustama oma parima limonaadi retseptiga kogu maailmast. Seda nimetatakse rahvahankeks, mis paneb inimesi panustama ühise eesmärgi saavutamisse (antud juhul limonaadi valmistamisse).

Miks see oluline on

Internet on võimaldanud kogu elanikkonnal ühineda ja panna oma parimad ajud maailma kõige raskemate väljakutsete taha. Rahvaressursside hankimine on võimaldanud meil seda Interneti kaudu sujuvalt teha. Ma arvan, et see on inimkonna jaoks tohutu samm edasi.

Soovitatavad ressursid

  • Stanfordi veebipõhine CS 101 - kursus annab teile põhiülevaate CS terminoloogiatest, kuidas Internet töötab, kuidas digitaalseid pilte moodustatakse ja töödeldakse jne. Mis kõige parem, see on TASUTA!
  • Pythoni krahhikursus - üks parimaid ressursse Pythoni programmeerimisega alustamiseks. Kui soovite programmeerimisega oma käsi määrida, soovitan alustada Pythoni ja järgmise raamatuga.
  • Python, praktiline juhend - see on huvitav raamat, mida saate hankida, kui olete Pythoni krahhikursusega lõpetanud. Kujutan ette, et saate teha suurema osa siin olevatest asjadest ilma raamatuta, kuid see annab teile üksikasjalikumaid üksikasjalikke juhiseid selle kohta, kuidas seda teha. Suurepärane inimestele, kes eelistavad õppida eeskujuga.
  • Algoritmide sissejuhatus - kui soovite rohkem teada saada algoritmidest, mis on arvutiteaduse põhiteema, on see raamat väga soovitatav. See on õpik paljude CS kursused.
  • Kodeerimisintervjuule pääsemine - see on minu isiklik treenerikursus, kus ma näitan teile, kuidas ma oma intervjuudeks valmistusin, oma kodeerimisintervjuu nõustamiseks vajalikke näpunäiteid ja palju muud.

Zhia Chong on Twitteri tarkvarainsener. Kuigi ta ei lohista koodi, mängib ta tennist, kirjutab artikleid või teeb Youtube'i videoid.

Kui teile see artikkel meeldis ja soovite selle koopia PDF-is saada, siis kaaluge minu postitusloendi tellimist, kus ma jagan valdkonna uudiseid, programmeerin pisipilte, intervjuude märkmeid ja palju muud!