Ես գուցէ ասել եմ, որ սեթը, այսօր իմ հասկանալով, վաւերագրական նկարի պէս ա, փողոցային լուսանկարի պէս ա, այն այն մասին ա թէ ովքեր են հաւաքուել այդ օրը այդ վայրում՝ ես այդ ժամանակաշրջանում ինչ երաժշտութիւն եմ լսել, ինչպէս եմ ինձ զգում, ով են մարդիկ ով գալիս են, ու ոնց են արձագանքում իմ դրած գործերին, մենք ծանօթանում ենք, ու փորձում ենք ընդհանուր հայտարարի գալ, նոր մարդիկ են աւելանում ընթացքում, տեղի աշխատողները կարող ա գնան գան, հազար ու մի բան ա կատարւում, լիքը անկանխատեսելի բաներ են պատահում, ու սեթն էլ այդ ամէնից ձեւաւորւում ա։
Սեթերիցս մէկը տեխնիկական պատճառներով չի ձայնագրուել։ Ու մի աղջիկ ասաց՝ «տանը մի հատ էլ նուագի նոյնը, ձայնագրի ու հրապարակի»։ Ես փորձեցի իրան բացատրել, որ տանը ձայնագրած սեթը, թէեւ հնարաւորինս մօտ փորձեմ անել նրան, ինչ եղել ա ակումբում՝ նոյն սեթը չի լինի։ Կը լինի այլ սեթ։ Փորձեմ բացատրել։
Անցնենք ծրագրաւորմանը։ Գոյութիւն ունի structural equivalence ու name equivalence։ Ասենք թէ ունենք տիպ human՝ այն ունի դաշտեր՝ name, weight, height, age։ ու ունենք տիպ alien, ով նոյնպէս ունի դաշտեր՝ name, weight, height, age։
TYPE
human = RECORD
name : ARRAY 64 OF CHAR;
weight, height, age: INTEGER
END;
alien = RECORD
name : ARRAY 64 OF CHAR;
weight, height, age: INTEGER
END;
Ապա մենք կարող ենք ունենալ փոփոխական Valod՝ human տիպի, ու փոփոխական FordPrefect՝ alien տիպի։
VAR
Valod: human;
FordPrefect: alien;
Եթէ ծրագրաւորման լեզուն չի պարտադրում name equivalence, մենք կարող ենք վերագրել FordPrefect֊ը Valod֊ին՝
Valod := FordPrefect;
Սա լրիւ վալիդ կոդ ա Modula-3֊ում, բայց ոչ՝ Oberon֊ում։
Եթէ կազմարկումն անցաւ, ապա թւում ա թէ, ծրագիրը պէտք ա որ չպայթի, գոնէ վերագրման ժամանակ։
Բայց արդե՞օք մենք այլ տեսակի սխալ չենք անում, ու ի՞նչ հետեւանքների ա բերելու այդ սխալը, ո՞նց ա պահելու իրան ծրագիրը, դա արդէն աւելի դժուար ա կանխատեսել։
Վերադառնանք սեթին։ Տանը նուագած ու ձայնագրած սեթը որը ձտգում ա կրկնել մի այլ, իսկական լայւ նուագած սեթ նման ա փողոցային լուսանկար բեմադրելու փորձի, իսկ այդ ժամանակ նոյնիսկ եթէ դու կարողանաս ամէնն անել նոյն կերպ (ինչը ակնյայտ չի որ հնարաւոր ա կամ հեշտ ա), դա միեւնոյն ա կը լինի փողոցային լուսնկարի պէս մի բանի բեմադրութեան փորձ, ոչ թէ փողոցային լուսանկար։
Ու եթէ տանը՝ ստուդիայում անել սեթ՝ ապա անել կարգչով, սիրուն, մտածուած, բոլոր մանրուքները հաշուի առած սեթ յստակ յաջորդականութեամբ։ Բեմադրուած լուսանկարի պէս։ Բայց ես բեմադրուած լուսանկարներ սովորաբար չեմ անում, այդ պատճառով ա գուցէ, որ դեռ չեմ վառւում ցանկութեամբ հանգիստ նախապէս մոնտաժած սեթ պատրաստելու։ Ինձ դուր ա գալիս փողոցի անկանխատեսելիութիւնը, ինձ դուր ա գալիս փողոցի ոչ կատարեալ լինելը, կադրի ոչ կատարեալ լինելը՝ բազմազան պատճառներով՝ եսիմով մտաւ կադրի մէջ, կոմպոզիցիան փչացրեց, լոյսը խաղաց, անցաւ կամ գնաց, ժապաւէնի վրայ անկապ կէտ եղաւ, մութ էր, լուսազգայունութիւնը չհերիքեց, ու երկար պահաժամի պատճառով լղոզուեց շարժումը։ Այդ ամէնը ահաւոր սիրուն ա, թէկուզ եւ «սխալ» կոմպոզիցիա արած կամ այլ «թերութիւններով» ու կեանքն ա անկատար, ու ինձ դուր ա գալիս որ լուսանկարներս ու սեթերս կատարեալ չեն։
ու տէնց։
Փաստօրէն, Օբերոնը երբեք չէր վայելում համայնքի բաւականաչափ ուշադրութիւն, նոյնիսկ համեմատած Մոդուլա֊2֊ի հետ։
Նոյնիսկ բաւական տուեալ չկայ, որպէսզի պարզ լինի, թէ որ երկրներում էր այն աւելի տարածուած։ Զարմանալի է, որ Մոդուլա֊2 ֊ով աւելի շատ հետաքրքրւել են Իսպանիայում, քան Գերմանիայում։
Ինչն է նաեւ զարմանալի, Օբերոնով երբեք այնքան հետաքրքրուած չէին, ինչպէս այսօր։
Նոյնիսկ ոչ այն ժամանակ, երբ Oberon S3֊ը կամ V4֊ը ակտիւ զարգանում էին, ի տարբերութիւն այսօրուայ PO֊ին։
Հաւանաբար, դա կարելի է բացատրել նրանով, որ վերջերս մարդիկ աւելի են հետաքրքրուած ծրագրաւորման լեզուներով, քան երբեւէ առաջ, եւ Վիրտի նոր գիրքը հրապարակուել է ճիշտ այն ժամանակին, երբ ծրագրաւորման լեզուները վայելում են բարենպաստ պայմաններ։
Վերջերս դրա վառ օրինակն է հանդիսացել Ադա֊ն։ Եթէ Ադա֊ն պէտք է ունենայ ստանդարտ, աւելի լաւ է որ այդ ստանդարտը լինի աներկբայ։ Առնուազն երկու նախաձեռնութիւն եղաւ․ երկուսի արդնիւնք էր մօտ 600 էջ կազմող ֆորմալ տեքստ, այսինքն անգամներ շատ, քան անհրաժեշտ է համոզուելու համար, որ երկու թուղթն էլ սահմանում են նոյն լեզուն։ Այդ երկու փաստաթղթերի ակնյայտ անկառավարելիութեան պատճառն երկու խմբից ոչ մէկն էլ չէ, ոչ էլ այն ֆորմալ ձեւն է, որ իրենք կիրառել են, այլ ինքը լեզուն․ արդեօք չներկայացնելով ֆորմալ ձեւակերպում, լեզուի նախագծողները կարող են թաքցնել, որ առաջարկում են անկառավարելի հրէշ։ Այն, որ Ադա֊ն կը թեթեւացնի ծրագրաւորման խնդիրները եւ կաւելացնի մեր ջանքերի արդիւնաւէտութիւնը՝ այն հեքիաթներից է, որոնց հաւատալու համար պէտք է ունենալ զինուորական կրթութիւն։
գիտական ֆանտաստիկան եւ գիտական իրականութիւնը յօդուածից, Էդսգեր Վիբե Դեյքստրա։
ահա, Վիրտի PICL լեզուի կոմպիլյատորը, որ նախատեսուած է PIC16F84 միկրոկոնտրոլերներ ծրագրաւորելու համար, կարողացայ տեղափոխել Լինուքս, աշխատեցնել, եւ կոմպիլյացիա անել մի քանի թեստ։
ահա կոդը եւ գրառում վիշապ օբերոնի կայքում։
մինչ