Hacker News

Rumalalt ähmane programmeerimine keerulisel ajal (2018)

Kommentaarid

2 min read Via blog.podsnap.com

Mewayz Team

Editorial Team

Hacker News

Scala mõistmise jõud ja valu

Scala mõistmine on elegantse ja funktsionaalse programmeerimise nurgakivi. See võimaldab arendajatel järjestada operatsioone monaadi tüüpidel, nagu "Option", "Future" ja "List" puhta ja kohustusliku välimusega. Pesastatud 'flatMap' ja 'map' kõnede sassis segaduse asemel saame kirjutada koodi, mis on nii loetav kui ka väljendusrikas. Kuigi see süntaktiline suhkur on maitsev, kaasneb sellega varjatud kulu. Kompilaator desugareerib "for"-tähise selle aluseks olevasse monaadiahelasse, kuid see protsess on jäik, piiratud kindlate meetodite komplektiga ja võib mõnikord varjata tegelikku arvutuslikku struktuuri. Meeskondade jaoks, kes ehitavad keerukaid süsteeme, nagu Mewayzi modulaarne äri-OS, on selle suhkru eemaldamise mõistmine ja juhtimine ülioluline, et kirjutada tugevat, tõhusat ja hooldatavat koodi.

Mis on rakenduslik suhkruvabastus ja miks see oluline on?

Traditsiooniliselt taandub mõiste "for"-arusaam "flatMap"-kutsete ahelaks, mille lõpus on kaardikutse. See kujutab monaadilist järjestust, kus iga mõistmise etapp sõltub eelmise tulemusest. Aga mis siis, kui teie toimingud on sõltumatud? Kaaluge kasutaja registreerimisvormi kinnitamist: peate kontrollima kasutajanime, e-posti aadressi ja parooli. Need kinnitused ei sõltu üksteisest; neid saab ja tuleb teostada iseseisvalt ning nende tulemusi kombineerida. See on rakenduslike funktsionaatorite domeen. Rakendusprogrammeerimine võimaldab paralleelset valideerimist ja kombineerimist, pakkudes potentsiaalseid jõudluse eeliseid ja deklaratiivsemat vigade käsitlemist. Standardne „for”-märkus, mis on seotud monaadilise järjestusega, ei saa seda mustrit natiivselt väljendada.

"Võimalus muuta arusaamadest suhkrut võimaluse korral rakendusoperatsioonideks on mängumuutus. See avab deklaratiivsema koodi ja võib sõltumatute arvutuste paljastamise kaudu oluliselt parandada tõhusust." - Mewayzi platvormi insener

Rakenda "Rakenda sees": uus suhkru eemaldamise strateegia

Konseptsiooni "Rakenda sees" eesmärk on muuta Scala kompilaator nutikamaks. Selle asemel, et eemaldada pimesi iga generaator (<-) "for-arusaadavuses" "flatMapiks", analüüsiks täiustatud suhkru eemaldamise strateegia ridade vahelisi sõltuvusi. Kui hilisemal real genereeritud väärtus ei sõltu varasema rea ​​väärtusest, võib suhkru eemaldamisel kasutada monaadilise 'flatMap' asemel rakenduslikku "ap" (või tuttavamat "toote" ja "kaardi" kombinatsiooni). See muudab järjestikuse ahela paralleelselt sobivaks arvutusgraafikuks. Tööriistad, nagu kassipoegade teek, on seda automaatseks tuletamiseks uurinud, kuid idee liigub keele enda põhifunktsiooni poole.

Mewayzis, kus meie ettevõtte OS-i moodulid tegelevad sageli mitmest sõltumatust allikast pärit andmete valideerimise ja koondamisega, viib rakendusliku stiili omaksvõtmine järgmisele.

  • Selgem kavatsus: kood näitab selgesõnaliselt, millal toimingud on sõltumatud, muutes äriloogika lihtsamaks.
  • Täiustatud jõudlus: sõltumatut valideerimist või andmete toomist saab teostada paralleelselt, vähendades latentsust.
  • Parem vigade kogunemine: erinevalt kiiresti ebaõnnestuvatest monaadiahelatest võimaldab rakenduslik valideerimine koguda kõik vead korraga, mis on kasutajale suunatud vormide ja API lõpp-punktide jaoks ülioluline funktsioon.

Scala ekspressiivse arvutuse tulevik

Native aplikatiivse suhkru eemaldamise toomine Scala "for"-tähistusse on põnev piir. See kujutab endast liikumist nüansirikkamate ja võimsamate funktsionaalsete programmeerimiskonstruktsioonide poole otse keele kõige juurdepääsetavamas süntaksis. Sellise platvormi nagu Mewayz puhul, mis on üles ehitatud modulaarsuse ja selguse põhimõttele, ühtib see areng suurepäraselt meie eesmärkidega. See annaks meie arendajatele võimaluse kirjutada veelgi deklaratiivsemat äriloogikat, kus kood mitte ainult ei kirjelda mida teha, vaid annab ka vihjeid kuidas seda optimaalselt täita – vajaduse korral järjestikku, võimalusel paralleelselt. See on selline tehnoloogiline areng, mis võimaldab keerukatel süsteemidel jääda lihtsaks, arusaadavaks ja tõhusaks.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Korduma kippuvad küsimused

Scala mõistmise jõud ja valu

Scala mõistmine on elegantse ja funktsionaalse programmeerimise nurgakivi. See võimaldab arendajatel järjestada operatsioone monaadi tüüpidel, nagu "Option", "Future" ja "List" puhta ja kohustusliku välimusega. Pesastatud 'flatMap' ja 'map' kõnede sassis segaduse asemel saame kirjutada koodi, mis on nii loetav kui ka väljendusrikas. Kuigi see süntaktiline suhkur on maitsev, kaasneb sellega varjatud kulu. Kompilaator desugareerib "for"-tähise selle aluseks olevasse monaadiahelasse, kuid see protsess on jäik, piiratud kindlate meetodite komplektiga ja võib mõnikord varjata tegelikku arvutuslikku struktuuri. Meeskondade jaoks, kes ehitavad keerukaid süsteeme, nagu Mewayzi modulaarne äri-OS, on selle suhkru eemaldamise mõistmine ja juhtimine ülioluline, et kirjutada tugevat, tõhusat ja hooldatavat koodi.

Mis on rakenduslik suhkruvabastus ja miks see oluline on?

Traditsiooniliselt taandub mõiste "for"-arusaam "flatMap"-kutsete ahelaks, mille lõpus on kaardikutse. See kujutab endast monaadilist järjestust, kus iga mõistmise samm sõltub eelmise tulemusest. Aga mis siis, kui teie toimingud on sõltumatud? Kaaluge kasutaja registreerimisvormi kinnitamist: peate kontrollima kasutajanime, e-posti aadressi ja parooli. Need kinnitused ei sõltu üksteisest; neid saab ja tuleb teostada iseseisvalt ning nende tulemusi kombineerida. See on rakenduslike funktorite valdkond. Rakendusprogrammeerimine võimaldab paralleelset valideerimist ja kombineerimist, pakkudes potentsiaalseid jõudluse eeliseid ja deklaratiivsemat vigade käsitlemist. Standardne „for”-märkus, mis on seotud monaadilise järjestusega, ei saa seda mustrit natiivselt väljendada.

Rakenda "Rakenda sees": uus suhkru eemaldamise strateegia

Konseptsiooni "Rakenda sees" eesmärk on muuta Scala kompilaator nutikamaks. Selle asemel, et iga generaator pimesi suhkrust vabastada (`

Scala ekspressiivse arvutuse tulevik

Native aplikatiivse suhkru eemaldamise toomine Scala "for"-tähistusse on põnev piir. See kujutab endast liikumist nüansirikkamate ja võimsamate funktsionaalsete programmeerimiskonstruktsioonide poole otse keele kõige juurdepääsetavamas süntaksis. Sellise platvormi nagu Mewayz puhul, mis on üles ehitatud modulaarsuse ja selguse põhimõttele, ühtib see areng suurepäraselt meie eesmärkidega. See annaks meie arendajatele võimaluse kirjutada veelgi deklaratiivsemat äriloogikat, kus kood mitte ainult ei kirjelda, mida teha, vaid annab ka vihjeid, kuidas seda optimaalselt täita – vajaduse korral järjestikku, võimalusel paralleelselt. See on selline tehnoloogiline areng, mis võimaldab keerukatel süsteemidel jääda lihtsaks, arusaadavaks ja tõhusaks.

Kas olete valmis oma toiminguid lihtsustama?

Kas vajate kliendisuhete haldust, arveldamist, personalijuhtimist või kõiki 208 moodulit – Mewayz pakub teile lahenduse. Üle 138 000 ettevõtte on juba vahetuse teinud.

Alustage tasuta →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime