Lil 'Fun Langs' guts
Comments
Mewayz Team
Editorial Team
Kilode ti Wiwo Labẹ Hood ti Awọn ede siseto Tiny Ṣe O Jẹ Akọle Dara julọ
Gbogbo ẹyọ sọfitiwia ti o lo — lati CRM ti o tọpa awọn itọsọna rẹ si ẹrọ adaṣe adaṣe ti o fi awọn iwe-owo ranṣẹ ni ọganjọ – ni a ṣe pẹlu ede siseto. Ṣugbọn ṣe o ti ṣe iyalẹnu tẹlẹ kini o jẹ ki ede sisetofi ami si? Kii ṣe awọn ilolupo ilolupo bii Python tabi JavaScript, ṣugbọn awọn kekere, scrappy, awọn iyalẹnu iyalẹnu ti awọn olupilẹṣẹ kọ ni ipari-ọsẹ kan lati yanju iṣoro kan tabi lati kọ ẹkọ nikan. Awọn wọnyi ni "lil' fun langs" - awọn ede isere, awọn ede-pato-ašẹ (DSLs), ati awọn onitumọ eto-ẹkọ - wa nibiti diẹ ninu awọn imọran didara julọ ni imọ-ẹrọ kọnputa n gbe. Agbọye wọn ikun ko kan ṣe awọn ti o kan dara pirogirama; o ṣe iyipada ni ipilẹ bi o ṣe ronu nipa awọn irinṣẹ ile, adaṣe adaṣe awọn ṣiṣan iṣẹ, ati awọn eto ṣiṣe apẹrẹ ti o ṣiṣẹ fun eniyan gaan.Kini Gangan Ni “Lil' Fun Langs”?
Aye siseto kun fun awọn ede ti a ko tumọ rara lati ṣe agbara awọn olupin iṣelọpọ tabi ṣe ilana awọn miliọnu awọn iṣowo. Awọn ede bi Lox (lati Robert Nystrom'sAwọn onitumọ Ṣiṣẹda), Ọbọ (lati Thorsten Ball'sKikọ Onitumọ ni Go), tabi paapaa awọn ede awada bi Brainfuck ati Oluwanje wa lati kọ, lati ṣe ere, ati lati Titari awọn aala ti kini “ede” paapaa tumọ si. Awọn ede kekere wọnyi yọ idiju ti awọn ẹwọn irin-iṣẹ gidi-aye ati ṣiṣafihan awọn ẹrọ aisedeede ti bii koodu ṣe di iṣe.
Ṣugbọn awọn langs igbadun “lil” ko ni opin si awọn adaṣe ẹkọ. Awọn ede kan pato-ašẹ ṣe agbara diẹ ninu awọn irinṣẹ iṣowo ti o munadoko julọ lori ọja naa. Ni gbogbo igba ti o ba kọ agbekalẹ kan ni iwe kaunti kan, ṣalaye ofin àlẹmọ ninu alabara imeeli rẹ, tabi tunto ṣiṣiṣẹ adaṣe adaṣe ni pẹpẹ kan biiMewayz, o n ṣe ajọṣepọ pẹlu kekere, ede ti a kọ idi. Awọn modulu 207 inu Mewayz - ti o leta CRM, invoicing, HR, iṣakoso ọkọ oju-omi kekere, ati diẹ sii - gbarale awọn ẹrọ iṣakoso inu ati awọn asọye ikosile ti o jẹ, ni ipilẹ wọn, awọn ede kekere ti a ṣe apẹrẹ lati fun awọn olumulo ni agbara laisi nilo alefa imọ-ẹrọ kọnputa kan.
Lílóye ìjìnlẹ̀ àwọn èdè wọ̀nyí fi ìdí tí àwọn irinṣẹ́ kan fi nímọ̀lára ìdánilójú nígbà tí àwọn míràn nímọ̀lára bí gídígbò pẹ̀lú ìwéwèé tí a kọ ní apá mìíràn.
The Lexer: Kikan Awọn Ọrọ Sinu Atomu h2>
Ede kọọkan, bi o ti wu ki o kere to, bẹrẹ pẹlu igbesẹ ipilẹ kanna: itupalẹ lexical, tabi “lexing.” Lexer gba okun aise ti awọn ohun kikọ — nkan bii lapapọ = idiyele * opoiye + owo-ori — o si fọ si awọn ege ti o nilari ti a pe ni awọn ami. Lexer ko bikita nipa itumọ sibẹsibẹ. O kan ṣe idanimọ pe lapapọ jẹ idanimọ, = jẹ oniṣẹ iṣẹ iyansilẹ, owo jẹ idamọ miiran, * jẹ isodipupo, ati bẹbẹ lọ.
Kikọ lekser fun ede kekere jẹ itẹlọrun iyalẹnu. Ni diẹ sii ju awọn laini koodu 100, o le kọ eto kan lati da awọn nọmba mọ, awọn okun, awọn koko-ọrọ, ati awọn oniṣẹ. Irọrun ni aaye — o fi agbara mu ọ lati ronu nipa kini eto “ọrọ” ti o kere ju ti ede rẹ nilo. Ironu kanna yii kan nigbati o n ṣe apẹrẹ awọn irinṣẹ ti nkọju si olumulo. Nigbati ẹrọ adaṣe adaṣe Mewayz jẹ ki oniwun iṣowo kekere ṣeto ofin kan bii “nigbati risiti ba ti pari nipasẹ awọn ọjọ 7, firanṣẹ imeeli olurannileti,” eto naa n sọ ni idakẹjẹẹ ofin yẹn sinu awọn ami ti a ṣeto ti o le ṣiṣẹ lori. Awọn atọkun ti o dara julọ ni rilara ailagbara ni pipe nitori ẹnikan ronu jinle nipa kini awọn ẹya ti o ni itumọ ti o kere julọ ti ero olumulo ṣe dabi.
Písọ: Yipada Awọn ami Alapin Si Awọn Igi Alaaye
Ni kete ti o ba ni awọn ami, o nilo eto. Itumọ ṣe iyipada ọna alapin ti awọn ami si Igi Syntax Abstract (AST) - aṣoju akoso ti o mu awọn ibatan laarin awọn ẹya oriṣiriṣi ti ikosile kan. Ọrọ naaEyi ni ibi ti awọn nkan ti n dun nitootọ. Awọn algoridimu itọka bii isọsọ isọdọtun tabi Pratt parsing jẹ awọn ege imọ-ẹrọ didara ti o baamu ni faili ẹyọkan sibẹsibẹ o le mu awọn girama ti o ni iyalẹnu mu. Awọn olutọpa isọdọtun ti o nwaye, ni pataki, ka fẹrẹẹ bii sipesifikesonu ti ede funrararẹ — iṣẹ kọọkan ni ibamu si ofin girama kan, ṣiṣe koodu ara-iwe ni ọna ti o ṣọwọn ni idagbasoke sọfitiwia.
Àwọn ẹ̀kọ́ láti inú ìtúpalẹ̀ gbòòrò jìnnà rékọjá àgbékalẹ̀ èdè. Eyikeyi eto ti o ṣe ilana titẹ sii ti iṣeto — fọọmu ifiṣura pẹlu awọn sakani ọjọ, iṣeto owo isanwo pẹlu awọn ofin àídájú, opo gigun ti epo CRM kan pẹlu imọ-jinlẹ ẹka - n yanju iṣoro itọye kan. Awọn olumulo 138,000+ lori pẹpẹ Mewayz ṣe ipilẹṣẹ eka, data eleto lojoojumọ. Lílóye bí àwọn olùtúpalẹ̀ ṣe ń yí àbáwọlé àìdánilójú sí ìgbékalẹ̀ àìdánilójú jẹ́ ìyàtọ̀ láàárín kíkọ̀ ètò kan tí ń fi oore-ọ̀fẹ́ mú àwọn ọ̀rọ̀ ẹ̀gbẹ́ àti èyí tí ó já ní àkókò tí ẹnì kan bá wọ ọjọ́ kan lọ́nà tí a kò retí.
Olutumọ naa: Nibo koodu ti wa laaye
Otumọ ni ibi ti idan ti ṣẹlẹ. O n rin AST, ipade nipasẹ ipade, atiṣiṣẹo. Ipin nọmba kan da iye rẹ pada. Ipin isẹ alakomeji ṣe iṣiro awọn ọmọ osi ati ọtun rẹ ati dapọ wọn. Ipe iṣẹ kan n wo iṣẹ naa ni agbegbe kan, so awọn ariyanjiyan pọ, ati ṣe iṣiro ara. Ni ede isere, gbogbo onitumọ le jẹ laini 200-300 — kekere to lati di ori rẹ mu, sibẹsibẹ lagbara to lati ṣiṣe awọn eto gidi.
Awọn ọna gbooro meji lo wa si ipaniyan: awọn onitumọ ti nrin igi ati awọn ẹrọ foju bytecode. Awọn alarinkiri igi jẹ rọrun ṣugbọn o lọra; wọn kọja AST taara. Awọn VM Bytecode ṣe akopọ AST sinu ọna ti awọn ilana ti o rọrun (bii ede apejọ kekere) ati ṣiṣe awọn dipo, idiju imuse iṣowo fun iṣẹ ṣiṣe to dara julọ. CPython, imuse Python boṣewa, nlo VM bytecode kan. Lua, ọkan ninu awọn ede ifibọ daradara julọ, ṣe aṣáájú-ọnà VM ti o da lori iforukọsilẹ ti o ni ipa lori awọn ẹrọ ere ni agbaye.
Imọye bọtini: Awọn irinṣẹ iṣowo ti o lagbara julọ kii ṣe awọn ti o ni awọn ẹya pupọ julọ - wọn jẹ awọn ti o ni “ede” inu ti o dara julọ fun sisọ ohun ti awọn olumulo nilo gaan. Gbogbo ẹrọ ofin, eto agbekalẹ, ati olupilẹṣẹ adaṣe jẹ onitumọ kekere ni iboji. Didara onitumọ yẹn pinnu boya ohun elo ṣe iwọn lati awọn olumulo 10 si 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 →
Ayika ati Dopin: Awọn Farasin Faaji ti Ipinle
Ọkan ninu awọn imọran ẹtan julọ ni imuse ede - ati ọkan ninu iwulo taara julọ si sọfitiwia iṣowo - ni bii awọn ede ṣe ṣakoso ipinlẹ nipasẹ awọn agbegbe ati iwọn. Nigbati o ba kọ iṣẹ iyansilẹ ninu iṣẹ kan, oniyipada yẹn ko yẹ ki o jo jade ki o tun kọ nkan kan ni agbegbe agbaye. Eyi dabi ohun ti o han gedegbe, ṣugbọn imuse rẹ bi o ti tọ nilo ilana data ti a pe niẹwọn ayika: atokọ ti o sopọ ti awọn maapu hash nibiti ipele kọọkan ṣe aṣoju iwọn kan, ati awọn wiwa oniyipada n rin soke pq titi ti wọn yoo fi rii ibaamu kan.Apẹrẹ yii fihan ni ibi gbogbo ninu sọfitiwia ti a ṣe daradara. Awọn igbanilaaye olumulo ni iru ẹrọ iṣowo n ṣiṣẹ ni ọna kanna - iraye si ọmọ ẹgbẹ kan jẹ ipinnu nipasẹ ṣiṣe ayẹwo awọn igbanilaaye ẹnikọọkan wọn ni akọkọ, lẹhinna awọn igbanilaaye ipa wọn, lẹhinna awọn aipe ti ajo naa. Eto module Mewayz, eyiti o tan ohun gbogbo lati awọn oju-iwe ọna asopọ-in-bio si sisẹ isanwo ni kikun, nlo iṣeto ti o fẹlẹfẹlẹ ti o ṣe afihan ipilẹ gangan yii. Oni-owo kan ṣeto awọn aiṣedeede jakejado agbari, awọn alakoso ẹka le doju awọn eto kan pato, ati pe awọn olumulo kọọkan le ṣe akanṣe aaye iṣẹ tiwọn - gbogbo laisi awọn ija.
Gbini aṣiṣe ni ede siseto kan nfa awọn idun. Gbigba aaye ti ko tọ ni pẹpẹ iṣowo kan fa awọn n jo data, igbega igbanilaaye, ati iru rudurudu iṣẹ ṣiṣe ti o jẹ owo gidi. Awọn ẹkọ jẹ kanna ni gbogbo ipele ti abstraction.
Kini Kikọ Ede Kekere kan Kọ Ọ Ni Lootọ
Ti o ko ba tii kọ ede siseto kekere kan rara, eyi ni ohun ti iriri naa kọni gangan — ati idi ti o fi ṣe pataki boya o jẹ idagbasoke, oludasilẹ imọ-ẹrọ, tabi ẹnikan ti o kan fẹ lati ni oye awọn irinṣẹ ti wọn lo lojoojumọ:
- Itọye ti ero: O ko le ṣe aiduro nigbati o ba n ṣalaye ilo-ọrọ kan. Gbogbo aibikita ni sipesifikesonu ede rẹ di kokoro ninu itọka rẹ. Ilana yii n gbe taara si kikọ awọn alaye lẹkunrẹrẹ to dara julọ, awọn iwe aṣẹ ti o han gedegbe, ati awọn ibeere ẹya kongẹ diẹ sii.
- Ibanujẹ fun awọn olumulo: Nigbati o ba ṣe apẹrẹ ede kan, o n ṣe apẹrẹ wiwo fun ero eniyan. O kọ lati beere: "Kini olumulo tumọ sinipasẹ eyi?" — ibeere ti o yẹ ki o wakọ gbogbo ọja ipinnu.
- Intuition Performance: O kọ idi ti diẹ ninu awọn iṣẹ ṣe yara ati awọn miiran ti o lọra, kii ṣe lati kika awọn aṣepari ṣugbọn lati rii ni deede iye awọn igbesẹ ti onitumọ ṣe. Eyi jẹ ki o dara julọ ni sisọ awọn ọna ṣiṣe ti iwọn.
- Ṣiṣe atunṣe aṣiṣe: Nigbati ede rẹ ba ṣe agbejade ti ko tọ, iwọ ko ni ibi ti o tọju. Ko si ilana lati jẹbi, ko si rogbodiyan ẹya ikawe. O jẹ ọgbọn rẹ, awọn ẹya data rẹ, algorithm rẹ. Eyi ṣe agbero iru ọgbọn ti n ṣatunṣe aṣiṣe ti o ya awọn onimọ-ẹrọ ti o dara kuro ninu awọn nla.
- Imọriri fun abstraction: O loye idi ti awọn ede ti o ga julọ ṣe awọn yiyan ti wọn ṣe — kilode ti JavaScript ni awọn pipade, kilode ti Python yan aaye funfun pataki, kilode ti oluyawo Rust wa. Iwọnyi kii ṣe awọn ipinnu lainidii; wọn jẹ awọn ojutu si awọn iṣoro gidi ti iwọ yoo ba pade ninu imuse tirẹ.
Lati Awọn ede Toy si Adaaṣe-Agbaye gidi
Aafo laarin ede isere ati ẹrọ adaṣe adaṣe kere ju ti ọpọlọpọ eniyan ro lọ. Shopify's Liquid tempting ede bẹrẹ bi irọrun, eto awoṣe ailewu ati ni bayi agbara awọn miliọnu awọn iwaju ile itaja. GitHub Actions' syntax bisesenlo jẹ ede kan pato-ašẹ ti a ṣe lori YAML. Ede ibeere Sigma Stripe jẹ ki awọn ẹgbẹ owo ṣe ibeere data isanwo laisi kikọ SQL. Ọkọọkan ninu iwọnyi bẹrẹ pẹlu ẹnikan ti n beere: “Kini ede ti o kere julọ, ti o rọrun julọ ti o yanju iṣoro kan pato?”
Eyi jẹ imoye kanna lẹhin awọn iru ẹrọ ti o ni ero lati ṣopọ awọn iṣẹ iṣowo sinu ilolupo ẹyọkan. Nigbati Mewayz ṣe iranṣẹ freelancer kan ti o nilo ọna asopọ-in-bio oju-iwe atiaarin-iwọn ile-iṣẹ ti n ṣiṣẹ isanwo fun awọn oṣiṣẹ 50 kọja awọn modulu 207 rẹ, ipenija ti o wa ni ipilẹ jẹ ọkan ti o dojukọ nipasẹ gbogbo onise ede: bawo ni o ṣe ṣẹda eto ti o rọrun to fun awọn olubere sibẹsibẹ lagbara to fun awọn ọran lilo eka? Idahun naa, gẹgẹbi olupilẹṣẹ ede eyikeyi yoo sọ fun ọ, wa ni gbigba awọn alakoko ni ẹtọ - kekere, awọn bulọọki ile idapọ ti awọn olumulo le ṣajọpọ ni awọn ọna ti apẹẹrẹ ko nireti rara.
Nigbamii ti o ba tunto ofin adaṣe kan, kọ dasibodu aṣa, tabi ṣeto iṣan-iṣẹ ni àídájú ni eyikeyi irinṣẹ iṣowo, ranti: iwọ n kọ eto kan ni igbadun igbadun. Ẹnikan ṣe apẹrẹ awọn ikun ede yẹn — olutọwe rẹ, itọka rẹ, ati onitumọ — lati jẹ ki erongba rẹ ṣiṣẹ. Ati pe didara iṣẹ wọn jẹ agbara alaihan ti npinnu boya iriri rẹ kan lara bi idan tabi ibanujẹ. Loye awọn ikun wọnyẹn, paapaa ni ipele oju, yoo fun ọ ni agbara nla: agbara lati wo ẹrọ ti o wa labẹ wiwo, lati sọ asọtẹlẹ ibiti yoo fọ, ati lati titari siwaju ju awọn apẹẹrẹ rẹ ti ro tẹlẹ.
Kọ OS Iṣowo Rẹ Loni
Lati awọn freelancers si awọn ile-ibẹwẹ, Mewayz ṣe agbara awọn iṣowo 138,000+ pẹlu awọn modulu iṣọpọ 207. Bẹrẹ ọfẹ, igbesoke nigbati o ba dagba.
Ṣẹda akọọlẹ Ọfẹ →Awọn ibeere Nigbagbogbo
Kini "lil' fun langs" ati kilode ti MO yẹ ki o bikita?
Lil' awọn langs igbadun jẹ kekere, awọn ede siseto esiperimenta ti a ṣe lati ṣawari awọn imọran kan pato tabi kọ awọn imọran pataki. Wọn wa lati awọn onitumọ nkan isere ti a kọ ni ipari-ọsẹ kan si awọn ede kan pato-ašẹ (DSLs) ti a ṣe apẹrẹ fun awọn iṣẹ-ṣiṣe dín. Loye bi wọn ṣe n ṣiṣẹ fun ọ ni oye ti o jinlẹ si bii gbogbo sọfitiwia nṣiṣẹ - pẹlu awọn irinṣẹ iṣowo ti o gbẹkẹle lojoojumọ. Imọye yẹn jẹ ki o jẹ idagbasoke ti o nipọn ati oluṣe ipinnu alaye diẹ sii nigba yiyan tabi ṣiṣe awọn eto adaṣe.
Bawo ni kikọ ẹkọ nipa awọn inu ede ṣe iranlọwọ pẹlu adaṣe iṣowo?
Nigbati o ba loye awọn imọran bii itọkasi, igbelewọn, ati awọn onitumọ, o bẹrẹ lati rii adaṣe ni oriṣiriṣi. O ṣe idanimọ awọn ilana ni awọn ọmọle ṣiṣan iṣẹ, awọn ẹrọ awoṣe, ati awọn eto ofin. Awọn iru ẹrọ bii Mewayz lo awọn ipilẹ kanna kọja awọn modulu 207 wọn lati jẹ ki o ṣe adaṣe adaṣe, ṣiṣan iṣẹ CRM, ati diẹ sii - gbogbo rẹ laisi koodu kikọ. Mimọ awọn ipilẹ ṣe iranlọwọ fun ọ Titari awọn irinṣẹ wọnyi siwaju ati yanju awọn ọran ni iyara.
Ṣe Mo nilo oye imọ-ẹrọ kọnputa lati kọ ede kekere kan?
Ko rara. Ọpọlọpọ awọn olupilẹṣẹ kọ onitumọ akọkọ wọn ni ipari-ọsẹ kan ni lilo awọn ikẹkọ ati awọn itọsọna orisun ṣiṣi. Awọn ede bii Python ati JavaScript jẹ ki o taara lati kọ lexer ipilẹ, parser, ati oluyẹwo. Ibi-afẹde kii ṣe lati ṣẹda ede iṣelọpọ atẹle — o jẹ lati kọ ẹkọ nipa ṣiṣe. Paapaa ede oniṣiro ti o rọrun kan kọ ọ bi a ṣe tumọ awọn ikosile ati ṣiṣe, awọn ọgbọn ti o gbe taara si idagbasoke gidi-aye.
Njẹ agbọye DSL le ṣe iranlọwọ fun mi lati yan awọn irinṣẹ iṣowo to dara julọ bi?
Nitootọ. Ọpọlọpọ awọn iru ẹrọ iṣowo ṣe ifibọ awọn ede-ašẹ kan pato fun awọn agbekalẹ, awọn asẹ, ati awọn ofin ṣiṣan iṣẹ. Nigbati o ba loye bi awọn DSL ṣe n ṣiṣẹ labẹ iho, o le ṣe iṣiro awọn irinṣẹ diẹ sii ni pataki. Fun apẹẹrẹ, Mewayz nfunni ni OS iṣowo okeerẹ ti o bẹrẹ ni $19/mo pẹlu ọgbọn adaṣe ti a ṣe sinu kọja awọn modulu rẹ. Mimọ awọn imọran DSL ṣe iranlọwọ fun ọ lati lo awọn ẹya wọnyẹn ni kikun ju kikan dada.
Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
Start managing your business smarter today
Join 6,203+ businesses. Free forever plan · No credit card required.
Ready to put this into practice?
Join 6,203+ businesses using Mewayz. Free forever plan — no credit card required.
Start Free Trial →Related articles
Hacker News
Testosterone shifts political preferences in weakly affiliated Democratic men
Apr 17, 2026
Hacker News
How Silicon Valley Is Turning Scientists into Exploited Gig Workers
Apr 17, 2026
Hacker News
Ada, Its Design, and the Language That Built the Languages
Apr 17, 2026
Hacker News
How Big Tech wrote secrecy into EU law to hide data centres' environmental toll
Apr 17, 2026
Hacker News
FIM – Linux framebuffer image viewer
Apr 17, 2026
Hacker News
PROBoter – Open-source platform for automated PCB analysis
Apr 17, 2026
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