Programmēšana

21 karsta programmēšanas tendence - un 21 auksta

Programmētājiem patīk ņirgāties par modes pasauli, kurā tendences izplūst kā vēsmas. Svārku garums pieaug un krīt, pigmenti nāk un iet, saites kļūst resnākas, pēc tam plānākas. Bet tehnoloģiju pasaulē stingrība, zinātne, matemātika un precizitāte valda pār iedoma.

Tas nenozīmē, ka programmēšana ir profesija, kurai nav tendenču. Atšķirība ir tāda, ka programmēšanas tendences nosaka lielāka efektivitāte, lielāka pielāgošana un ērta lietošana. Jaunās tehnoloģijas, kas nodrošina vienu vai vairākus no šiem, aizēno iepriekšējo paaudzi. Tā ir meritokrātija, nevis kaprīze-okrātija.

Tālāk ir saraksts ar to, kas ir populārs un kas nav starp mūsdienu programmētājiem. Ne visi piekritīs tam, kas ir A sarakstā, kas ir D sarakstā un kas ir palicis garām. Tas padara programmēšanu par bezgalīgi aizraujošu profesiju: ​​straujas pārmaiņas, kaislīgas debates, pēkšņas atgriešanās.

Karsts: pirmapstrādes procesori

Nav: pilnas valodas

Ne tik sen cilvēkiem, kuri izveidoja jaunu programmēšanas valodu, bija jāveido viss, kas kodu pārvērta silīcijā ievadītajos bitos. Tad kāds izdomāja, ka varētu saspiesties ar iepriekšējo darbu. Tagad cilvēki ar gudru ideju vienkārši uzraksta priekšapstrādes procesoru, kas jauno kodu pārveido par kaut ko vecu ar bagātīgu bibliotēku un API kopu.

Skriptu valodas, piemēram, Python vai JavaScript, savulaik aprobežojās ar maziem projektiem, taču tagad tās ir pamats nopietnam darbam. Un tie, kam nepatika JavaScript, izveidoja priekšapstrādes procesoru CoffeeScript, kas ļauj viņiem atkal kodēt bez apgrūtinošām pieturzīmēm. Ir desmitiem variāciju, kas citādi sagatavo un nosaka sintaksi.

Cilvēki, kuriem patika dinamiska rakstīšana, izveidoja Groovy, vienkāršāku Java versiju bez pārāk uzstājīgām pieturzīmēm. Šķiet, ka JVM darbojas desmitiem valodu - Groovy, Scala, Clojure, Kotlin utt. -, taču ir tikai viena JVM. Varat arī palaist daudzas valodas vietnē .Net VM. Kāpēc vajadzētu izgudrot riteni no jauna?

Karsts: bez servera

Ne: Dokers

Tā nav gluži taisnība. Dokeru konteineri ir visur. Serveri visu laiku griežas un slēdz konteinerus. Tomēr Docker konteineri ir soooo daudz lielākas nekā tām jābūt.

Ja jūs to domājat, jūs varat uzrakstīt tikai dažus desmitus reālu lēmumu pieņemšanas koda rindu šim izvietotajam mikropakalpojumam, taču jums būs jāmet baziljonā konfigurācijas rindiņu, lai sāktu Node.js un visu citu. pareizi ar Docker. Jā, tas viss ir katls, bet tam trūkst jēgas.

Jaunās bezserveru arhitektūras ļauj mums izvietot tikai dažus dažus paziņojumus, ja pieņem, tad pieņem citus lēmumus. Viss pārējais ir atstāts to cilvēku ziņā, kuri mums īrē platformu bez servera.

Jā, mēs pēc dažiem gadiem sūdzēsimies par bloķēšanu un pielāgošanas trūkumu, taču pašlaik bez servera opcijas šķiet patīkams atvieglojums no visiem izstrādājumiem un konfigurācijas.

Aktuāli: JavaScript MV * ietvari

Ne: JavaScript faili

Jau sen visi mācījās rakstīt JavaScript, lai uznirst brīdinājuma lodziņš, vai pārbaudīja, vai veidlapā esošajā e-pasta adresē ir @ zīme. Tagad HTML AJAX lietotnes ir tik sarežģītas, ka maz cilvēku sāk visu no nulles. Lai ieviestu biznesa loģiku, vienkāršāk ir pieņemt sarežģītu ietvaru un uzrakstīt mazliet līmes kodu.

Tagad ir desmitiem ietvaru, piemēram, Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS un daudzi citi, kas visi ir gatavi rīkoties ar jūsu tīmekļa lietotņu un lapu notikumiem un saturu.

Tās ir tikai tīmekļa lietotnes. Ir arī noteikts skaits, kas piedāvā dažādu platformu attīstību viedtālruņu / planšetdatoru pasaulē. Tādas tehnoloģijas kā NativeScript, PhoneGap, Apache Cordova un React Native ir dažas no iespējām, kā izveidot lietotnes no HTML5 tehnoloģijas.

Aktuāli: CSS ietvari

Ne: Vispārīga CSS

Kādreiz, pievienojot mazliet pizzazz tīmekļa vietnei, tika atvērts CSS fails un iekļauta jauna komanda, piemēram, fonta stils: kursīvs. Tad jūs saglabājāt failu un devāties pusdienās pēc smaga rīta darba. Tagad tīmekļa lapas ir tik sarežģītas, ka nav iespējams aizpildīt failu ar tik vienkāršām komandām. Viens kniebiens uz krāsu, un viss iet ārā. Tas ir līdzīgi tam, ko viņi saka par sazvērestībām un ekoloģijām: viss ir savstarpēji saistīts.

Tieši tur CSS sistēmas, piemēram, SASS, un tās brālēni, piemēram, Compass, ir atraduši pamatu. Viņi veicina lasītprasmes, stabilu kodēšanu, piedāvājot programmēšanas konstrukcijas, piemēram, reālos mainīgos, ligzdošanas blokus un pievienojumus. Tas var nešķist daudz jaunums programmēšanas slānī, bet tas ir liels lēciens uz priekšu dizaina slānim.

Karsts: SVG uz audekla

Ne: Flash

Zibspuldze gadiem ilgi ir tracinājusi cilvēkus, taču mākslinieki vienmēr ir mīlējuši rezultātus. Anti-aliased renderēšana izskatās lieliski, un daudzi talantīgi mākslinieki ir izveidojuši dziļu Flash koda kaudzi, lai piedāvātu sarežģītas pārejas un animācijas. Ikdienas spēles joprojām ir ļoti populāras. Tātad Flash pieķeras dzīvībai tīmeklī.

Tagad, kad JavaScript slānim ir iespēja darīt daudz to pašu, pārlūkprogrammu veidotāji un izstrādātāji uzmundrina Flash beigām. Viņi redz labāku integrāciju ar DOM slāni, kas nāk no tādiem jauniem formātiem kā SVG (Scalable Vector Graphics). SVG un HTML veido vienu lielu tagu kaudzi, kuru tīmekļa izstrādātājiem bieži ir vieglāk izmantot. Tad ir lielas API, kas piedāvā sarežģītu zīmējumu uz objekta Canvas, bieži izmantojot videokartes. Salieciet tos kopā, un jums ir daži iemesli, kāpēc vairs izmantot Flash.

Aktuāls: gandrīz lieli dati (analīze bez Hadoop)

Nav: lielie dati (ar Hadoop)

Visiem patīk justies kā Lielajam vīram pilsētiņā, un, ja tā nav, viņi meklē atbilstoša lieluma pilsētiņu, kur varētu izcelties. Tad nav pārsteigums, ka tad, kad vārdi "lielie dati" sāka plūst caur izpildvaras komplektu, uzvalki sāka lūgt vislielākās, jaudīgākās lielo datu sistēmas, it kā viņi pirktu jahtu vai debesskrāpi.

Smieklīgākais ir tas, ka daudzas problēmas nav pietiekami lielas, lai izmantotu fantastiskākos lielo datu risinājumus. Protams, tādi uzņēmumi kā Google vai Yahoo izseko visu mūsu tīmekļa pārlūkošanu; viņiem ir datu faili, kas izmērīti petabaitos vai yotabaitos. Bet lielākajai daļai uzņēmumu ir datu kopas, kuras var viegli ievietot pamata datora RAM. Es to rakstu personālajā datorā ar 16 GB RAM - pietiek miljardam pasākumu ar nedaudz baitu. Lielākajā daļā algoritmu dati nav jālasa atmiņā, jo to straumēšana no SSD ir laba.

Būs gadījumi, kad Hadoop mākonī, kas darbojas paralēli, prasa ātru reaģēšanas laiku desmitiem mašīnu, taču daudzi veiks nevainojamu pievienošanu vienai mašīnai, neradot sarežģījumus koordinācijā vai saziņā.

Karsts: dzirksts

Ne: Hadoops

Tas nav tik daudz, ka Hadoop atdziest. Tas ir vairāk, ka Apache Spark ir sarkanā krāsā, tāpēc Hadoop modelis izskatās mazliet vecs. Spark aizņemas dažas no labākajām idejām par Hadoop pieeju jēgas iegūšanai no lieliem datu apjomiem un atjaunina tos ar dažiem pamatīgiem uzlabojumiem, kas liek kodam darboties daudz, daudz ātrāk. Lielākais var būt veids, kā Spark glabā datus ātrā atmiņā, nevis pieprasa visu rakstīt un lasīt no izplatītās failu sistēmas.

Protams, daudzi cilvēki apvieno abus, izmantojot Spark apstrādes ātrumu datiem, kas glabājas Hadoop izplatītajā failu sistēmā. Hadoop un Spark biežāk ir partneri nekā konkurenti.

Karsts: datu bāzes konfigurācija

Ne: programmatūras programmēšana

Jau sen programmētāji mēdza jokot, ka nezina, kā programmēšana izskatīsies nākamajā gadsimtā, taču zināja, ka to sauks Fortran. Šis joks bija tik smieklīgs, ka viņi nokrita no dinozauriem un salauza koka apakšveļu. Tad viņi atgriezīsies pie datu bāzes konfigurēšanas.

Un mēs joprojām veidojam datu bāzes, taču tas, ko mēs domājam par “datu bāzi”, tagad ir daudzkārt sarežģītāks un spēcīgāks. Pieejamās datubāzes sinhronizēs sevi visos kontinentos, vienlaikus piedāvājot elastīgu kompromisu starp konsekvenci un ātrumu. Daži mākoņpakalpojumi, piemēram, Firebase, virzīs jaunus datus līdz tīmekļa lietotnēm, kas darbojas mobilajos klientos.

Liela daļa revolūcijas bez serveriem ir balstīta uz izpratni, ka daudzi no mākoņu datu krājumiem tagad ir tik spēcīgi, ka mums ir jāuzraksta tikai dažas klauzulas, ja citādi, lai izveidotu diezgan foršu tīmekļa lietotni.

Karsts: Spēļu ietvari

Ne: Dzimtā spēļu izstrāde

Kādreiz spēļu izstrāde nozīmēja pieņemt darbā daudzus izstrādātājus, kuri visu no sākuma rakstīja C. Protams, tas maksāja baziljonu dolāru, bet tas izskatījās lieliski un skrēja kā vējš. Tagad neviens nevar atļauties luksusa pasūtījuma kodu. Lielākā daļa spēļu izstrādātāju pirms gadiem atteicās no lepnuma un savu sistēmu veidošanai izmanto tādas bibliotēkas kā Unity, Corona vai LibGDX. Viņi neraksta C kodu tik daudz kā instrukcijas bibliotēkām.

Vai ir kauns, ka mūsu spēles nav ar rokām gatavotas ar lepnumu, bet tiek izspiestas, izmantojot to pašu motoru? Nē. Lielākā daļa izstrādātāju ir atviegloti. Tā kā viņiem nav jārisina detaļas, viņi var koncentrēties uz spēles spēli, stāstījuma loku, varoņiem un mākslu.

Aktuāli: statisko vietņu ģeneratori

Nav: vienas lapas tīmekļa lietotnes

Vai atceraties, kad vietrāži URL norādīja uz tīmekļa vietnēm, kas piepildītas ar statisku tekstu un attēliem? Tad parādījās dinamiskās, vienas lapas tīmekļa lietotnes, kuras visas aizstāja ar vienu gudru tīmekļa lietotni, kas iegūs attiecīgos datus. Uzmini kas? Svārsts šūpojas atpakaļ, un visi bērni būvē statisko vietu ģeneratorus. Viņu ir desmitiem. Tas ir kā hibrīds. Jūs ievietojat visus datus vienā kaudzē un pēc tam uzrakstāt kodu, kas datus ievieto dažās veidnēs, lai katram statiskajam URL būtu viens HTML fails, un tas nāca no katras datu tabulas rindas.

Bērni domā, ka šīs statiskās vietas ir ļoti ātras un tādas ir. Vienkārši nesakiet viņiem, ka vecās dinamiskās sistēmas, piemēram, WordPress un Drupal, darbojās līdzīgi, saglabājot kešatmiņas, kas bija diezgan piepildītas ar statiskām lapām, kas izveidotas ar jaunākajiem datiem.

Karsts: GraphQL

Ne: ATPŪTA

Nav tā, it kā REST būtu miris. Vienkārši mēs vēlamies darīt vairāk ar API, un GraphQL ir veids, kā to izdarīt. GraphQL atgriež datus JSON, tāpat kā REST. GraphQL sākas ar HTTP POST, tāpat kā daudzi REST zvani. Vienkārši GraphQL sintakse ļauj norādīt ļoti sarežģītus vaicājumus, izmantojot tikai dažus taustiņsitienus. Tas ļauj programmētājiem vienkāršāk pieprasīt tikai to, ko viņi vēlas, un tas samazina servera puses darbu apjomu, kas jāveic, ja kāds vēlas nedaudz atšķirīgu API.

Aktuāli: mākoņu IDE

Nav: vietējie IDE

Jau sen cilvēki izmantoja komandrindas kompilatoru. Tad kāds to integrēja ar redaktoru un citiem rīkiem, lai izveidotu IDE. Tagad ir pienācis laiks aptumšot IDE (ha) ar pārlūkprogrammas rīkiem, kas ļauj rediģēt kodu, pat darba sistēmas kodu. Ja jums nepatīk, kā darbojas WordPress, tam ir iebūvēts redaktors, kas ļauj mainīt kodu tieši tur un tur. Microsoft Azure ļauj rakstīt JavaScript līme kodu tieši savā portālā. Šīs sistēmas nepiedāvā vislabāko atkļūdošanas vidi, un ražošanas koda rediģēšanā ir kaut kas bīstams, taču idejai ir kājas.

Jūs varat sākt ar AWS Cloud9, Codenvy un Mozilla WebIDE, taču turpiniet to izpētīt. Tīmekļa rīki kļūst arvien spēcīgāki. Piemēram, Microsoft Azure vietnē ir iespējams izveidot visu lielo datu analīzes projektu. Un, ja jūs sākat izpētīt iespējas bez servera, ātri uzzināsiet, ka visu kodu varat ierakstīt tīmekļa lapas formas elementā. Tas nav daudz lielāks par veidlapu, kuru izmantojat, lai atjauninātu draugus Facebook.

Karsts: GPU

Ne: CPU

Kad programmatūra bija vienkārša un instrukcijas bija sakārtotas jaukā līnijā, centrālais procesors bija datora karalis, jo tas visu smago celšanu veica. Tagad, kad videospēles ir piepildītas ar plašu grafisko režīmu, kas var darboties paralēli, videokarte vada izrādi. Izdomātai videokartei ir viegli iztērēt 500, 600 vai vairāk dolāru, un daži nopietni spēlētāji izmanto vairāk nekā vienu. Tas ir vairāk nekā dubultā daudzu pamata galddatoru cena.

Turklāt spēlētāji nav vienīgie, kas lielās ar savām GPU kartēm. Datorzinātnieki tagad pārveido daudzas paralēlas lietojumprogrammas, lai GPU darbotos simtiem reižu ātrāk. Un datu zinātnieki izmanto serverus, kas pildīti ar GPU, lai paātrinātu viņu mašīnmācīšanās modeļu izstrādi.

Karsts: GitHub

Ne: Résumés

Protams, jūs varētu uzzināt par kandidātu, izlasot uzpūsto sasniegumu sarakstu, kurā iekļauts junioru šaha kluba viceprezidents. Bet kāda cilvēka faktiskā koda lasīšana ir daudz bagātāka un pamācošāka. Vai viņi raksta labus komentārus? Vai viņi tērē pārāk daudz laika, sadalot priekšmetus sīkās klasēs, kas maz dara? Vai ir īsta arhitektūra ar iespēju paplašināties? Uz visiem šiem jautājumiem var atbildēt, ieskatoties viņu kodā.

Tāpēc dalība atklātā pirmkoda projektos kļūst arvien svarīgāka darba atrašanā. Koplietot kodu no patentēta projekta ir grūti, taču atvērtā pirmkoda kods ir pieejams visur.

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