Лил 'Күңелле Лангс' Гутс | Mewayz Blog Skip to main content
Hacker News

Лил 'Күңелле Лангс' Гутс

Аңлатмалар

1 min read Via taylor.town

Mewayz Team

Editorial Team

Hacker News

Ни өчен кечкенә программалаштыру телләре капкасы астында карау сезне яхшырак төзүче итә

Сез кулланган һәр программа кисәге - сезнең төнне счет-фактуралар җибәрүче автоматлаштырылган двигательгә алып барган CRM-дан - программалаштыру теле белән төзелгән. Ләкин программалаштыру телен талпан ясый торган нәрсә турында уйлаганыгыз бармы? Python яки JavaScript кебек масштаблы экосистемалар түгел, ә кечкенә, шомлы, искиткеч сәер, уйлап табучылар ял көннәрендә бер проблеманы чишү өчен яки өйрәнү өчен генә төзиләр. Бу "лил" кызыклы ланглар - уенчык телләре, доменга хас телләр (DSL), һәм мәгариф тәрҗемәчеләре - информатикадагы иң матур идеялар яшәгән урында. Аларның эчтәлеген аңлау сезне яхшырак программист итми; ул кораллар төзү, эш процессларын автоматлаштыру, кешеләр өчен эшләгән системаларны проектлау турында уйлавыгызны үзгәртә.

"Лил" Күңелле Ланглар нәрсә ул?

Программалаштыру дөньясы телләр белән тулы, алар беркайчан да электр җитештерү серверларына яки миллионлаган операцияләрне эшкәртүгә китерелмәгән. Локс кебек телләр (Роберт Нистромның һөнәрчелек тәрҗемәчеләре ), Маймыл (Торстен тупның Go тәрҗемәчесе язу дан), яки хәтта Брейнфак һәм Шеф кебек шаяру телләре укыту, күңел ачу һәм "тел" нәрсә аңлатканын чикләргә этәрү өчен бар. Бу кечкенә телләр реаль дөнья кораллар челтәренең катлаулылыгын юкка чыгаралар һәм кодның ничек эшләнүен чимал механикасын фаш итәләр.

Ләкин "lil 'fun langs" укыту күнегүләре белән чикләнми. Доменга хас телләр базардагы иң эффектив бизнес коралларын куәтли. Электрон таблицада формула язган саен, электрон почта клиентыгызда фильтр кагыйдәсен билгеләгәндә, яки Mewayz кебек платформада автоматлаштырылган эш процессын конфигурацияләгәндә, сез кечкенә, максатлы тел белән аралашасыз. Мевайз эчендәге 207 модуль - CRM, счет-фактурасы, кадрлар, флот белән идарә итү һ.б.

Бу телләрнең анатомиясен аңлау ни өчен кайбер коралларның интуитив булуын, икенчеләренең бүтән үлчәмдә язылган кулланма белән көрәш кебек тоелганын күрсәтә.

Лексер: Атомга сүзләр кертү

Everyәрбер тел, кечкенә булса да, бер үк төп адымнан башлана: лексик анализ, яки "лексика". Лексер символларның чиста сызыгын ала - <код> гомуми = бәя * сан + салым кебек нәрсә - һәм аны билгеләр дип аталган мәгънәле өлешләргә бүлеп бирә. Лексер әле мәгънә турында уйламый. Бу бары тик <код> гомуми идентификатор, <код> = билгеләнү операторы, <код> бәя бүтән идентификатор, <код> * тапкырлау һ.б.

Кечкенә тел өчен лексер төзү гаҗәпләндерә. 100 дән дә ким булмаган кодта сез программаны саннарны, кылларны, ачкыч сүзләрне, операторларны танырга өйрәтә аласыз. Гадилек - нокта - сезне телегезнең абсолют минимум җыелмасы нәрсә турында уйларга мәҗбүр итә. Шул ук уйлау кулланучыларга караган коралларны эшләгәндә кулланыла. Mewayz автоматлаштыру двигателе кече бизнес хуҗасына "счет-фактурасы 7 көнгә артканда, искә төшерү электрон почтасы җибәрергә" кебек кагыйдә куярга рөхсәт биргәндә, система тыныч кына бу кагыйдәне ул эшли алган структуралы билгеләргә кертә. Иң яхшы интерфейс төгәл тырышлык сизә, чөнки кемдер кулланучының иң кечкенә мәгънәле берәмлекләре турында тирән уйланган.

анализлау: яссы токеннарны тере агачларга әйләндерү

Токеннары булганнан соң, сезгә структура кирәк. Парсинг билгеләрнең яссы эзлеклелеген абстракт синтаксис агачына (AST) үзгәртә - иерархик тәкъдим итү, экспрессның төрле өлешләре арасындагы бәйләнешне кулга төшерә. <Код> 3 + 4 * 5 гыйбарәсе биш билге эзлеклелеге генә түгел; бу агач, тапкырлау өстәмәгә караганда катырак бәйләнгән, 35 урынына 23 җитештерә торган агач.

Монда әйберләр чын күңелдән кызык була. Алгоритмнарны рекурсив төшү яки Пратт анализлау - нәфис инженерлык кисәкләре, алар бер файлга туры килә, ләкин гаҗәп катлаулы грамматиканы эшкәртә ала. Рекурсив нәсел парсерлары, аеруча, телнең спецификациясе кебек укыйлар - һәр функция грамматик кагыйдәгә туры килә, кодны үз-үзен документлаштыру программа тәэминаты сирәк очрый.

Парсинг дәресләре тел дизайныннан ерак. Структуралаштырылган керүне эшкәртә торган теләсә нинди система - даталар диапазоны белән броньлау формасы, шартлы кагыйдәләр белән хезмәт хакы конфигурациясе, тармак логикасы булган CRM торбасы - анализлау проблемасын чишә. Mewayz платформасындагы 138,000+ кулланучы көн саен катлаулы, структуралы мәгълүматлар чыгара. Парсерларның аңлашылмаган керүне ничек аңлашылмаган структурага әйләндерүен аңлау - чит очракларны матур итеп эшкәртә торган система төзү белән кемнеңдер көтелмәгән форматта датага керү мизгелен бозучы аерма.

Тәрҗемәче: Код кайда яши

Тылсымчы - тылсым булган урында. Ул AST йөри, төен белән төен, һәм аны башкара . Сан төене аның кыйммәтен кире кайтара. Бинар операция төене аның сул һәм уң балаларын бәяли һәм аларны берләштерә. Функция чакыруы функцияне әйләнә-тирәдә карый, аргументларны бәйли һәм тәнне бәяли. Уенчык телендә бөтен тәрҗемәче 200-300 юл булырга мөмкин - башыгызда тотарлык кечкенә, ләкин реаль программалар белән идарә итәр өчен көчле.

башкару өчен ике киң караш бар: агач йөрүче тәрҗемәчеләр һәм байтакод виртуаль машиналар. Агач йөртүчеләр гадирәк, ләкин әкренрәк; алар турыдан-туры АСТны кичәләр. Байтакод VMлар AST-ны гади инструкцияләр эзлеклелегенә туплыйлар (кечкенә җыю теле кебек) һәм алар урынына башкаралар, драматургияне яхшырак башкару өчен сәүдә итү катлаулылыгы. CPython, стандарт Python гамәлгә ашыру, VM код кодын куллана. Луа, иң эффектив урнаштырылган телләрнең берсе, реестрга нигезләнгән VM дизайнын башлап җибәрде, бу бөтен дөнья уен двигательләренә йогынты ясады.

Төп аңлау: Иң көчле бизнес кораллары иң үзенчәлекләре түгел - алар кулланучыларга нәрсә кирәклеген белдерү өчен иң яхшы эчке "тел". Everyәр кагыйдә двигателе, формула системасы һәм автоматизация төзүчесе - кечкенә генә тәрҗемәче. Бу тәрҗемәченең сыйфаты коралның 10 кулланучыдан 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 →

Әйләнә-тирә мохит һәм масштаб: Дәүләтнең яшерен архитектурасы

Телне тормышка ашыруда иң катлаулы төшенчәләрнең берсе - һәм бизнес программаларына иң турыдан-туры кулланыла торган телләрнең берсе - телләрнең әйләнә-тирә мохит һәм масштаб аша ничек идарә итүе. Функция эчендә үзгәрүчән бирем язганда, бу үзгәрүчән глобаль масштабта берәр нәрсәне язып калдырырга тиеш түгел. Бу ачык күренә, ләкин аны дөрес тормышка ашыру әйләнә-тирә чылбыр дип аталган мәгълүмат структурасын таләп итә: гаш карталарының бәйләнгән исемлеге, анда һәр дәрәҗә масштабны күрсәтә, һәм үзгәрүчән эзләүләр матчны тапканчы чылбыр буйлап йөриләр.

Бу үрнәк яхшы эшләнгән программа тәэминатында бөтен җирдә күрсәтелә. Бизнес платформасында кулланучылар рөхсәтләре бер үк эш итә - команда әгъзаларының рөхсәте башта аларның шәхси рөхсәтләрен, аннары аларның ролларын, аннары оешманың дефолтларын тикшереп билгеләнә. Мевайзның модуль системасы, био-битләрдән башлап хезмәт хакын тулысынча эшкәртүгә кадәр, бу төгәл принципны чагылдырган катлаулы конфигурация куллана. Бизнес хуҗасы оешма күләмендәге дефолтларны куя, бүлек менеджерлары махсус көйләүләрне кире кагарга мөмкин, һәм аерым кулланучылар үз эш урыннарын көйли алалар - барысы да конфликтсыз.

Программалаштыру телендә масштабны ялгыш алу хаталарга китерә. Бизнес платформасында дөрес булмаган мәгълүмат алу мәгълүматларның таралуына, рөхсәтнең көчәюенә һәм реаль акчага төшкән оператив хаосның төренә китерә. Дәресләр абстракциянең һәр дәрәҗәсендә бер үк.

Кечкенә тел төзү сезне нәрсәгә өйрәтә

Әгәр сез беркайчан да кечкенә программалаштыру телен булдырмаган булсагыз, монда тәҗрибә төгәл өйрәтә - һәм ни өчен сез уйлап табучы, техник нигез салучы яки көн саен кулланган коралларны аңларга теләгән кеше булу мөһим:

  • Фикернең төгәллеге: Сез грамматиканы билгеләгәндә аңлаешсыз була алмыйсыз. Сезнең тел спецификациясендәге һәрбер аңлашылмаучанлык сезнең парсерда хата булып китә. Бу дисциплина турыдан-туры яхшырак спеклар, төгәл документлар һәм төгәл үзенчәлек таләпләрен язуга күчә.
  • Кулланучыларга кызгану: Сез тел эшләгәндә, кеше фикере өчен интерфейс ясыйсыз. Сез сорарга өйрәнәсез: "Моның белән кулланучы нәрсә аңлата?" - һәрбер продукт карарына этәргеч бирергә тиеш сорау.
  • Спектакль интуициясе: Ни өчен кайбер операцияләрнең тиз, ә кайберләренең әкрен булуын беләсең, күрсәткечләрне укудан түгел, ә тәрҗемәченең ничә адым ясаганын күрүдән. Бу сезне масштаблы системаларны проектлауда яхшырак итә.
  • Дебатлау осталыгы: Сезнең телегез дөрес булмаган продукция чыгарганда, сез яшерер урын юк. Гаепләү өчен нигез юк, китапханә версиясе конфликты юк. Бу сезнең логика, мәгълүмат структуралары, алгоритм. Бу яхшы инженерларны бөекләрдән аера торган тирән көйләү осталыгын булдыра.
  • Абстракция өчен рәхмәт: Ни өчен югары дәрәҗәдәге телләр сайлаганнарын аңлыйсыз - ни өчен JavaScript ябыла, Python ни өчен зур мәйдан сайлый, ни өчен Рөстәмнең зачет тикшерүчесе бар. Бу карарлар түгел; алар сезнең тормышка ашырылган реаль проблемаларны чишү.

Уенчык телләреннән реаль дөнья автоматизациясенә

Уенчык теле белән җитештерүне автоматлаштыру двигателе арасындагы аерма күпчелек уйлаганча кечерәк. Шопифиның сыек шаблон теле гади, куркынычсыз шаблон системасы буларак башланган һәм хәзер миллионлаган кибет фронтларына көч бирә. GitHub Actions эш процессы синтаксисы - YAML нигезендә төзелгән доменга хас тел. Стрипның Сигма соравы теле финанс коллективларына SQL язмыйча түләү мәгълүматларын сораштырырга мөмкинлек бирә. Боларның һәрберсе кемнеңдер соравы белән башланды: "Бу конкрет проблеманы чишә торган иң кечкенә, иң гади тел нинди?"

Бу бизнес-операцияләрне бер экосистемага берләштерергә омтылган платформалар артында шул ук фәлсәфә. Мевайз фрилансерга хезмәт иткәндә, био бите һәм 207 модулында 50 хезмәткәр өчен хезмәт хакы алып торган урта компаниягә хезмәт иткәндә, төп проблема һәр тел дизайнеры белән бер үк: сез яңа башлап җибәрүчеләр өчен җитәрлек гади, ләкин катлаулы куллану очраклары өчен көчле система ничек булдырасыз? Anyавап, теләсә нинди телне тормышка ашыручы сезгә әйтер, примитивларны дөрес алу - кечкенә, композицион блоклар, кулланучылар дизайнер көтмәгәнчә берләштерә ала.

Киләсе тапкыр автоматлаштыру кагыйдәсен конфигурацияләгәндә, махсус такта төзегәндә яки теләсә нинди бизнес коралында шартлы эш процессын көйләгәндә, исегездә тотыгыз: сез лилның кызыклы программасын язасыз. Кемдер бу телнең эчтәлеген - аның лексеры, анализлаучысы һәм тәрҗемәчесе - сезнең ниятегезне тормышка ашыру өчен эшләде. Theirәм аларның эш сыйфаты - сезнең тәҗрибәгез тылсым яки бәхетсезлек кебек тоелган күренми торган көч. Бу эчәкләрне аңлау, хәтта өслек дәрәҗәсендә дә, сезгә супер көч бирә: машинаны интерфейс астында күрү, аның кайда ватылачагын алдан әйтү һәм дизайнерлары уйлаганча алга этәрү сәләте.

Бүген сезнең бизнес ОСны төзегез

Фрилансерлардан алып агентлыкларга кадәр, Mewayz 207 интеграль модульле 138,000+ бизнеска вәкаләт бирә. Ирекле эшләгез, үскәч яңартыгыз.

Еш бирелә торган сораулар

"лил" күңелле ланглар нәрсә ул һәм нигә мин кайгыртырга тиеш?

Лил 'кызыклы ланглар кечкенә, эксперименталь программалаштыру телләре, билгеле идеяларны өйрәнү яки төп төшенчәләрне укыту өчен төзелгән. Алар ял көннәрендә язылган уенчык тәрҗемәчеләрдән алып, тар эш өчен эшләнгән доменга хас телләргә (DSL) кадәр. Аларның ничек эшләвен аңлау сезгә барлык программаларның ничек эшләвен тирәнрәк аңларга ярдәм итә - көн саен таянган бизнес коралларыгызны да кертеп. Бу белем сезне автоматлаштыру системаларын сайлаганда яки төзегәндә кискенрәк уйлап табучы һәм карар кабул итүче итә.

Тел эчтәлеген өйрәнү бизнесны автоматлаштыруда ничек ярдәм итә?

Парсинг, бәяләү, тәрҗемәче кебек төшенчәләрне аңлагач, сез автоматизацияне башкача күрә башлыйсыз. Сез эш процессын төзүчеләрдә, шаблон двигательләрендә, кагыйдә системаларында үрнәкләрне таныйсыз. Mewayz кебек платформалар шул ук принципларны 207 модулында кулланалар, счет-фактураны, CRM эш процессларын һәм башкаларны автоматлаштыру өчен - барысы да код язмыйча. Фундаментларны белү сезгә бу коралларны алга этәрергә һәм проблемаларны тизрәк чишәргә ярдәм итә.

Кечкенә тел төзү өчен миңа информатика дәрәҗәсе кирәкме?

Notк. Күпчелек уйлап табучылар беренче тәрҗемәчеләрен бер ял көннәрендә дәреслекләр һәм ачык чыганаклар ярдәмендә төзиләр. Python һәм JavaScript кебек телләр төп лексер, парсер һәм бәяләүче язуны гади итә. Максат киләсе производство телен булдыру түгел - аны эшләп өйрәнү. Хәтта гади калькулятор теле дә сезгә экспрессияләрне ничек анализларга һәм башкарырга өйрәтә, турыдан-туры реаль дөнья үсешенә күчә торган осталык.

DSLларны аңлау миңа яхшырак бизнес коралларын сайларга булыша аламы?

Әлбәттә. Күпчелек бизнес платформалары формулалар, фильтрлар һәм эш процессы кагыйдәләре өчен доменга хас телләрне урнаштыралар. DSLларның капот астында ничек эшләвен аңлагач, сез коралларны критик бәяли аласыз. Мәсәлән, Mewayz үзенең модульләре эчендә урнаштырылган автоматизация логикасы белән $ 19 / айдан башлап комплекслы бизнес ОС тәкъдим итә. DSL төшенчәләрен белү сезгә бу үзенчәлекләрне тулысынча сызарга ярдәм итә.

түгел, ә бу функцияләрне тулысынча кулланырга булыша

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 →

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