Heavy Meta. A Streaming Series on JetBrains MPS

Մի վերջին փորձարկում էի MPS-ի մասին հոսքով: Ես շատ ավելին չեմ արել, քան մեկ, նույնիսկ ուղիղ հեռարձակում, տեսանյութ: Հիմնականում ես էի աշխատում MPS-ի որոշ ընդլայնման վրա, մինչ ես բացատրում էի, թե ինչ եմ անում, ինչը պատահաբար ձայնագրեցի:

Վերջերս ես վերակենդանացրեցի իմ ջանքերն այդ ուղղությամբ և սկսեցի Twitch-ում նոր սերիաներ: Այս անգամ իսկապես կենդանի և այնուհետև twitch-ում հասանելի ձայնագրություններով: Առաջին երկու «դրվագները» կենտրոնացած էին ավելի առաջադեմ թեմայի վրա, որը պահանջվել էր MPS համայնքի անդամների կողմից՝ հրամանի տողի կառուցում և ինտեգրում շարունակական ինտեգրման կարգավորումներում: Մեկ այլ նպատակ էր նաև տեսնել, թե արդյոք իմ մտքում եղած կարգավորումը տեխնիկապես կաշխատի, ինչը, կարծես, ստացվեց:

Ի՞նչ է հաջորդը: Ես նախատեսում եմ MPS-ի մասին ավելի շատ հեռարձակումներ կատարել շաբաթական երկու հոսքով՝ սկսած MPS-ի շատ հիմնական ներածությունից: Այնուհետև կառուցելով հիմնական լեզու(ներ) և ի վերջո ավարտվում լեզվի ձևավորման և առանձնահատկությունների վերաբերյալ առաջադեմ դրվագով:

Ինչու՞ Live on Twitch-ում:

Նախապես ձայնագրված տեսանյութեր պատրաստելու և դրանք YouTube-ի նման հարթակ դնելու փոխարեն, ես որոշեցի դա անել այլ կերպ՝ ունենալով կանոնավոր ուղիղ եթերում, որտեղ ես ձեզ ցույց կտամ, թե ինչպես օգտագործել MPS-ը և կառուցել լեզուներ: Ինձ համար հիմնական պատճառն այն է, որ ես դեռ ընդհանուր պլան ունեմ, թե ինչ ցույց տալ և սովորեցնել, ես չեմ ուզում ստատիկ ուսուցում անել: Ես ուզում եմ ինտեգրել ձեր կարծիքն ու գաղափարները: Կլինեն նպաստելու և փոխազդելու մի քանի եղանակներ: Իդեալում մենք կկառուցենք ձեռնարկը միասին:

Եթե ​​դա հաջողվի, ես շատ այլ գաղափարներ ունեմ, որտեղ մենք կարող ենք զարգացնել ձևաչափը: Հետագա գաղափարները ներառում են.

  • «MPS-ի գրասենյակային ժամեր». որտեղ դուք՝ համայնքը, կարող եք զրուցել MPS-ի և դրա ընդլայնումների մշակման մեջ ներգրավված մարդկանց հետ
  • «Բերեք ձեր խնդիրը» - նիստեր, որտեղ համայնքից ոմանք խնդիր են բերում, և մենք միասին լեզու ենք կառուցում դրա համար
  • ցուցադրելով հատուկ MPS ընդլայնում և դրա օգտագործումը

Ինչ ենք մենք պատրաստվում անել

Մինչև Սուրբ Ծնունդ ես կցանկանայի ձեզ հետ պարզ լեզու կառուցել: Լեզուն կներկայացնի պարզ արտահայտություններ, մեթոդներ և աբստրակցիա՝ լեզվով գրված կոդը ստուգելու համար: Այն ծանոթ տեսք կունենա և կզգա հիմնական ծրագրավորման լեզվին: Չնայած ես չեմ կարծում, որ MPS-ն անպայմանորեն լավագույն ընտրությունն է լեզուների ստեղծման համար, որոնք ուղղված են նորմալ ծրագրային ապահովման մշակողներին, և ես առաջին դրվագներից մեկում կբացատրեմ, թե ինչու ավելի մանրամասն, ես ուզում էի սկսել ինչ-որ ծրագրաշարից: մշակողները կարող են հեշտությամբ առնչվել:

Բովանդակությունը

Շարքը կսկսվի JetBrains MPS-ի հիմունքներից (ինչ է դա, ինչ կարող է անել դրա հետ և այլն) և ներածություն, թե ինչպես կառուցել ձեր առաջին լեզուն քայլ առ քայլ: Այնուհետև մենք աստիճանաբար կանցնենք ժամանակի ընթացքում ավելի ու ավելի առաջադեմ օգտագործման դեպքերի: Ընդհանուր առմամբ, շարքը նպատակ ունի դանդաղ տեմպերով լինել, որպեսզի կարողանաք հետևել այն ամենին, ինչ ես ցույց եմ տալիս: Յուրաքանչյուր դրվագ տևելու է մոտ երկու-երեք ժամ: Ներկայումս ես պլանավորել եմ դրվագներ մինչև Սուրբ Ծնունդ՝ շաբաթական ուղեկցվող դրվագներով ամեն երեքշաբթի (20:00 CET) և հինգշաբթի (19:00 CET) իմ Twitch channel-ով: Թեև դրանց նոյեմբերյան հատվածի բովանդակությունն արդեն իսկ կոնկրետ է՝ MPS-ի հետ սկսելու համար, դեկտեմբերի վերջին դրվագները իդեալականորեն հիմնված են ձեր կարծիքի վրա:

Գոյություն ունեն կարծիք հայտնելու և նախագծին նպաստելու մի քանի եղանակներ, օրինակ՝ twitch-ով չաթում հարցեր տալով, MPS SlackSlack channel-ին միանալով, Github շտեմարան խնդիրներ ավելացնելով կամ pull ուղարկելով: հարցումներ դեպի պահոց մի բանով, որը դուք գտնում եք լեզվի օգտակար ընդլայնում:

Սա ևս մեկ Արագ ճանապարհ դեպի MPS է: Պարզ պատասխանն է Ոչ: Արագ ճանապարհ դեպի MPS»-ը հիանալի ուղեցույց է MPS-ի հիմունքները սկսելու համար, սակայն չի ներառում ավելի առաջադեմ թեմաներ կամ լեզվի ձևավորում ընդհանրապես: Թեև ես կսկսեմ նաև հիմունքներից, սկզբում որոշակի համընկնումներ կլինեն, բայց նպատակն է ավելի ուշ լուսաբանել առաջադեմ թեմաներ, բայց հետևողական օրինակ լեզվով` սկսած հենց հիմունքներից:

Յուրաքանչյուր դրվագի պլանն ունի հետևյալ տեսքը.

  • 6 նոյեմբերիՆերածություն JetBrains մետածրագրավորման համակարգին (MPS). Ի՞նչ է դա, ինչ կարող եմ անել դրա հետ, ինչ է լեզուն MPS-ում:
  • 8 նոյեմբերիԼեզվի տարբեր ասպեկտները MPS-ում. Մանրամասն նայեք լեզվի տարբեր ասպեկտներին փոքրիկ օրինակներով, թե ինչի համար են օգտակար այս ասպեկտները:
  • 13 նոյեմբերիՍկսում ենք մեր առաջին լեզուն. Ի՞նչ ենք մենք պատրաստվում կառուցել, ստեղծել նախագիծը և ստեղծել մեր առաջին հայեցակարգերը:
  • նոյեմբերի 15Ավելի մանրամասն հայացք խմբագիրներին. Ինչպես սահմանել խմբագիրներին լավ օգտագործելիությամբ: Ինչպես օգտագործել MPS ընդլայնումները՝ խմբագրի սահմանումները պարզեցնելու համար:
  • Նոյեմբերի 20Հիմնական տիպային համակարգ. մեր լեզվի համար պարզ տիպային համակարգ՝ ճիշտ ծրագրեր ապահովելու համար:
  • Նոյեմբերի 22Կիրառելիությունը սահմանափակելու համար սահմանափակումների օգտագործում. Օգտագործեք սահմանափակումներ՝ օգտատերերին սխալներ թույլ չտալու համար:
  • Դեկտեմբերի 4Հղումներ և շրջանակներ. Փոփոխականների համար շրջանակների ավելացում:
  • 6 ԴեկտեմբերԼեզվի փորձարկում. Ի՞նչ կարող ենք ստուգել մեր լեզվի մասին և ինչպես:
  • 11 դեկտեմբերիԱջակցություն լեզվի թեստերին. Աջակցություն ավելացնելով մեր լեզվով գրված թեստերին:
  • 13 դեկտեմբերիՊարզ թարգմանիչ. ծրագրերի իրականացում անմիջապես IDE-ի ներսում:
  • 18 դեկտեմբերիԿոդերի գեներատոր. Java-ի ստեղծում մեր լեզվից:

Դուք կարող եք նաև գտնել բոլոր ամսաթվերը այս google օրացույցում՝ հեշտ մուտք գործելու համար:

Ինչպես նշվեց ավելի վաղ, հետագա դրվագների բովանդակությունը հիմնված է ձեր ներդրման և այն բանի վրա, թե ինչպես ենք մենք առաջադիմում ձեռնարկի միջոցով: Ես կցանկանայի խրախուսել բոլորին ուղարկել ձեր գաղափարը նախկինում նշված ուղիներով:

Հուսով եմ, որ կտեսնվենք Twitch-ում ամեն երեքշաբթի և հինգշաբթի օրերին: 💪