Programiranje

7 razlogov, zakaj so ogrodja novi programski jeziki

V osemdesetih letih prejšnjega stoletja je bil najlažji način, da ste začeli boj s piflarji, razglasiti, da je vaš najljubši programski jezik najboljši. C, Pascal, Lisp, Fortran? Programerji so ure in ure natančno razlagali, zakaj je njihov poseben način oblikovanja klavzule, če je drugače boljši od vašega.

To je bilo takrat. Danes so bitke, ki vključujejo sintakso in strukturo, v veliki meri končane, ker se je svet združil po nekaj preprostih standardih. Razlike med podpičji, zavitimi oklepaji in še ne v jeziku C, Java in JavaScript so majhne. Zanimive razprave o tipkanju in zapiranju še vedno obstajajo, vendar je večina spornih, ker avtomatizacija zapolnjuje vrzel. Če ne želite določiti podatkovne vrste, obstaja velika verjetnost, da bo računalnik lahko ugotovil, kaj ste mislili. Če vaš šef želi JavaScript, vendar vam je všeč Java, bo navzkrižni prevajalnik pretvoril vso vašo statično natipkano Javo v pomanjšani JavaScript, pripravljen za zagon v brskalniku. Zakaj se boriti, ko nas tehnologija podpira?

Danes je zanimiva akcija v okvirih. Ko sem sedel z drugimi člani fakultete na univerzi Johns Hopkins, da sem načrtoval nov tečaj, so v pogovoru prevladovali okviri. Je Angular boljši od Emberja? Je Node.js vse to?

Oblikovali smo anketni tečaj, ki bi raziskoval arhitekturo najpomembnejših programskih paketov, ki so temelj interneta. To je bilo središče dogajanja, vredno anketnega tečaja, ki bi raziskal arhitekturo najpomembnejših programskih paketov, ki obdajajo današnji internet.

V tem smislu so ogrodja novi programski jeziki. Tam najdemo najnovejše ideje, filozofije in praktičnosti sodobnega kodiranja. Nekateri plamenijo, a mnogi postajajo novi temeljni gradniki programiranja. Tukaj je sedem vidikov, ki spodbujajo okvirni trend - in postavljanje okvirov v novo priljubljeno središče za bitke nerd.

Večina kodiranja je povezovanje API-jev

Včasih je pisanje programske opreme pomenilo, da ste uporabili vse svoje znanje programskega jezika, da bi kar najbolje iztisnili kodo. Smiselno je bilo obvladati zapletenost kazalcev, funkcij in obsega - kakovost kode je bila odvisna od pravilnega ravnanja. Dandanes večina tega rešuje avtomatizacija. Če v kodi pustite ničvredne izjave, ne skrbite. Prevajalnik odstrani mrtvo kodo. Če pustite kazalce viseče, bo zbiralnik smeti to verjetno ugotovil.

Poleg tega je praksa kodiranja zdaj drugačna. Večina kode je zdaj dolga vrsta klicev API. Občasno preoblikujemo podatke med klici API, vendar tudi ta opravila običajno obdelujejo drugi API-ji. Nekaj ​​srečnežev lahko napiše pametno kodo za razbijanje kazalcev za drobovje naših strojev, toda večina od nas dela z višjimi plastmi. Preprosto poženemo cev med API-ji.

Zaradi tega je bolj pomembno razumeti, kako se API obnaša in kaj lahko naredi. Katere podatkovne strukture sprejema? Kako se obnašajo algoritmi, ko nabor podatkov naraste? Takšna vprašanja so za današnje programiranje bolj osrednja kot vprašanja o skladnji ali jeziku. Dejansko je zdaj na voljo več orodij, ki omogočajo preprosto klicanje rutine v enem jeziku iz drugega. Primerno je na primer povezati knjižnice C s kodo Java. Pomembno je razumevanje API-jev.

Na ramenih velikanov je vredno stati

Predstavljajte si, da ste postali učenec Erlanga ali drugega novega jezika. Odločite se, da ponuja najboljšo platformo za pisanje stabilne aplikacije brez napak. To je lepo mnenje, vendar bi lahko pretekla leta, da vso zadnjo kodo, ki je na voljo za Javo ali PHP, prepišete v svoj najnovejši izbrani jezik. Seveda bi se lahko izkazalo, da je vaša koda bistveno boljša, vendar je to vredno dodatnega časa?

Okviri nam omogočajo trdo delo tistih, ki so prišli pred nas. Morda nam ni všeč arhitektura, ki so jo izbrali, in se lahko prepiramo glede podrobnosti izvedbe, vendar je učinkoviteje zadušiti naše pritožbe in najti način, kako živeti z razlikami. Preko okvira je toliko lažje podedovati vse dobre in slabe osnove kode. Če vzamete mačo pot tako, da vse napišete sami v svojem najljubšem novem jeziku in ne v enem izmed njegovih bolj priljubljenih okvirov, vam ne bo omogočeno, da uživate v smetani svoje nove izbire tako hitro, kot bi se preprosto odzvali na izdelovalce ogrodja in njihove API-je.

Pomembno je poznavanje arhitekture in ne skladnje

Ko večina kodiranja niza API-jeve klice, ni veliko prednosti pri učenju posebnosti jezika. Seveda bi lahko postali strokovnjak za to, kako Java inicializira statična polja v objektih, vendar bi bilo veliko bolje, če bi ugotovili, kako izkoristiti moč Lucene ali JavaDB ali kakšnega drugega kupa kode. Lahko bi mesece preživljali z optimizacijskimi rutinami prevajalnikov Objective-C, toda ob učenju najnovejših Appleovih osnovnih knjižnic bo vaša koda resnično kričala. Precej podrobneje se boste naučili izbirčnih podrobnosti ogrodja kot sintakse jezika, na katerem temelji.

Večina naše kode preživi večino svojega časa v notranjih zankah knjižnic. Pravilno določanje podrobnosti jezika lahko pomaga, toda vedeti, kaj se dogaja v knjižnicah, se lahko dramatično izplača.

Prevladujejo algoritmi

Učenje programskega jezika vam lahko pomaga pri žongliranju s podatki, shranjenimi v spremenljivkah, vendar vas to vodi le tako daleč. Prava ovira je pravilnost algoritmov, ki jih običajno določijo in izvajajo okviri.

Mnogi programerji razumejo, da je porabiti čas za ponovno uvedbo standardnih algoritmov in podatkovnih struktur nevarno in zapravljivo. Seveda ga boste morda nekoliko prilagodili svojim potrebam, vendar tvegate napake. Ogrodja so bila v preteklih letih široko preizkušena. Predstavljajo našo skupno naložbo v programsko infrastrukturo. Ni veliko primerov, ko je smiselno "iti iz mreže", odvrniti trdo delo drugih in z lastnimi rokami zgraditi algoritemsko kabino.

Pravi pristop je preučiti okvire in se naučiti, kako jih najbolje uporabiti. Če izberete napačno podatkovno strukturo, lahko linearno opravilo spremenite v tisto, ki traja čas, ki je kvadratna funkcija vhodne velikosti. To je velika težava, ko postaneš virusna.

$config[zx-auto] not found$config[zx-overlay] not found