Lil' Fun Langs' Guts
Maikutlo
Mewayz Team
Editorial Team
Hobaneng ho Nyala ka Tlas'a Lipuo Tse Nyenyane tsa Mananeo ho U Etsa Hore U be Sehahi se Betere
Sesebediswa se seng le se seng sa software seo o se sebedisang - ho tloha ho CRM e latellang tse o lebisang ho enjene ya othomathike e romelang diinvoice hara mpa ya bosiu - e hahilwe ka puo ya lenaneo. Empa na u kile ua ipotsa hore na ke eng e etsang hore puo ea lenaneo e be tick? Ha se li-ecosystem tse kholo joalo ka Python kapa JavaScript, empa tse nyane, tse makatsang, tse makatsang ka mokhoa o makatsang tseo baetsi ba tsona ba li hahang mafelo-bekeng ho rarolla bothata bo le bong kapa ho ithuta feela. Tsena "lil' fun langs" - lipuo tsa ho bapala, lipuo tse khethehileng tsa domain (DSLs), le bafetoleli ba thuto - ke moo ho phelang mehopolo e metle ka ho fetisisa ea saense ea k'homphieutha. Ho utloisisa mala a bona ha ho etse feela hore u be moqapi ea molemo; e hlile e fetola tsela eo u nahanang ka eona ka lisebelisoa tsa ho aha, ho iketsetsa tšebetso ea ho sebetsa, le ho rala litsamaiso tse sebeletsang batho.
Hantle-ntle "Lil' Fun Langs" ke eng?
Lefatše la mananeo le tletse ka lipuo tse neng li sa reretsoe ho matlafatsa li-server kapa ho sebetsana le limilione tsa transaction. Lipuo tse kang Lox (ho tsoa ho Robert Nystrom's Crafting Interpreters), Monkey (ho tloha ho Thorsten Ball's Ho Ngola Mofetoleli ka Go), kapa lipuo tsa metlae tse kang Brainfuck le Chef li teng ho ruta, ho thabisa, le ho sutumetsa meeli ea seo "puo" e se bolelang. Lipuo tsena tse nyane li tlosa ho rarahana ha lithulusi tsa lefats'e 'me li pepesa mekhoa ea hore na khoutu e fetoha joang.
Empa "lil' fun langs" ha e felle feela boikwetlisong ba thuto. Lipuo tse ikhethileng tsa sebaka li matlafatsa tse ling tsa lisebelisoa tse sebetsang hantle tsa khoebo 'marakeng. Nako le nako ha u ngola foromo ka har'a spreadsheet, u hlalosa molao oa sefe ho moreki oa hau oa lengolo-tsoibila, kapa u lokise mokhoa oa ho sebetsa ka mokhoa o ikemetseng sethaleng se kang Mewayz, u sebelisana le puo e nyenyane, e entsoeng ka morero. Li-module tse 207 ka hare ho Mewayz - ho qala ka CRM, li-invoice, HR, tsamaiso ea likepe, le tse ling - li itšetlehile ka lienjineri tsa melao ea ka hare le li-expression parser tseo, ka sehloohong, lipuo tse nyenyane tse etselitsoeng ho fa basebelisi matla ntle le ho hloka lengolo la saense ea k'homphieutha.
Ho utloisisa sebōpeho sa lipuo tsena ho senola hore na ke hobane'ng ha lisebelisoa tse ling li utloahala li le bonolo ha tse ling li batla ho loana le buka e ngotsoeng ka mokhoa o mong.
The Lexer: Ho Arola Mantswe ka Athomo
Puo e 'ngoe le e 'ngoe, ho sa tsotellehe hore na e nyenyane hakae, e qala ka mohato o tšoanang oa motheo: tlhahlobo ea lexical, kapa "lexing." Lexer o nka litlhaku tse ngata - ntho e kang total = price * quantity + tax - 'me o e arola ka likaroloana tse nang le moelelo tse bitsoang tokens. Lexer ha e so tsotelle moelelo. E mpa e supa hore kakaretso ke sesupo, = ke mosebetsi o abetsweng, theko ke sesupo se seng, * ke katiso, jwalojwalo.
Ho aha lexer bakeng sa puo e nyane ho kgotsofatsa ka tsela e makatsang. Ka mela e ka tlase ho 100 ea khoutu, o ka ruta lenaneo ho lemoha linomoro, likhoele, mantsoe a sehlooho, le li-operator. Taba e bonolo ke taba - e u qobella ho nahana hore na "mantsoe" a hlokang puo ea hau a hloka eng. Monahano ona oa sebetsa ha ho etsoa lisebelisoa tse shebaneng le basebelisi. Ha enjene ea Mewayz ea othomathike e lumella mong'a khoebo e monyane ho theha molao o kang "ha invoice e siiloe ke nako ka matsatsi a 7, romella lengolo-tsoibila la khopotso," sistimi e khutsisa molao oo hore e be li-tokens tse hlophisitsoeng tseo e ka sebetsang ho tsona. Likhokahano tse ntle ka ho fetisisa li ikutloa li sa sebetse hantle hobane motho e mong o nahanne ka botebo hore na likarolo tse nyane tse nang le moelelo oa sepheo sa basebelisi li shebahala joang.
Ho Fetola: Ho Fetolela Li-Tokens tse Sephara ho ba Lifate tse Phelang
Hang ha o na le tokens, o hloka sebopeho. Parsing e fetola tatellano e bataletseng ea li-tokens ho ba Abstract Syntax Tree (AST) - kemelo ea maemo a holimo e hapang likamano lipakeng tsa likarolo tse fapaneng tsa polelo. Polelo ea 3 + 4 * 5 ha se feela tatelano ea li-tokens tse hlano; ke sefate moo katiso e tlamang ka thata ho feta tlatsetso, e hlahisa 23 sebakeng sa 35.
Mona ke moo dintho di ba monate. Li-algorithms tsa ho qhekella joalo ka ha motho a theoha kapa Pratt parsing ke likarolo tse ntle tsa boenjiniere tse lekanang faeleng e le 'ngoe empa li khona ho sebetsana le lipuo-puo tse rarahaneng ka mokhoa o makatsang. Li-recursive descent parser, haholo-holo, li baleha joalo ka tlhaloso ea puo ka boeona - mosebetsi o mong le o mong o lumellana le molao oa sebōpeho-puo, ho etsa hore khoutu e iketsetse litokomane ka tsela e sa tloaelehang ntlafatsong ea software.
Lithuto tse tsoang ho ho arola li fetela ho feta moetso oa puo. Sistimi efe kapa efe e sebetsanang le kenyelletso e hlophisitsoeng - foromo ea ho behela e nang le matsatsi, peakanyo ea meputso e nang le melao e behiloeng, phaephe ea CRM e nang le logic ea branching - e rarolla bothata ba ho hlophisa. Basebelisi ba 138,000+ sethaleng sa Mewayz ba hlahisa lintlha tse rarahaneng, tse hlophisitsoeng letsatsi le leng le le leng. Ho utloisisa hore na bo-raliphatlalatso ba fetola boitsebiso bo sa hlakang joang hore bo be sebopeho se sa hlakang, ke phapang pakeng tsa ho aha tsamaiso e sebetsanang le linyeoe ka bokhabane le e senyang nako eo motho a kenyang letsatsi ka mokhoa o sa lebelloang.
Mofetoleli: Moo Khoutu e Phelang teng
Mofetoleli ke moo boselamose bo etsahalang. E tsamaea ka AST, node ka node, 'me e e etsae. Node ea nomoro e khutlisa boleng ba eona. Node ea ts'ebetso ea binary e hlahloba bana ba eona ba ho le letšehali le ba ho le letona ebe e ba kopanya. Mohala oa tšebetso o sheba tšebetso tikolohong, o tlama likhang, 'me o lekola 'mele. Ka puo ea ho bapala, mofetoleli kaofela e ka ba mela e 200-300 - e nyane ho lekana ho e tšoara hloohong, empa e le matla ho lekana ho tsamaisa mananeo a nnete.
Ho na le mekhoa e 'meli e pharaletseng ea ho phethahatsa: bafetoleli ba tsamaeang ka lifate le mechine ea sebele ea bytecode. Batsamai ba lifate ba bonolo empa ba lieha; ba haola le AST ka kotloloho. Li-VM tsa Bytecode li bokella AST ka tatellano ea litaelo tse bonolo (joalo ka puo e nyane ea kopano) 'me e li phethe, ho e-na le hoo, ho rarahana ha ts'ebetsong bakeng sa ts'ebetso e ntle haholo. CPython, ts'ebetsong e tloaelehileng ea Python, e sebelisa bytecode VM. Lua, e leng e 'ngoe ea lipuo tse sebetsang hantle haholo tse kenyellelitsoeng hantle, e ile ea bula moralo oa VM o thehiloeng ho ngoliso e ileng ea susumetsa lienjineri tsa lipapali lefatšeng ka bophara.
Litlhahiso tsa bohlokoa: Lisebelisoa tse matla ka ho fetisisa tsa khoebo ha se tsona tse nang le likarolo tse ngata - ke tsona tse nang le "puo" e ntle ka ho fetisisa ea ka hare bakeng sa ho hlalosa seo basebelisi ba hlileng ba se hlokang. Enjene e 'ngoe le e' ngoe ea melao, sistimi ea foromo, le sehahi sa othomathike ke mofetoleli e monyane ea ipatileng. Boleng ba mofetoleli eo bo etsa qeto ea hore na sesebelisoa se tloha ho basebelisi ba 10 ho isa ho 100,000.
💡 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 →
Tikoloho le Bophara: Moralo o Patiloeng oa Naha
E 'ngoe ea mehopolo e qhekellang ka ho fetisisa ts'ebetsong ea puo - 'me e' ngoe ea tse sebetsang ka ho fetisisa ho software ea khoebo - ke kamoo lipuo li laolang naha ka maemo le boholo. Ha u ngola mosebetsi o feto-fetohang ka har'a tšebetso, phapano eo ha ea lokela ho tsoa ebe e ngola ntho e 'ngoe sebakeng sa lefats'e. Sena se utloahala se hlakile, empa ho se kenya ts'ebetsong ka nepo ho hloka sebopeho sa data se bitsoang ketane ea tikoloho: lethathamo le hokahantsoeng la limmapa tsa hash moo boemo bo bong le bo bong bo emelang bophara, 'me li- lookups tse feto-fetohang li nyoloha ketane ho fihlela li fumana e tšoanang.
Mokhoa ona o hlaha hohle ho software e entsoeng hantle. Litumello tsa mosebelisi sethaleng sa khoebo li sebetsa ka mokhoa o ts'oanang - phihlello ea setho sa sehlopha e khethoa ka ho hlahloba tumello ea bona ka bomong pele, joale tumello ea karolo ea bona, ebe mefokolo ea mokhatlo. Sistimi ea mojule ea Mewayz, e kopanyang ntho e 'ngoe le e' ngoe ho tloha maqepheng a li-link-in-bio ho isa ho ts'ebetso e felletseng ea meputso, e sebelisa tlhophiso e hlophisitsoeng e bonts'ang molao-motheo ona. Mong'a khoebo o beha liphoso tsa mokhatlo ka kakaretso, batsamaisi ba mafapha ba ka hlakola litlhophiso tse itseng, 'me basebelisi ka bomong ba ka hlophisa sebaka sa bona sa mosebetsi - tsohle ntle le likhohlano.
Ho fosahetse ka puo ya lenaneo ho baka mathata. Ho fumana sebaka se fosahetseng sethaleng sa khoebo ho baka ho lutla ha data, ho phahama ha tumello, le mofuta oa moferefere oa ts'ebetso o jang chelete ea 'nete. Lithuto lia tšoana boemong bo bong le bo bong ba ho itlhalosa.
Seo Ha e le Hantle se U Rutang ho Haha Puo e Nyenyane
Haeba ha o so ahe puo e nyane ya ho etsa mananeo, mona ke seo boiphihlelo bo se rutang - le hore na ke hobaneng ho le bohlokwa hore na o mohlahisi, mothehi wa tekheniki, kapa motho ya batlang ho utlwisisa disebediswa tseo a di sebedisang letsatsi le letsatsi:
- Ho nepahala ha mohopolo: U ke ke ua hlaka ha u hlalosa sebōpeho-puo. Ho se hlaka ho hong le ho hong ha tlhaloso ea puo ea hau ho fetoha bothata ho mohlahlobi oa hau. Taeo ena e fetela ka ho toba ho ngola lintlha tse betere, litokomane tse hlakileng haholoanyane, le litlhoko tse nepahetseng haholoanyane tsa likarolo.
- Kutloelo-bohloko bakeng sa basebedisi: Ha o rala puo, o etsa sebopeho sa menahano ya batho. U ithuta ho botsa: "Mosebelisi o bolela engka see?" - potso e lokelang ho tsamaisa qeto e 'ngoe le e 'ngoe ea sehlahisoa.
- Performance intuition: U tla ithuta hore na ke hobane'ng ha ts'ebetso e meng e potlakile ha e meng e lieha, eseng ka lebaka la ho bala litekanyetso empa ka ho bona hore na toloko e nka mehato e mekae. Sena se etsa hore u be betere ho rala litsamaiso tse lekanyang.
- Bokhoni ba ho lokisa liphoso: Ha puo ea hau e hlahisa tlhahiso e fosahetseng, ha ho moo u ka ipatang teng. Ha ho na moralo oa molato, ha ho likhohlano tsa mofuta oa laeborari. Ke mohopolo oa hau, sebopeho sa hau sa data, algorithm ea hau. Sena se aha mofuta oa tsebo e tebileng ea ho lokisa liphoso e arohanyang lienjineri tse hloahloa ho tse ntle.
- Teboho ea ho nka karolo: Ua utloisisa hore na ke hobane'ng ha lipuo tsa boemo bo holimo li entse khetho eo li e entseng - ke hobane'ng ha JavaScript e koetsoe, ke hobane'ng ha Python e khethile sebaka se sesoeu, hore na ke hobane'ng ha Rust's checker e le teng. Tsena ha se liqeto tse sa reroang; ke tharollo mathateng a sebele ao u tla kopana le ona ts'ebetsong ea hau.
Ho Tloha Lipuong Tsa Lipapali ho ea ho Sesebelisoa sa Sebele sa Lefatše
Lekhalo pakeng tsa puo ea ho bapala le mochine oa ho iketsetsa tlhahiso e nyenyane ho feta kamoo batho ba bangata ba nahanang kateng. Puo ea ho etsa litempele ea Shopify's Liquid e qalile e le sistimi e bonolo, e bolokehileng ea litempele, 'me joale e matlafatsa limilione tsa litoropo. GitHub Actions' workflow syntax ke puo e ikhethileng ea domain e hahiloeng ho YAML. Puo ea potso ea Stripe's Sigma e lumella lihlopha tsa lichelete ho hlahloba lintlha tsa tefo ntle le ho ngola SQL. E 'ngoe le e 'ngoe ea tsena e ile ea qala ka motho e mong ea botsang: "Ke puo efe e nyenyane, e bonolo ka ho fetisisa e ka rarollang bothata boo?"
Ena ke eona filosofi e ts'oanang ea li-platform tse ikemiselitseng ho kopanya ts'ebetso ea khoebo hore e be tikoloho e le 'ngoe. Ha Mewayz e sebeletsa motho ea ikemetseng ea hlokang leqephe la link-in-bio lek'hamphani ea boholo bo bohareng e tsamaisang moputso bakeng sa basebetsi ba 50 ho pholletsa le li-module tsa eona tse 207, phephetso e ka sehloohong ke e tšoanang le eo moqapi oa puo e mong le e mong a tobaneng le eona: u etsa joang tsamaiso e bonolo ka ho lekaneng bakeng sa ba qalang empa e le matla ka ho lekaneng bakeng sa linyeoe tsa tšebeliso e rarahaneng? Karabo, joalo ka ha moetsi e mong le e mong oa puo a tla u bolella, e itšetlehile ka ho lokisa lintho tsa khale - li-blocks tse nyenyane, tse ka kopanngoang tseo basebelisi ba ka li kopanyang ka litsela tseo moqapi a neng a sa li lebella.
Nakong e tlang ha o lokisa molao wa othomathike, o aha dashboard e ikgethang, kapa o theha tsamaiso e nang le maemo ho sesebediswa sefe kapa sefe sa kgwebo, hopola: o ngola lenaneo ka lil' fun lang. Ho na le motho ea entseng matla a puo eo - mohlahlobi oa eona, mohlahlobi le mofetoleli - ho etsa hore sepheo sa hau se phethahale. 'Me boleng ba mosebetsi oa bona ke matla a sa bonahaleng a etsang qeto ea hore na phihlelo ea hau e ikutloa joaloka boselamose kapa mahlomola. Ho utloisisa matla ao, esita le boemong bo holimo, ho u fa matla a maholohali: bokhoni ba ho bona mochine ka tlas'a sehokelo, ho bolela esale pele hore na o tla robeha hokae, le ho o sutumelletsa ho feta kamoo baqapi ba oona ba neng ba nahanne kateng.
Haha Khoebo ea Hao ea Tsamaiso Kajeno
Ho tloha ho batho ba ikemetseng ho isa mekhatlong, Mewayz e matlafatsa likhoebo tse 138,000+ ka likarolo tse 207 tse kopaneng. Qala mahala, ntlafatsa ha o hola.
Theha Account Free → div>Lipotso Tse Botsoang Hangata
"lil' fun langs" ke eng, hona ke hobane'ng ha ke lokela ho tsotella?
Lil' fun langs ke lipuo tse nyenyane, tse lekoang tse etselitsoeng ho hlahloba maikutlo a itseng kapa ho ruta likhopolo tsa mantlha. Li fapana ho tloha ho bafetoleli ba lintho tsa ho bapala tse ngotsoeng mafelo-beke ho ea ho lipuo tse khethehileng (DSLs) tse etselitsoeng mesebetsi e moqotetsane. Ho utloisisa hore na li sebetsa joang ho u fa temohisiso e tebileng ea hore na software eohle e sebetsa joang - ho kenyelletsa le lisebelisoa tsa khoebo tseo u itšetlehileng ka tsona letsatsi le letsatsi. Tsebo eo e etsa hore u be mohlahisi ea hloahloa le ho etsa liqeto tse nang le tsebo ha u khetha kapa u haha litsamaiso tsa boiketsetso.
Ho ithuta ka batho ba sebetsang puong ho thusa jwang ka ho iketsetsa kgwebo?
Ha o utloisisa menahano e joalo ka ho hlalosa, tlhahlobo, le bafetoleli, u qala ho bona boiketsetso ka tsela e fapaneng. U hlokomela lipaterone ho lihahi tsa phallo ea mosebetsi, lienjineri tsa template, le litsamaiso tsa melao. Li-platform tse kang Mewayz li sebelisa melao-motheo e tšoanang ho li-module tsa tsona tse 207 ho u lumella ho iketsetsa li-invoice, CRM workflows, le tse ling - tsohle ntle le ho ngola khoutu. Ho tseba lintlha tsa motheo ho u thusa ho sutumelletsa lisebelisoa tsena le ho rarolla mathata kapele.
Na ke hloka lengolo la mahlale a khomphutha ho aha puo e nyane?
Ho hang. Bahlahisi ba bangata ba theha mofetoleli oa bona oa pele ka beke e le 'ngoe ba sebelisa lithupelo le litataiso tse bulehileng. Lipuo tse kang Python le JavaScript li etsa hore ho be bonolo ho ngola lexer ea motheo, parser le evaluator. Sepheo ha se ho theha puo e latelang ea tlhahiso - ke ho ithuta ka ho etsa. Esita le puo e bonolo ea sebali se u ruta hore na lipolelo li aroloa le ho etsoa joang, litsebo tse fetisetsang ka ho toba ntlafatsong ea lefatše la sebele.
Na ho utloisisa DSL ho ka nthusa ho khetha lisebelisoa tse betere tsa khoebo?
Ho hang. Li-platform tse ngata tsa khoebo li kenyelletsa lipuo tse ikhethileng tsa domain bakeng sa liforomo, li-filters le melao ea tsamaiso ea mosebetsi. Ha u utloisisa hore na li-DSL li sebetsa joang tlas'a hood, u ka hlahloba lisebelisoa ka ho teba haholoanyane. Mohlala, Mewayz e fana ka OS ea khoebo e felletseng e qalang ho $19/mo e nang le logic e hahelletsoeng ka boits'oaro ho li-module tsa eona. Ho tseba maikutlo a DSL ho o thusa ho sebelisa likarolo tseo ka botlalo ho e-na le ho ingoaea holimo.
We use cookies to improve your experience and analyze site traffic. Cookie Policy