Kvailai neaiškus programavimas sunkiais laikais (2018 m.) | Mewayz Blog
Hacker News

Kvailai neaiškus programavimas sunkiais laikais (2018 m.)

komentarai

2 min read Via blog.podsnap.com

Mewayz Team

Editorial Team

Hacker News

„Scala“ supratimo galia ir skausmas

Scala „už“ supratimą yra elegantiško, funkcionalaus programavimo kertinis akmuo. Tai leidžia kūrėjams sekti operacijas su monadiniais tipais, tokiais kaip „Option“, „Future“ ir „List“ su švariu, būtinu stiliumi. Vietoj susipainiojusios įdėtų „flatMap“ ir „map“ iškvietimų netvarkos, galime parašyti kodą, kuris būtų skaitomas ir išraiškingas. Tačiau šis sintaksinis cukrus, nors ir skanus, turi paslėptų išlaidų. Kompiliatorius įtraukia „už“ žymėjimą į savo pagrindinę monadinę grandinę, tačiau šis procesas yra nelankstus, apsiriboja fiksuotu metodų rinkiniu ir kartais gali užgožti tikrąją skaičiavimo struktūrą. Komandoms, kuriančioms sudėtingas sistemas, pvz., modulinę verslo OS įmonėje Mewayz, suprasti ir valdyti šį cukraus pašalinimą yra labai svarbu, norint rašyti tvirtą, našų ir prižiūrimą kodą.

Kas yra taikomasis cukraus pašalinimas ir kodėl tai svarbu?

Tradiciškai „for“ supratimas sujungiamas su „flatMap“ iškvietimų grandine, kurios pabaigoje yra „žemėlapio“ iškvietimas. Tai reiškia monadinę seką, kai kiekvienas supratimo žingsnis priklauso nuo ankstesnio rezultato. O kas, jei jūsų operacijos yra nepriklausomos? Apsvarstykite galimybę patvirtinti vartotojo registracijos formą: turite patikrinti vartotojo vardą, el. pašto adresą ir slaptažodį. Šie patvirtinimai nepriklauso vienas nuo kito; jie gali ir turi būti atliekami savarankiškai, o jų rezultatai derinami. Tai yra taikomųjų funkcijų sritis. Taikomasis programavimas leidžia lygiagrečiai patvirtinti ir derinti, siūlydamas galimą našumo naudą ir deklaratyvesnį klaidų tvarkymą. Standartinis „for“ žymėjimas, susietas su monadine seka, negali išreikšti šio šablono savaime.

"Gebėjimas pakeisti supratimo cukrų į taikomąsias operacijas, jei įmanoma, yra žaidimo keitiklis. Jis atrakina daugiau deklaratyvaus kodo ir gali žymiai pagerinti efektyvumą, atskleidžiant nepriklausomus skaičiavimus." - Mewayz platformos inžinierius

Taikymas „Taikyti per“: nauja cukraus mažinimo strategija

„Taikyti viduje“ koncepcija yra skirta „Scala“ kompiliatoriaus patobulinimui. Užuot aklai pašalinus kiekvieną generatorių ("<-") "už" supratimą į "flatMap", pažangesnė cukraus šalinimo strategija analizuotų priklausomybes tarp eilučių. Jei vertė, sugeneruota vėlesnėje eilutėje, nepriklauso nuo vertės iš ankstesnės eilutės, cukraus šalinimui gali būti naudojamas taikomasis „ap“ (arba labiau pažįstamas „produkto“ ir „žemėlapio“ derinys), o ne monadinis „flatMap“. Tai paverčia nuoseklią grandinę į lygiagrečiai pritaikytą skaičiavimo grafiką. Įrankiai, tokie kaip kačiukų biblioteka, ištyrė tai automatiniam išvedimui, tačiau idėja stumiama link svarbesnių pačios kalbos galimybių.

Mewayz, kur mūsų verslo OS moduliai dažnai tikrina ir kaupia duomenis iš kelių nepriklausomų šaltinių, taikomojo stiliaus naudojimas lemia:

  • Aiškesnis tikslas: kodas aiškiai parodo, kada operacijos yra nepriklausomos, todėl verslo logika lengviau pagrįsta.
  • Patobulintas našumas: nepriklausomas patvirtinimas arba duomenų gavimas gali būti vykdomi lygiagrečiai, taip sumažinant delsą.
  • Geresnis klaidų kaupimas: skirtingai nuo monadinių grandinių, kurios greitai sugenda, taikomasis patvirtinimas leidžia iš karto surinkti visas klaidas, o tai yra gyvybiškai svarbi naudotojams skirtų formų ir API galinių taškų funkcija.

Expressive Computation Scala ateitis

Savąjį taikomąjį cukraus pašalinimą įtraukti į „Scala“ žymėjimą „už“ yra įdomi riba. Tai reiškia žingsnį link labiau niuansuotų ir galingesnių funkcinių programavimo konstrukcijų tiesiai pagal labiausiai prieinamą kalbos sintaksę. Tokiai platformai kaip Mewayz, kuri sukurta remiantis moduliškumo ir aiškumo principu, ši raida puikiai atitinka mūsų tikslus. Tai įgalintų mūsų kūrėjus sukurti dar deklaratyvesnę verslo logiką, kai kodas ne tik aprašo, daryti, bet ir nurodo, kaip jį galima optimaliai vykdyti – nuosekliai, kur reikia, ir lygiagrečiai, jei įmanoma. Tai tokia technologinė pažanga, kuri leidžia sudėtingoms sistemoms išlikti paprastoms, suprantamoms ir veiksmingoms.

💡 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 →

Dažniausiai užduodami klausimai

„Scala“ supratimo galia ir skausmas

Scala „už“ supratimą yra elegantiško, funkcionalaus programavimo kertinis akmuo. Tai leidžia kūrėjams sekti operacijas su monadiniais tipais, tokiais kaip „Option“, „Future“ ir „List“ su švariu, būtinu stiliumi. Vietoj susipainiojusios įdėtų „flatMap“ ir „map“ iškvietimų netvarkos, galime parašyti kodą, kuris būtų skaitomas ir išraiškingas. Tačiau šis sintaksinis cukrus, nors ir skanus, turi paslėptų išlaidų. Kompiliatorius įtraukia „už“ žymėjimą į savo pagrindinę monadinę grandinę, tačiau šis procesas yra nelankstus, apsiriboja fiksuotu metodų rinkiniu ir kartais gali užgožti tikrąją skaičiavimo struktūrą. Komandoms, kuriančioms sudėtingas sistemas, pvz., modulinę verslo OS įmonėje Mewayz, suprasti ir valdyti šį cukraus pašalinimą yra labai svarbu, norint rašyti tvirtą, našų ir prižiūrimą kodą.

Kas yra taikomasis cukraus pašalinimas ir kodėl tai svarbu?

Tradiciškai „for“ supratimas sujungiamas su „flatMap“ iškvietimų grandine, kurios pabaigoje yra „žemėlapio“ iškvietimas. Tai reiškia monadinę seką, kai kiekvienas supratimo žingsnis priklauso nuo ankstesnio rezultato. O kas, jei jūsų operacijos yra nepriklausomos? Apsvarstykite galimybę patvirtinti vartotojo registracijos formą: turite patikrinti vartotojo vardą, el. pašto adresą ir slaptažodį. Šie patvirtinimai nepriklauso vienas nuo kito; jie gali ir turi būti atliekami savarankiškai, o jų rezultatai derinami. Tai yra taikomųjų funkcinių funkcijų sritis. Taikomasis programavimas leidžia lygiagrečiai patvirtinti ir derinti, siūlydamas galimą našumo naudą ir deklaratyvesnį klaidų tvarkymą. Standartinis „for“ žymėjimas, susietas su monadine seka, negali išreikšti šio šablono savaime.

Taikymas „Taikyti per“: nauja cukraus mažinimo strategija

„Taikyti viduje“ koncepcija yra skirta „Scala“ kompiliatoriaus patobulinimui. Užuot aklai pašalinę cukrų iš kiekvieno generatoriaus (`

Expressive Computation Scala ateitis

Savąjį taikomąjį cukraus pašalinimą įtraukti į „Scala“ žymėjimą „už“ yra įdomi riba. Tai reiškia žingsnį link labiau niuansuotų ir galingesnių funkcinių programavimo konstrukcijų tiesiai pagal labiausiai prieinamą kalbos sintaksę. Tokiai platformai kaip Mewayz, kuri sukurta remiantis moduliškumo ir aiškumo principu, ši raida puikiai atitinka mūsų tikslus. Tai įgalintų mūsų kūrėjus kurti dar deklaratyvesnę verslo logiką, kai kodas ne tik aprašo, ką daryti, bet ir nurodo, kaip jį būtų galima optimaliai vykdyti – nuosekliai, kur reikia, lygiagrečiai, jei įmanoma. Tai tokia technologinė pažanga, kuri leidžia sudėtingoms sistemoms išlikti paprastoms, suprantamoms ir veiksmingoms.

Pasiruošę supaprastinti operacijas?

Nesvarbu, ar jums reikia CRM, sąskaitų faktūrų, HR, ar visų 208 modulių – „Mewayz“ jums padės. 138 000 ir daugiau įmonių jau pakeitė.

Pradėkite nemokamai →

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