Կոդ մի գրեք… ստեղծեք վաճառողներ:

Սա բաց աղբյուր չէ և փակ աղբյուր չէ: Դա աղբյուր չէ:

Ժամանակին մենք ծրագրեր էինք գրում ժողովում։

Հետո, երբ ծրագրերը չափազանց բարդացան, մենք վերացրեցինք մեքենայի մանրամասները և assembly-ից տեղափոխվեցինք ավելի բարձր մակարդակի լեզուների: Այստեղ մենք սկսեցինք մեր գիտելիքներից մի փոքր յուրացնել գրադարաններում:

Մի քիչ քիչ գրեցինք, մի քիչ էլ նորից օգտագործեցինք։

Այսօր մենք կանոնավոր կերպով վերօգտագործում ենք ծածկագիրը մեծ ազդեցություն ունենալու համար: Այնուամենայնիվ, մենք դեռ պետք է գրենք կոդը, որն ինտեգրում է մոդուլները, որը միավորում է գիտելիքները, որը թույլ է տալիս մեզ իրականում վերօգտագործել կոդը:

Այժմ մենք հնարավորություն ունենք մեկ քայլ առաջ գնալու, ամբողջ մեր գիտելիքները գրավելու Vendors-ում — ներառյալ ինտեգրման մասին գիտելիքները — այնպես, որ մենք այլևս ստիպված չլինենք գրել: կոդի մեկ տող:

Բայց ինչ-որ տեղ, ինչ-որ մեկը գրում է կոդը, ճի՞շտ է: Ոչ այնքան… Ծրագրաշարի մշակման այս նոր համակարգում մշակողն այլևս ոչ մի կոդ չի գրում: Փաստորեն, այս համակարգում ոչ ոք կոդ չի գրում. դիզայնն ուղղակիորեն իր տեղը զիջում է երկուական պրոցեսորի հրահանգներին: (Ոչ մի կոմպիլյատորներ, HLL-ներ, գեներատորներ, AI, կախարդական էլֆեր կամ տեղադրեք ենթադրություն այստեղ որևէ տեսակի կարիք չկա:)

Բայց այս նոր համակարգում մշակողի դերը այնքան էլ տարբեր չէ:

Դուք դեռ գիտելիք եք գրավում (ինչպես դա արեցիք գրադարաններում): Դուք դեռ օգնում եք ծրագրային ապահովման ստեղծմանը:

Տարբերությունը? Դուք կոդ չեք գրում: Դուք վաճառողներ եք կառուցում:

Եվ հիմա, դուք վճարվում եք ամեն անգամ, երբ մեկ այլ ծրագրավորող օգտագործում է ձեր գիտելիքները՝ ամեն անգամ, երբ ձեր Վաճառողի հետ պայմանագիր է կնքվում:

Առայժմ, դա կարող է օգնել մտածել դրա մասին այսպես. պատկերացրեք, որ դուք ստեղծել եք գրադարանի մի տեսակ մոդուլ (առանց ձեռագիր կոդի՝ մենք կհասնենք դրան), և երբ մեկ այլ մշակող օգտագործի այդ մոդուլն իր հավելվածում (կամ ավելի մեծ մոդուլ), դուք վճարվում եք . Ամեն անգամ.

Այս երևակայական գաղափարը բացատրելու լավագույն միջոցը՝ ծրագրակազմ ստեղծել առանց որևէ կոդ գրելու, մեկ պարզ հարցի պատասխանելն է. ի՞նչ կարող է անել գրադարանը, որը վաճառողը չի կարող:

(1) Գրադարանները գիտելիքի վերօգտագործման ձև են:

«Գրադարանի արժեքը վարքագծի վերօգտագործումն է»:

Վաճառողի արժեքը վարքագծի ձևավորման վերօգտագործումն է:

Ստուգեք. Առայժմ ամեն ինչ լավ է:

(2) Գրադարանները աբստրակցիայի կենսական միջոց են:

«Երբ ծրագիրը կանչում է գրադարան, այն ձեռք է բերում այդ գրադարանի ներսում իրականացվող վարքագիծը՝ առանց այդ վարքագիծն ինքն իրականացնելու»:

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

Ստուգեք.

Առայժմ Վաճառողին գրադարանային ֆունկցիայի հետ հավասարեցնելը կարող է գրեթե անալոգային և խաբուսիկ թվալ:

Բայց եթե նայենք գրադարանների երրորդ չափանիշներին, ապա ակնհայտ տարբերություն է առաջանում…

(3) Գրադարանը նախագծված է մոդուլային լինելու համար:

«Գրադարանները խրախուսում են կոդի փոխանակումը մոդուլային եղանակով», որտեղ գրադարանային մոդուլը առանձին ծրագրային բաղադրիչ է, որը կարող է իրականացվել առանձին և, հետևաբար, կրկին օգտագործվել այլ հավելվածների կողմից:

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

Վաճառողները՝ գիտելիքները, մոդուլային են բայց նրանց կոդը՝ ոչ: Դուք չեք կարող գործարկել վաճառողի կողմից «վերադարձված» կոդը առանձին:

Սակայն սա այս համակարգի թերությունը չէ, դա, կարելի է ասել, նրա ամենամեծ հատկանիշն է:

Մատակարարի կողմից «վերադարձված» ծածկագիրը հարմարեցված է, որպեսզի կատարյալ կերպով ինտեգրվի ավելի մեծ հավելվածին՝ առանց «սոսնձի կոդի» կարիքի: Դա պայմանավորված է նրանով, որ վաճառողները այնքան խճճված են համագործակցում ընդհանուր հավելվածի նախագծման ժամանակ (որպեսզի որոշեն իրենց ծածկագրի գործարկումը- ժամանակային համատեքստ), որ «ինտեգրումը» դառնում է նույնքան պարզ, որքան բայթերը միմյանց միացնելը և այնուհետև դրանք հաճախորդին փոխանցելը, մի խոսքով, միացում: (Իրոք, մեկ վաճառողի կողմից վերադարձված կոդը կարող է նույնիսկ քսվել վերջնական գործարկվող սարքի վրա):

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

Օրվա վերջում դուք կարող եք գրել գրադարանային մոդուլ և թողնել այլ խեղճ հոգիներին հոգալ իրենց համար, երբ նրանք փորձում են ինտեգրել այն: Կամ դուք կարող եք այդ նույն գիտելիքները ներդնել ձեր սեփական վաճառողի մեջ, որը բնականաբար կինտեգրի կոդը ձեր անունից:

Օ, և դուք ամեն անգամ վարձատրվում եք:

Կոդ մի գրիր.

Կառուցեք վաճառողներ.