ասք երազանքներ կատարող մեքենաների մասին

այս փոսթի մոծիվներով։

Քոմփայլերը, ընկերներ, դա մտքերի եւ ցանկությունների իրականացման գործիք է։

Սովորաբար միտքը, որը տալիս են քոմփայլերին, որոշակի ստանդարտ ձեւով արտահայտված է՝ գրավոր, այս կամ այն լեզվով։

Այդ լեզուները երբեմն անվանում են համակարգչային լեզուներ, որը սխալ է։ Որովհետեւ համակարգիչները այդ լեզուներով չեն մտածում։

Երբեմն անվանում են ծրագրավորման լեզուներ, որը այդքան էլ արտահայտիչ չէ։

Իրականում դրանք միտք արտահայտելու լեզուներ են։

Այսպիսով, քոմփայլերը վերցնում է գրավոր արտահայտված միտքը, եւ այն հասկանալով ստեղծում է, քոմփիլիացիա է անում ելաքյին արտադրանք՝ օրինակ կիրառելի ծրագիր։

ՏՏ ոլորտի մասնագետների գործը դեռ հեշտ է։

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

Պատկերացնու՞մ եք եթե ճարտարապետները նախագիծ պատրաստելիս չմտածեին, իսկ հետո տարբեր ձեւի հենարաններ ավելացնեին, որ կառույցը չփլվի։ Ոչ, ճարտարապետները ստիպված են ուշադիր լինել մտքերը մտածելիս եւ արտահայտելիս, որովհետեւ քոմփայլ անելու պրոցեսը շատ ավելի բարդ է իրենց դեպքում։

Օրինակ, ՕփենՕֆիսը իմ կոմպի վրա կոմպիլիացիա է լինում վեցը ժամում։ Շենք կառուցում են անհամեմատ ավելի երկար։

Իսկ հոմո սափիենս տեսակի կենդանիները գենետիկ կոդից քոմփայլ են լինում գրեթե մեկ տարի։ Ի դեպ, հոմո սափիենս նշանակում է «բանական մարդ»։ Ի նկատի ունենալով որ օրինակ շիմպանզեները այդքան էլ բանական մարդ չեն, սակայն մարդ են։

Կան նաեւ ֆունկցիոնալ լեզուներ, որոնք մի կողմից մաթեմին շատ մոտ են, սակայն մյուս կողմից դրանք օգտագործելիս անհնար կամ շատ դժվար է լինում նախագծի սխալները գտնել դեռ գրելու ընթացքում։ Այդ լեզուների երկրպագուները սովոր են արդեն իսկ կառուցված շենքեր փոփոխել։

Ես այդ ոճին սովոր չեմ, սակայն։ Ինձ թվում է որ մաթեմից ավելի հեռու, իմպերատիվ լեզուները իմ իմացած մակրո աշխարհի մոդելները նկարագրելու համար ավելի պիտանի են։

Այնպես որ, ինչպես ուսուցանում է հին չինական իմաստությունը՝ զգոն եղեք մտքերը ձեւավորելիս, նրանք կարող են քոմփայլ լինել իրագործվել։

ու տենց

ասք փորթաբլ գրելու մասին

computer science -ը վերացարկման (աբստրակցիայի) արվեստ է։ մենք մտածել ենք մոդուլներ, վրոփերներ, կոպմոնենտներ, եւ այլն։

այսինքն մենք ուզում ենք նվազեցնել կրկին գրվող կոդի մասը, ավելի ընդհանորւ ենք սարքում ինտերֆեյսներ, եւ այլն։

դա նաեւ այն է ինչ մեզ սովորեցնում են։

հիմա նայենք ինչ ունենք մոբայլ սարքերի ոլորտում նախագծման դեպքում։

ունենք հայտարարված փորթաբնլ, բայց իրականում մեկ պլատֆորմային կպած դոթնեթ (WP7), ունենք անփորթաբլ C++ Սիմբիանի համար, ունենք հայտարարված կրոսպլատֆորմ ջավա, որի անդրոիդի համար գրված ափը էլ ոչ մի տեղ չի աշխատում․․․

ունենք cocoa էփլի դեպքում։

այսինքն, կամ գրում ես անդրոիդի, կամ այֆոնի, կամ սիմբիանի, կամ վինդովսի համար։ թե ուզում ես պորտ անել, պիտի ահագին ուժ ծախսես։

որը հակագիտական է։

բայց բիզնեսի մոծիվներով է

ի՞նչ կար առաջ․ ունեինք j2me, որը մահացավ թույլ հեռախոսների հետ, բայց որը կարելի է համարել փորթաբլ։

ի՞նչ կունենանք։ Միրիադ ընկերությունը պորտ է անում անդրոիդի դավլիկը (ջվմը) Լինուքսի վրա, այսինքն անդրոիդի ծրագրերը կաշխատեն Միգոյում։ (Միրիադը նախագծել է վինմոբայլի ջ2մեն, յբեդը, Օբերոնով)

կունենանք դոթնեթով գրված ափեր վինդովսի եւ այֆոնի, եւ Միգոյի համար ազատ մոնոյի շնորհիվ։

Կունենանք Լազարուսով գրված սոֆթ դրոիդի, սիմբիանի, այֆոնի, միգոյի, բայց ոչ վինմոբայլի համար, քանզի այնտեղ դոթնեթ ա։

Կունենանք հավանաբար ՔԹ, որը կծածկի սիմբիան, ու Միգո։ Ինչ կստացվի այֆոնի ու անդրոիդի հետ դեռ պարզ չի։

Նենց չի որ շատ գույնզգույն ա, բայց կարծես քիչ քիչ լավանում ա վիճակը։

ու տենց

ասք Մոդուլյար համակարգերի գաղտնիքների մասին

«Մոդուլային համակարգերի գաղտնիքները» հոդվածի հեղինակն է Սերգեյ Գուբանովը։

«Մոդուլ» եւ «մոդուլյար լեզու» թերմերի բացատրությունների զանազանությունը ծնում է ավներջ վեճեր։ Ինչեր ասես, որ մոդուլ չեն անվանել, ինչ լեզու ասես, որ մոդուլյար չեն համարել։ Ոմանք մոդուլ անվանում են կլասսները, ոմանք ել համեմատում են մոդուլները օբյեկտների հետ։ Առհասարակ այնպիսի տպավորություն է ստեղծվում, որ այժմ մոդուլյար եւ կոմպոնենտային լինելը նորաձեւ ոճ է։ Տարբերակների զանազանության պատճառը բացատրությունների ձեւի մեջ է՝ ներքին ձեւի։ Ներքին է այն իմաստով, որ սահմանումը տրվում է որոշ ներքին հատկությունների հիման վրա (մոդուլը պարունակում է տվյալներ, կոդ, տիպեր, ապահովում է ինկապսուլյացիան, ունի ինտերֆեյս, եւ այլն)։ Մոդուլների ներքին էական հատկությունները առանձնացնելու բազմաթիվ եղանակներ կան, իսկ դա նշանակում է, որ գոյություն ունեն նաեւ մոդուլների սահմանման բազմաթիվ եղանակներ։ Ապագայում ներքին հատկությունների քանակը գուցե եւ ավելանա, հայտնվեն սահմանումների նոր ձեւեր․ այսինքն՝ վիճելու առիթ ավելի շատ կլինի ու դա կտանի փակուղու։ Ելքը ներքին սահմանման փոխարինումն է արտաքինով։

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

Ստորեւ բացահայտենք մոդուլյար համակարգերի իմաստը:

Մոդուլյար ծրագրավորման համակարգերը եկել են միաձույլ ծրագրերը փոխարինելու համար։ Մոդուլյար համակարգեր կիրառելու իմաստը (ի տարբերություն միակուռ ծրագրերի) դինամիկ ընդարձակվելու ունակությունն է։ Մոդուլյար համակարգը կարելի է դինամիկ ընդլայնել մի քանի ձեւով։ Օրինակ՝ դրա մեջ նոր մոդուլներ ավելացնելով կամ փոխարինելով դրա միջի հին մոդուլները նորերով , որոնք ունեն ավելի լայն հնարավորություններ կամ որեւէ այլ լավացումներ։ Ընդարձակվող մոդուլյար համակարգը երբեք ավարտված չէ, այն զարգացում է ապրում։ Որոշ մոդուլներ փոխարինվում են, որոշները դինամիկ ավելացվում։ Այսպիսի համակարգի կյանքը կարող է լինել ավելի երկար, քան նրա միջի կոմպոնենտների կյանքը (տես․ մարդը եւ բջիջները, թարգմանչի նկատողություն)։ Համակարգի օգտագործողը ինքն է որոշում ինչպես այն ընդարձակել։ Կատարյալ դեպքում գոյություն ունի համակարգի կոմպոնենտների շուկա, որտեղ տարբեր արտադրողներ առաջարկում են մոդուլների իրենց իրագործումները, որոնք եւ ձեռք է բերում համակարգի օգտագործողը։ Կոմպոնենտների շուկայի բացակայությունը կարող է խոչընդոտել միաձույլ համակարգերից մոդուլյար համակարգեր անցնելուն։ Սակայն, պահանջարկը ծնում է առաջարկ։

Դիտարկենք մոդուլյար, դինամիկ ընդլայնվող համակարգի կառուցվածքը։ Մոդուլների միջեւ փոխազդեցությունը իրագործվում է մոդուլի՝ այլ մոդուլներ ներմուծելու (import) ունակության շնորհիվ։ Այսպիսով՝ ներմուծող մոդուլը հանդիսանում է ներմուծվող մոդուլների կլիենտ։ Մոդուլների ներմուծման գրաֆը միշտ ացիկլիկ է։ Գրաֆի ացիկլիկ լինելը կապված է այն հանգամանքի հետ, որ մոդուլները հանդիսանում են բեռնման, կատարման եւ բեռնաթափման միավորներ, իսկ ցիկլիկ կախվածության դեպքում բեռնման եւ կատարման միավոր կլիներ ամբողջ ցիկլը․ այսինքն՝ այն ամբողջությամբ կլիներ մոդուլ (համակարգի կոմպոնենտ)։ Մոդուլյար համակարգը ենթադրում է կատարման միջավայր, որի հիմնական խնդիրներից է մոդուլների դինամիկ բեռնումը, ուշ կապը (late linking), կատարումը եւ բեռնաթափումը։ Այլ խնդիրը ամբողջականության կոնտրոլն է․ տիպերի դինամիկ բերումը, զանգվածների (array) ինդեքսների դինամիկ ստուգումը եւ այլն։ Դինամիկ բեռնաթափման հնարավորությունը անհրաժեշտ է հին մոդուլները նորերով փոխարինելու համար։ Ի դեպ մոդուլը չի կարելի բեռնաթափել մինչեւ բեռնաթափված չեն բոլոր նրա կլիենտները։ Դա ակներեւ է թվում, սակայն այդ մասին հաճախ մոռանում են։ Մոդուլների բեռնումը եւ բեռնաթափումը կարելի է համեմատել աղյուսներից աշտարակ հավաքելու հետ․ աշտարակը կարելի է քանդել միմիայն վերեւից, այլ դեպքում այն կփլվի։ Ակներեւ է նաեւ այն, որ մոդուլը կարելի է բեռնաթափել միմիայն հստակ (explicit) հրամանով, այլ ոչ թե ավտոմատ կերպ (օրինակ՝հիմնվելով կլիենտների բացակայության փաստի վրա․ այժմ կլիենտներ չկան, իսկ որոշ ժամանակ անց կլինեն, եւ մոդուլի վիճակը պիտի պահպանվի)։ Նոր մոդուլի ավելացումը կամ հին մոդուլի փոփոխությունը չպետք է բերի ամբողջական համակարգը ավիրելուն։ Քանի որ մոդուլները կարող են մատակարարվել տարբեր արտադրողների կողմից, ապա կատարման միջավայրը պիտի ստուգի մոդուլների համատեղելիությունը եւ խոչընդոտի անհամատեղելի մոդուլների բեռնմանը։ Համատեղելիությունը ստուգվում է մոդուլի ինտերֆեյսի անալիզի միջոցով։ Մոդուլը պարունակում է իր մեջ զանազան ծրագրային էություններ` կոնստանտներ, տիպեր, փոփոխականներ, ֆունկցիաներ։ Մոդուլի որոշ էություններ հասանելի են դառնում կլիենտների համար, այսինքն` արտահանվում են (export), իսկ մնացածները թաքցվում, այլ խոսքերով՝ ինկապսուլյացիա անում։ Ի դեպ այդպիսի ինկապսուլյացիայի ձեւը ամենահզորն է, քանի որ այն խախտելու միակ միջոցը մոդուլի բինար կոդի հետազոտությունը եւ դրա ոչ անվտանգ փոփոխությունն է։ Մոդուլի արտահանվող էությունների ամբողջությունը սահմանում է մոդուլի ինտերֆեյսը։ Դրա միջոցով էլ իրականացվում է կլիենտների հետ փոխազդեցությունը։ Եթե երկու մոդուլ (նույնիսկ տարբեր արտադրողների մոդուլներ) ունեն նույն ինտերֆեյսը, ապա դրանք երկուստեք փոխարինելի են։ Եթե երկու մոդուլներից մեկը ունի առաջինի համեմատ ընդլայնված ինտերֆեյս (այսինքն՝ նրա ինտերֆեյսը ճշգրիտ կրկնում է առաջին մոդուլի ինտերֆեյսը եւ դրան գումարած արտահանում է հավելյալ էություններ), ապա երկրորդ մոդուլը փոխադարձորեն փոխարինելի է առաջինի հետ։

Ինչպե՞ս է կատարման միջավայրը որոշում մոդուլների համատեղելի լինելը։ Ամենապարզ ձեւն է՝ դրոշմել ամեն մոդուլը իր տարբերակի համարով (լինի դա հստակ նշված տարբերակ, թե վերջին կոմպիլյացիայի ժամանակը)։ Հին մոդուլյար համակարգերը օգտագործում էին ժամանակային նշումների մեխանիզմը (timestamps)։ Բայց տարբերակի հստակ (explicit) նշելը գերադասելի է, որովհետեւ ավելի ուշ timestamp-ը հայտնում է միայն այն, որ տվյալ մոդուլը ավելի ուշ է հավաքվել (compiled), բայց չի ակնարկում որ մոդուլի ինտերֆեյսը լուրջ փոփոխությունների է ենթարկվել։ Սակայն մոդուլը որոշակի համարով դրոշմելու լուծումը նույնպես թերի է։ Ենթադրենք, նոր մոդուլը հնից տարբերվում է միայն նրանով, որ նրա մեջ փոխված է ինտերֆեյսի բավականին փոքր մասը։ Օրինակ՝ փոխվել է մի արտահանվող կոնստանտի արժեքը, իսկ մնացած ամենը մնացել է անփոփոխ։ Ապա այդ մոդուլը պետք է դրոշմվի որպես նոր տարբերակ։ Սակայն գոյություն ունեն այնպիսի կլիենտ մոդուլներ, որոնք օգտագործում են միայն ինտերֆեյսի անփոփոխ մնացած մասը։ Նոր դրոշմի պատճառով այդ մոդուլի բոլոր կլիենտ մոդուլները կճանաչվեն անվավեր, այսինքն՝ կատարման միջավայրը կհրաժարվի բեռնել (աշխատեցնել) դրանք փոփոխված մոդուլի հետ համատեղ։ Մոդուլների համատեղելիության ստուգման մեխանիզմը երբեմն անհիմն անգութ է, եւ կատարման միջավայրը կարող է անվավեր համարել բազմաթիվ մոդուլներ։ Բարեբախտաբար, գոյություն ունեն մոդուլների համատեղելիությունը հաստատելու այլ, ավելի գրագետ ձեւեր։ Հավաստիանալու գաղտնիքը նրանում է, որ մոդուլի յուրաքանչյուր արտահանվող (exported) էությանը (յուրաքանչյուր կոնստանտի, փոփոխականի, տիպի, ֆունկցիաի) կցվում է ուրույն նշան, մատնահետք (fingerprint), ավելի պարզ՝ checksum, որը հաշվարկված է այդ էության որոշակի կառուցվածքային ինվարիանտ հատկությունները ի նկատի ունենալով։ Այսպիսի «մանտնահետք» դրոշմեր ստանալը հեշտ խնդիր չէ, առավել եւս ընդարձակվող համակարգերի դեպքում։ Ավելի քան տաս տարի առաջ ETH-ում մատնահետք դրոշմեր հաշվելու թեմայով դոկտորական թեզ է պաշտպանվել (Regis Crelier «Separate Compilation and Module Extension», գիտական ղեկավարներն էին Նիկլաուս Վիրտն (Wirth) ու Հանսպետեր Մոսենբոքը (Mossenbock), Oberon-2 լեզվի համահեղինակները)։ Կատարման միջավայրում մոդուլների համատեղելիության կոնտրոլի բացակայությունը կարող է բերել անկանխատեսելի հետեւանքների։ Այսպես, օրինակ, MS Windows համակարգի կատարման միջավայրը (ըստ էության պարզապես բեռնիչը), որի մեջ dll ֆայլերը հանդիսանում են մոդուլներ, չի ստուգում այդ մոդուլների համատեղելիությունը։ Որպես հետեւանք գոյություն ունի տխրահռչակ dll hell հասկացությունը։

Մոդուլյար համակարգեր ստեղծելը սկզբունքայնորեն հնարավոր է ցանկացած ծրագրավորման լեզվի օգնությամբ։ Օրինակ՝ win32 dll մոդուլյար համակարգը կարող է իրագործվել զանազան լեզուներով։ Սակայն դժվար թե լինի գոնե մեկ լեզու, որը այդ իսկ նպատակին հարմարեցված է նախագծման պահին։ Համեմատենք մեկ dll մոդուլի ստեղծման թեթեւությունը (որը որպես կանոն շատ հեշտ է, քանի որ բոլոր հոգսերը տանում է նախագծման միջավայրը) մի քանի, կամ տասնյակ/հարյուրավոր դինամիկ բեռնվող եւ բեռնաթափվող dll մոդուլներ պարունակող համակարգի ստեղծման բարդության հետ։ LoadLibrary եւ GetProcAddress կանչերի վիթխարի քանակը հարմարավետ չես անվանի եւ դրանք կիրառող տեքնոլոգիան, կամ լեզուն, ոչ մի կերպ չես անվանի մոդուլյար համակարգեր ստեղծելու համար հարմարեցված լեզու։ Ընդ որում ստատիկ կապումը (static linking) ելք համարել չի լինի, որովհետեւ բեռնաթափել եւ փոխարինել ստատիկ կապված մոդուլը անհնար է։ Ինչպես ասված էր, բնական է մոդուլյար ծրագրավորման լեզուները սահմանել որպես մոդուլյար համակարգեր ստեղծելու համար հարմարավետ, հատուկ նախագծված, նախատեսված լեզուներ, դա է իրենց իմաստը։ Բայց ինչպես մենք քիչ առաջ համոզվեցինք, մոդուլյար համակարգերը, առհասարակ, կարելի է կերտել նաեւ այդ համար հատուկ չնախատեսված լեզուների օգնությամբ։ Հարցը միմիայն աշխատանքի ծախսն է։ Կարող է պարադոքսալ թվալ, բայց լինում է եւ հակառակը․ կան ծրագրավորման լեզուներ, որոնք, կարծես, հարմարավետ են ոչ միայն միաձույլ, այլ նաեւ մոդուլյար համակարգեր ստեղծելու համար։ Ես ի նկատի ունեմ Delphi-ն։ Թվում է, որ այնպիսի սինտակտիկ միավորները, ինչպիսին են՝ unit, interface, implementation, uses, մոդուլյար համակարգեր ստեղծելու համար շատ օգտակար են․ մոդուլներ կհանդիսանային յունիթները, ավելի ճիշտ դրանց կոմպիլյացիայի արդյունքը՝ dcu ֆայլերը (delphi compiled unit)։ Բայց, ցավոք, dcu ֆայլերը մոդուլներ չեն, դրանք «կիսաֆաբրիկատներ» են։ Չնայած նրան, որ մոդուլների բոլոր արտաքին սինտակտիկ հատկանիշները առկա են, նրանց անհնար է մոդուլյար համարել․ ներկա ժամանակ աշխարհում գոյություն չունի մոդուլյար համակարգ, որի ստեղծման համար այն հատուկ հարմարեցվի։ Տեսականորեն, եթե երբեւէ ստեղծվի հատուկ կատարման միջավայր, որն ունակ կլինի դինամիկ բեռնել եւ բեռնաթափել dcu ֆայլերը, ապա այնժամ հնարավոր կլինի Delphi-ն անվանել մոդուլյար, այսինքն՝ հատուկ հարմարեցված մոդուլյար ծրագրավորման համար։ Այս տրամաբանությունը կարող է թվալ անսպասելի, բայց այն հետեւում է այս գրառման սկզբում սահմանված մոդուլյար համակարգերի իմաստից։ Մոդուլյարության հատուկ սինտակտիկ հատկանիշները անշուշտ անհրաժեշտ են, սակայն դրանք բավական չեն, այսինքն ոչ մի պարադոքս իրականում չի դիտվում։

Չնայած նրան, որ լեզվի միջի հատուկ շարահյուսական (սինտակտիկ) հատկանիշները բավական չեն լեզուն մոդուլյար անվանելու համար, դրանք միեւնույն է անհրաժեշտ են։ Անհրաժեշտ են նրա համար, որ լեզուն հարմարեցված լինի մոդուլյար համակարգեր գրելու համար։ Մոդուլյար ծրագրավորման լեզվի շարահյուսության մեջ պիտի արտահայտված լինեն ամենաքիչը երեք հասկացություն՝ ինքը մոդուլը, մոդուլների ներմուծմանվ(import) միջոցները եւ ծրագրային էությունների արտահանման (export) միջոցները։ Մոդուլյար համակարգի ամբողջականության վերահսկումը հնարավորինս վաղ իրականացնելու համար անհրաժեշտ է անջատ (separate), այլ ոչ թե անկախ (independent) կոմպիլյացիա։ Ակնհայտ է, որ մոդուլը պիտի լինի կոմպիլյացիայի միավոր։ Այլ դեպքում ինչու՞մ է կայանում հարմարավետությունը։ Մոդուլի ներքին էությունները իրար ամուր կապված են։ Եթե կոմպիլիացիայի միավոր լինի մոդուլից փոքր մեծություն, ապա անջատ կոմպիլիացիան հաշվի առնելով՝ անհրաժեշտ կլինի հնարել որոշակի թաքցրած ինտերֆեյսներ այդ էությունների փոխազդեցությունների համար։ Ակներեւ է, որ դա ավելորդ բարդացում է, գուցե նույնիսկ՝ անվտանգության ճեղք (vulnerability), եւ դրա օգուտը պարզ չէ։

Ընդհանուր առմամբ, մոդուլյար համակարգերի ծրագրավորումը չի պահանջում օբյեկտային կողմնորոշված ծրագրավորման (ՕԿԾ) մոտեցում, իրավացի է եւ հակառակը։ Սակայն, այդ երկու մոտեցումների համաժամյա կիրառությունը բերել է նոր ծրագրավորման պարադիգմայի ստեղծմանը։ Բանն այն է, որ ՕԿԾ-ն, իր ամենատարածված բացատրությամբ, հիմնված է ժառանգողականության (inheritance) հասկացության վրա։ ՕԿԾ-ն եւ մոդուլարությունը միատեղ կիրառելու ընթացքում ծնվում է միջմոդուլյար ժառանգողականությունը, սակայն այն հանդիսանում է տարբեր արտադրողների մոդուլների փոխարինելիության խոչընդոտ։ Եթե տիպի մասը սահմանված է մեկ մոդուլի մեջ, իսկ մյուս մասը՝ այլ, ապա հիմնական տիպի նկարագրությունը պարունակող մոդուլը այլ արտադրողից նույնանման մոդուլով փոխարինելը բավականին մեծ խնդիր է․ իրականացման հնարավոր մանր տարբերությունների պատճառով։ 1995 թվին, պրոֆեսոր Կլեմենս Շիպերսկին (Clemens Szyperski) ֆորմալիզացրել է Կոմպոնենտային Կողմնորոշված Ծրագրավորման (ԿԿԾ) հիմունքները սահմանափակելով եւ ՕԿԾ-ն եւ մոդուլյար մոտեցումը դրանց չհակասող համատեղ գոյության համար («Component-Oriented Programming A Refined Variation on Object-Oriented Programming», The Oberon Tribune, Vol 1, No 2, December 1995)։ ԿԿԾ-ի իմաստը ընդարձակելի համակարգերի կառուցումն է՝ մոդուլների եւ ՕԿԾ-ի օգնությամբ։ Այսպիսով, ԿԿԾ-ն, Շիպերսկու կարծիքով, գտնվում է «<ՕԿԾ-ից դուրս» (Beyond Object Oriented Programming - թարգմանչի նկատողություն) (այսպես է կոչվում նրա արդեն երկու անգամ հրատարակված բեսթսելերը)։ ԿԿԾ-ի հիմքը հանդիսանում են․ պոլիմորֆիզմը, ուշ կապումը (late linking), իսկական ինկապսուլյացիան, կատարման միջավայրի կողմից իրականացվող անվտանգութան ամբողջական վերահսկումը։ Կատարման միջավայրը նաեւ պարտավոր է աղբ հավաքել։ Աղբ հավաքելը շքեղություն չէ բնավ, այլ անհրաժեշտություն․ այն կոմպոնենտային համակարգի ամբողջականության երաշխիքներից մեկն է (հիշենք, որ համակարգի կոմպոնենտները՝ մոդուլները, ստեղծվում են, առհասարակ, տարբեր արտադրողների կողմից)։ Այժմ, ուշադրություն դարձրեք այն հանգամանքին, որ «ժառանգողականության» հասկացությունը (այսինքն տիպի ընդլայնումը), որը այնքան տարածված է ժամանակակից ՕԿԾ լեզուներում, առհասարակ չի ընդգրկված ԿԿԾ-ի հիմքերի մեջ։ Դրա բացատրությունը տրիվիալ է։ Եթե տիպերի ընդլայնումը կիրառվում է մոդուլների մեջ, ապա դա սովորական ՕԿԾ է՝ այնտեղ ուրույն կանոններ են։ Իսկ եթե օգտագործվում է տիպերի միջմոդուլյար ընդլայնումը, ապա այն մոդուլները, որոնց միջեւ տիպերը կապված են ժառանգողականողականության հարաբերություններով, կապված են լինում ավելի պինդ, ավելի կարծր կերպ։ Բարդ է փոխարինել բազային տիպ պարունակող մոդուլը այլ արտադրողի մոդուլով, առանց անվավեր անելու կլիենտ մոդուլները, որտեղ այդ տիպը ընդլայնված է։ ԿԿԾ-ն խորհուրդ է տալիս կիրառել միջմոդուլյար ժառանգողականություն միմիայն աբստրակտ տիպերից՝ դա նպատակահարմար փոխզիջում է ՕԿԾ-ի եւ մոդուլյար համակարգերի միջեւ։ Սակայն ծրագրավորողը, իհարկե, իրավացի է ինքը որոշել, արդյո՞ք արժե կոնկրետ համակարգում օգտագործել տիպերի միջմոդուլյար ժառանգողականությունը առանց սահմանափակումների (դրանով իսկ կարծր կապելով մոդուլները իրար), թե այնուամենայնիվ, նախընտրել փոխարինելի, ընդարձակվող մոդուլներ՝ տարբեր արտադրողներից։ ԿԿԾ-ի սահմաններում, «կոմպոնենտ» բառը դառնում է թերմ։ Կոմպոնենտային համակարգը դա մոդուլյար համակարգի այն մասնավոր դեպքն է, որի մեջ կիրառվում է ՕԿԾ։ Քանի որ այժմ ՕԿԾ-ն օգտագործվում է ամենուր, ապա «մոդուլյար համակարգ» կամ «կոմպոնենտային համակարգ» հասկացությունների տարբերությունը գրեթե բացակայում է։ Մյուս կողմից, կոմպոնենտ բառը այժմ չափազանց ծանրաբեռնված է տարբեր իմաստներով, այդ իսկ պատճառով կարելի է գտնել կոմպոնենտոների այլ բացատրություններ։ Քանի որ այժմ դա «նորաձեւ» է, յուրաքանչյուրը այն բացատրում է իր ձեւով։ Օրինակ՝ Delphi-ում կան ուրույն, այսպես կոչված, «կոմպոնենտներ», որոնք բնավ ոչ մի առնչություն չունեն մոդուլյար համակարգերի հետ։ Այս գրառումը ավարտելով դիտարկենք ինչպիսի կոմպոնենտային համակարգեր կան այսօր։ Microsoft ընկերությունը իրականացրել է կոմպոնենտ համակարգի իր մտապատկերը՝ .Net պլատֆորման եւ այդ պլատֆորմայի համար կանոնիկ՝ C# ծրագրավորման լեզուն։ Անկեղծ ասած, .Net համակարգը առհասարակ չի հանդիսանում դինամիկ ընլայնվող մոդուլյար համակարգ, քանի որ նրա մեջ պարզապես բացակայում է մոդուլներ բեռնաթափելու հնարավորությունը։ .Net համակարգերը ավելի շատ նման են մոնոտոն աճող միաձույլ ծրագրերի, մասնակի, հաջորդաբար կոմպիլյացիայով ու բեռնմամբ ըստ անհրաժեշտության։ Իրականում, այս ամենը ավելի բարդ է, որովհետեւ .Net-ում տարբերություն կա կոմպիլիացիայի միավորի (dll կամ exe մոդուլ) եւ բեռնման միավորի միջեւ (assembly)։ Assembly-ն մի քանի մոդուլի տրամաբանական միացումն է մեկ ենթահամակարգում։ Assembly-ների, dll-ների եւ exe մոդուլների մեջ չխառնվելու և առանց ընդհանրությունը կորցնելու պարզության համար ենթադրենք, որ assembly-ն բաղկացած է մեկ մոդուլից, եւ դրանց մեջ ոչ մի տարբերություն չկա։ Մեկ assembly-ի մեջ մի քանի մոդուլի դեպքը սկզբունքորեն ոչ մի բան չի փոխում (բացի բարդացում ավելացնելուց), այդ պատճառով կխոսենք միայն մոդուլների մասին։ Այսպիսով՝ .Net կատարման միջավայրը մոդուլների համատեղելիության վերահսկման համար չի օգտվում վերը նշված մատնահետքերի (fingerprint) մեխանիզմով։ Դրա փոխարեն կիրառվում է մոդուլի տարբերակի համարը հստակ նշելու տեխնիկան։ Դա, իհարկե, ավելի լավ է, քան ոչինչը (ինչպես win32 dll դեպքում), բայց ստեղծում է իր խնդիրները։ Օրինակ՝ եթե .Net մոդուլը արտահանում է կոնստանտ, որը, միգուցե, ոչ ոք չի օգտագործում, ապա, այդ մոդուլի ինտերֆեյսը, այսինքն՝ կոնստանտի արժեքը փոխելով, պետք է փոխել նաեւ մոդուլի տարբերակի համարը՝ այսպիսով անվավեր հանելով բոլոր կլիենտ մոդուլները, նույնիսկ նրանք, որոնք այդ կոնստանտը չեն օգտագործել։ Սա արդեն «dll hell»-ի ճիշտ հակապատկերն է։ Եթե սովորական win32 dll բեռնիչը բոլոր մոդուլները համարում էր համատեղելի, ապա .Net-ի դեպքում բեռնիչը անհամատեղելի է համարում չափազանց շատ մոդուլներ․ ինտերֆեյսում նույնիսկ չնչին փոփոխություն կատարելիս անհրաժեշտ է փոխել ամբողջ մոդուլի տարբերակի համարը։ C# լեզվի մեջ, որը, թվում է թե իր տրամաբանությամբ պիտի հարմարեցված լիներ մոդուլյար համակարգերի ծրագրավորման համար, բացակայում է մոդուլի հասկացությունը շարահյուսական մակարդակի վրա․ ուրեմն, մոդուլի ներմուծման հասկացությունը նույնպես բացակայում է։ C# լեզվով գրված մոդուլի տեքստը կարդալիս անհնար է իմանալ․ ա) ինչպիսի մոդուլներ է այն ներմուծում։ բ) որ մոդուլի մեջ է սահմանված տեքստում օգտագործված այս կամ այն իդենտիֆիկատորը։ Կիրառվող namespace մեխանիզմը կապված չէ մոդուլների անունների հետ։ C#-ը «հին նմուշի» լեզու է, որը հարմար է միաձույլ ծրագրեր ծրագրավորելու համար, ու հարմարեցված չէ մոդուլյար համակարգեր ստեղծելու համար։ Գուցե արդար չէ այդքան խիստ լինել C#-ի հետ, քանի որ .Net-ը ավելի նման է քայլ առ քայլ աճող միակուռ համակարգի, քան դինամիկ ընդարձակվող մոդուլյար համակարգի։ Մեծ պրոեկտներ հարմարավետ ծրագրավորելու համար առաջարկվում է օգտվել ոչ թե լեզվի հնարավորություններից, այլ նախագծման միջավայրի գործիքներից։ Գոյություն ունեն կոմպոնենտային համակարգեր, ու կոմպոնենտային ծրագրավորման լեզուներ, որոնք գրեթե զուրկ են թերություններից։ Դա կարող է զարմանք առաջացնել, սակայն առաջին մոդուլյար համակարգերը հայտնվել են դեռ անցյալ դարի 70-ականների ավարտին։ Օրինակ՝ դա Lilith համակարգչի համար ստեղծված օպերացիոն համակարգն է, որը գրված է պրոֆեսոր Նիկլաուս Վիրտի (Niklaus Wirth) Modula-2 լեզվով։ Այնուհետեւ, նա ու Յուրգ Գութկնեխտը (Jurg Gutknecht) ստեղծել են Oberon օպերացիոն համակարգը նույն անվանմամբ՝ Oberon լեզվի օգնությամբ, որը արդեն կարելի է համարել կոմպոնենտային, չնայած այդ համակարգը ստեղծելու աշխատանքը սկսվել է դեռ 1985 թվին՝ կոմպոնենտային ծրագրավորման հիմունքները հռչակելուց 10 տարի առաջ։ Մեր օրերում, օրինակ, Windows-ի համար գոյություն ունի անվճար (եւ ազատ արտոնագրով - թարգմանչի նկատողություն) տարածվող, 1994թ ստեղծված շվեյցարական AG Oberon Microsystems, Inc արտադրության BlackBox Component Builder կոմպոնենտային միջավայրը։ Նիկլաուս Վիրտը տնօրենների խորհրդի կազմի մեջ է, իսկ հիմնադիրներից մեկը ԿԿԾ «գաղափարային հայր», պրոֆեսոր Կլեմենս Շիպերսկին է։ Ճիշտ է այժմ նա աշխատում է որպես software architect Microsoft Research-ում։ Ամենասկզբից BlackBox համակարգը անվանվում էր Oberon/F եւ նախագծվում էր Oberon-2 լեզվով MacOS եւ Windows համակարգերի համար։ Այնուհետեւ Oberon-2 լեզուն փոփոխված էր ԿԿԾ նորաձեւ գաղափարի համաձայն։ Նոր լեզուն ստացավ Կոմպոնենտ Պասկալ (Component Pascal) անունը (1997)․ դա Oberon-2-ի արդյունաբերական տարբերակն է։ 2004 թվին BlackBox-ը հայտարարվել է անվճար, (իսկ ծրագրի կոդը՝ ազատ - թարգմանչի նկատողություն)։ Կամավորները ստեղծում են BlackBox-ի տարբերակ Linux (GNU/Linux - թարգմանչի նկատողություն) համակարգի համար (արդեն կա ալֆա տարբերակը)։ Իսկ Oberon Microsystems-ը ներկա ժամանակ աշխատում է համակարգի նոր տարբերակի վրա։ BlackBox-ով ստեղծված է Ամազոն գետի վրա գտնվող աշխարհի ամենամեծ հիդրոէլեկտրոկայանի հսկման համակարգը։ Դրա համար ստեղծվել էր BlackBox-ի հատուկ տարբերակ 64 բիտանի Unix-ի համար։ Borland ընկերության պատվերով Oberon Microsystems ընկերությունը գրել է Java-ի JIT կոմպիլյատոր։ Բացի դրանից, Oberon Microsystems-ում Կոմպոնենտ Պասկալով գրված է Portos իրական ժամանակի օպերացիոն համակարգը (չշփոթել PortOs-ի հետ, որը լրիվ այլ համակարգ է)։ Այնուհետեւ Portos-ը վերանվանվեց JBed, իսկ Oberon Microsystems-ից առանձնացվեց Esmertec ընկերությունը։ JBed-ը ավելի շատ հայտնի է որպես իրական ժամանակի օպերացիոն համակարգ embedded սարքերի համար, որը գրված է java-ով։ Ի նկատի ունենալով Java-ի լայն տարածումը եւ Component Pascal-ի թույլ ճանաչվածությունը՝ պետք է խոստովանել, որ դա հաջող մարկետինգային քայլ է։ Ռուսաստանում վերջերս հայտնվել է ընկերություն, որը հայտարարել է որպես հիմնական արտադրամիջոց BlackBox Component Builder համակարգը օգտագործոլու մասին։ Գոյություն ունի «Ինֆորմատիկա 21» միջազգային պրոեկտ, որի նպատակներից մեկն է BlackBox համակարգի առաջխաղացումը դպրոցներ, բարոյապես հնացած Turbo Pascal-ի փոխարեն։ Եթե փորձել պատասխանել այն հարցին, թե որն է ավելի լավը՝ BlackBox-ը թե Java-ն, ապա պետք է հաշվի առնել, որ բարդությունը թերություն է, իսկ .Net-ն եւ Java-ն անհամեմատ ավելի բարդ են։ Իսկ բացի BlackBox-ից գոյույթուն ունեն մի շարք հետազոտական մոդուլյար համակարգեր։ Ուզում եմ շեշտել Aos BlueBottle օպերացիոն համակարգը (այժմ A2, թարգմանչի նկատողություն) որը անմիջապես «երկաթի» վրա ապրող ակտիվ օբյեկտների հիման վրա ստեղծված առաջին եւ միակ համակարգն է։ Այն ամբողջությամբ գրված է Active Oberon լեզվով։ Համակարգի կատարման միջավայրը իրականացված է անմիջապես «երկաթի» վրա։ Սակայն, դա արդեն այլ պատմություն է։ բնորինակը

ու տենց

ասք Հանսենի գրքի մասին

Շատ բարդ էր այս գիրքը գտնել։

Ու վերջապես գտա, օգտագործածը։

Իրան խորհուրդ էր տվել Creenshaw-ն իրա քոմփայլերների գրքում։

POINTER TO սինտաքսը հայտնվեց Մոդուլայում։

Նախկին գրքի տերը հաստատ փորձում էր թարգմանել ծրագրի տեքստը Պասկալից Մոդուլա, կամ Օբերոն։

Մոդուլայում և Օբերոնում արդեն չկա function բառը, կան միայն PROCEDURE ներ։ ։Ճ

ու տենց

ասք մարդկային լինելու մասին

հեհե, վաղուց լոգեր չեմ լցրել բլոգում ։Ճ օգտագործենք իրaն ճիշտ`

(00:00:50) Vahan Stepanyan: rekursia el chem sirel mankuc

(00:00:52) Vahan Stepanyan: bayc normala

(00:00:57) Vahan Stepanyan: im terutyunna

(00:00:58) Vahan Stepanyan: 😀

(00:01:04) noch: սպաս

(00:01:09) Vahan Stepanyan: aysinqn matemi hamar tvuma geecika

(00:01:12) Vahan Stepanyan: gexecik

(00:01:14) noch: իսկ կարո՞ղ ա ուզենաս արգումենտացնել

(00:01:26) Vahan Stepanyan: ha, hima porcum em 😀

(00:02:07) Vahan Stepanyan: uxxaki nuyn matemi tesankyunic, mi qich djvara linum, aysinqn aveli chisht klini asel intuitive anhaskanalia linum rekursiv function@

(00:02:22) noch: էդ հա

(00:02:25) Vahan Stepanyan: aysinqn

(00:02:28) Vahan Stepanyan: voncvor algorithmi gaxaparin hakasi chtoli

(00:02:33) Vahan Stepanyan: qayleri hajordakanutyun

(00:02:35) Vahan Stepanyan: mi tex ktrvuma

(00:02:36) noch: հաջորդական կատարման՞

(00:02:41) noch: հիհի

(00:02:44) noch: միաժամանակ գրեցինք

(00:02:48) Vahan Stepanyan: ha 🙂

(00:02:50) Vahan Stepanyan: tenc

(00:03:13) noch: պարզապես ստեղ ասենք մտածենք որ մենք լեզու ենք նախագծում

(00:03:17) noch: մի կողմից

(00:03:21) noch: որպես լեզվի նախագծող

(00:03:26) noch: գիտեմ որ ասենք ունիվերսալ չի

(00:03:33) noch: որովհետև թույլ սարքերի վրա լավ չի աշխատի

(00:03:39) noch: որոնք ասենք փոքր սթեք ունեն

(00:03:43) noch: կամ սահմանափակ ա

(00:03:44) noch: շատ

(00:03:52) noch: մյուս կողմից

(00:04:11) noch: եթե ունես ֆունկցիա

(00:04:17) noch: ինչի իրա միջից չկանչես ֆունկցիա

(00:04:24) noch: իրան էլի

(00:04:27) Vahan Stepanyan: ha @ndhanur asac ha

(00:04:34) Vahan Stepanyan: inch tarberutyun

(00:04:35) Vahan Stepanyan: che?

(00:04:38) Vahan Stepanyan: bayc de 🙂

(00:04:44) noch: ։Ճ

(00:04:59) Vahan Stepanyan: vorovhetev inch karelia grel rekursiv, et aranc rekursia i el klini mi dzev

(00:05:18) Vahan Stepanyan: u imast@ daya eli

(00:05:30) Vahan Stepanyan: asenq fibonachii tver@ eli aranc rekursiai klini hashvel

(00:05:46) Vahan Stepanyan: @nd vorum parzvuma aveli hesht eli

(00:05:58) Vahan Stepanyan: ete bavakanin chgrit karas pahes ketov tiv@

(00:06:27) Vahan Stepanyan: u vabshe rekurent arnchutyun lucelu gaxapar ka matemum

(00:06:32) Vahan Stepanyan: vor@ koruma

(00:06:36) Vahan Stepanyan: ete unes hashvich

(00:06:48) Vahan Stepanyan: u karas tas hashvi, gnas surch xmes gas

(00:07:13) Vahan Stepanyan: isk es nenc em xxchum meqenayin

(00:07:20) Vahan Stepanyan: es hima asm-ov ban em grum

(00:07:27) Vahan Stepanyan: u gitem vor ay es hraman@

(00:07:38) Vahan Stepanyan: hastat mi angamic aveli chi katarvelu amboxj cragri mej

(00:07:45) Vahan Stepanyan: kam hramanneri inchvor hamakarg@

(00:07:48) noch: ահա

(00:07:53) Vahan Stepanyan: bayc ashxatum em amenaoptimal dzevov grel

(00:08:02) Vahan Stepanyan: tenc hachelia

(00:08:31) Vahan Stepanyan: tenc chi ani oopshnik@

(00:08:31) Vahan Stepanyan: functionalshik@

(00:08:31) Vahan Stepanyan: i t.d.

(00:08:31) Vahan Stepanyan: u nuynisk matematikos@

(00:08:45) Vahan Stepanyan: angam millisecondi harc chi

(00:08:47) Vahan Stepanyan: shahuyt

(00:08:50) Vahan Stepanyan: bayc kayfa

(00:08:59) noch: մեկ ինձ շատ հետաքրքիր ա էդ որ ասում էիր առանց ռեկուրսիա։

(00:09:00) noch: երկու

(00:09:17) noch: ես կարծում եմ որ պետք ա մեզ էական չլինի

(00:09:23) noch: ինչի վրա ենք աշխատացնում մեր կոդը

(00:09:32) noch: ինտել թե առմ

(00:09:37) noch: ու էդ պատճառով ֆսյո-տակի կարծում եմ

(00:09:42) noch: որ ասմը ավելի լավ ա քիչ կիրառել

(00:09:53) noch: որ փորթաբլ ծրագրեր լինեն

(00:09:59) noch: ոնց սկսում ես քո իսկ ծրագիրը

(00:10:08) noch: փորձել աշխատացնել այլ պլատֆորմայի վրա

(00:10:18) noch: իսկ պարզ ա որ մի պլատֆորմա չի լինի որ լինի ու լավ չի որ լինի

(00:10:24) noch: ապա զգում ես որ կորած ա գործդ

(00:10:27) noch: պիտի նորից գրես

(00:11:07) Vahan Stepanyan: ha, es bnakanabar haskanum em et problem@ u voncvor high level@ henc ettexic el sksvec, bayc erb vor du xosum es anmijakan

(00:11:09) Vahan Stepanyan: aranc targmanchi

(00:11:16) Vahan Stepanyan: du gites vonc et qar@

(00:11:18) Vahan Stepanyan: amenalav@ ogtagorces

(00:11:24) Vahan Stepanyan: nu chgitem eli

(00:11:28) Vahan Stepanyan: vonc karelia bacatrel 🙂

(00:11:39) Vahan Stepanyan: hastat du inch qar el unenas

(00:11:47) Vahan Stepanyan: du ira lezvov amenalav ardyunqn es stanalu

(00:12:14) Vahan Stepanyan: u kataryal optimizacnox compiler

(00:12:20) noch: եթե դու վերաբերվում ես ծրագրին

(00:12:23) noch: որպես ինչ որ բան

(00:12:26) noch: ինչը պիտի քարը կատարի

(00:12:29) noch: ոչ թե որպես ինչ որ բան

(00:12:38) noch: որը դու գրել ես որ հետո դու կամ այլ մարդ կարդա

(00:13:04) noch: որովհետև ծրագրավորման լեզուն իմ կարծիքով շատ հաճախ սխալմամբ անվանում եմ համակարգչային լեզու

(00:13:11) noch: սակայն համակարգչային լեզուն դա ասմն ա ասենք

(00:13:16) noch: բայց ծրագրավորման լեզուն

(00:13:20) noch: դա ֆորմալ նոտացիա ա

(00:13:23) noch: որը մենք մեր համար ենք մտածել

(00:13:26) noch: որ մեզ հարմար լինի

(00:13:34) noch: ու կակ ռազ ոչ միայն գրել

(00:13:37) noch: այլ և կարդալ

(00:13:52) Vahan Stepanyan: nu es hamarum em, vor kardalu harc@ paka

(00:13:56) noch: ու ասենք կնութը որ գրական ծրագրավորում ա անում

(00:13:59) Vahan Stepanyan: xndir@ miayn mec systemi meja

(00:14:07) Vahan Stepanyan: djvara os@ tklor asm-ov

(00:14:12) Vahan Stepanyan: kam tekuz office@

(00:14:15) Vahan Stepanyan: tekuz ev open

(00:14:19) noch: )

(00:14:27) noch: բայց կարդալու մասին չհասկացա

(00:14:39) Vahan Stepanyan: nu es hamarum em, vor grox@ kardum ela normal

(00:14:39) noch: ինչ ի նկատի ունես որ կարդալու հարցը փակ ա

(00:14:54) Vahan Stepanyan: es 2 tari araj ban em grel

(00:15:01) Vahan Stepanyan: 8086-i hamar

(00:15:06) Vahan Stepanyan: hima kardum em hangist

(00:15:11) Vahan Stepanyan: mi qich mtacum es te xi es senc arel

(00:15:15) Vahan Stepanyan: bayc et shat mi qicha

(00:15:28) Vahan Stepanyan: gorc@ shat aveli djvara

(00:15:29) noch: մտածում եմ

(00:15:47) Vahan Stepanyan: erb vor arden nu shat CISC qarer en linum

(00:15:59) Vahan Stepanyan: u aveli heshta RISC-i hamar

(00:16:05) noch: մտածեցի

(00:16:09) Vahan Stepanyan: ha

(00:16:09) noch: հա էդ այլ հարց ա

(00:16:10) Vahan Stepanyan: return

(00:16:12) Vahan Stepanyan: 🙂

(00:16:13) noch: ու ունեմ ասելու էդ բանով

(00:16:16) noch: բայց դեռ էն մեկը ասեմ

(00:16:22) Vahan Stepanyan: ha

(00:16:30) noch: ուրեմն կա մեկ ընտրություն

(00:16:42) noch: գրել մեքենայական կոդ կամ հայ լեվե լեզու

(00:16:46) noch: ու կա այլ ընտրություն

(00:16:50) noch: գրել էս լեզվով

(00:16:53) noch: ասենք ֆորտրանով

(00:16:58) noch: կամ գրել ասենք պասկալով

(00:17:05) Vahan Stepanyan: ha

(00:17:11) noch: եթե ես երկրորդ ընտրությունը կատարում եմ պասկալի օգտին

(00:17:19) noch: քանի որ ինքը ավելի ճկուն ա ու արտահայտիչ քան ֆորտրանը

(00:17:45) noch: ապա ես առաջին ընտրությունը նույն տրամաբանությամբ կատարում եմ լեզու օգտագործելու օգտին ու ոչ ասմի

(00:17:46) Vahan Stepanyan: karces haskaca

(00:17:56) Vahan Stepanyan: ha pastoren

(00:18:30) Vahan Stepanyan: de irakanum nayac inch npatakneri hamar en, es chem kara abstract @ntrutyun anem

(00:18:30) Vahan Stepanyan: ete asen uxxaki @ntri

(00:18:37) Vahan Stepanyan: kntrem Pascal u Asm

(00:18:54) Vahan Stepanyan: ete asen @ntri es inch bani hamar, arden dra hamar kmtacem vorna harmar

(00:19:04) Vahan Stepanyan: bayc sirunutyun@ chi korum dranic (asm-i)

(00:19:15) Vahan Stepanyan: uxxaki es chem karcum, vor hayeren@ erbeve klini qarin haskacnel

(00:19:56) noch: հայերենը չեմ կարծում որ ճիշտ համեմատություն ա որովհետև ինքը հա իհարկե մարդկային ա, բայց նոտացիա չի էդքան էլ ճշգրիտ բաներ արտահայտելու համար։

(00:20:07) noch: այսինքն մեզ պետք ա մարդկային լեվի մեջ

(00:20:09) noch: արտահայտիչ լինի

(00:20:21) noch: որ սիրուն խոսենք, օգտագործենք նույն իմաստի համար տարբեր բառեր

(00:20:24) Vahan Stepanyan: aysinqn motik, inchqan hnaravora?

(00:20:25) noch: որ ձանձրալի չլինի

(00:20:47) noch: իսկ կոմպին հասկացնելու համար լեվի մեջ նույնիսկ խանգառում ա երբ նույն բանը կարող ես երկու տարբեր ձևով հասկացնել

(00:21:04) Vahan Stepanyan: ha

(00:21:19) Vahan Stepanyan: bayc du urish dzev es motenum

(00:21:26) Vahan Stepanyan: du motenum es vorpes lezvaban

(00:21:30) Vahan Stepanyan: kam “lezvaban”

(00:21:33) Vahan Stepanyan: vonc harmara

(00:21:34) noch: ։Ճ

(00:21:46) Vahan Stepanyan: aysinqn qarin hamarum es mijocc

(00:21:53) Vahan Stepanyan: es je tenc chem anum “))

(00:21:58) Vahan Stepanyan: 🙂

(00:22:04) noch: ահա ։Ճ

(00:22:09) Vahan Stepanyan: entadrenq ka mi mard

(00:22:13) Vahan Stepanyan: vor@ hayeren haskanuma

(00:22:23) Vahan Stepanyan: u Core i7-in satkacrac uni

(00:22:29) Vahan Stepanyan: amen inch anuma

(00:22:35) Vahan Stepanyan: aveli lava iran ogtagorcel?

(00:22:40) noch: չեմ կարծում

(00:22:42) Vahan Stepanyan: es orinak tenc chem karcum

(00:22:54) noch: կարծում եմ որ ավելի լավ ա ճիշտ նոտացիայով նկարագրել ինչ ա պահանջվում

(00:22:55) noch: ու գրավոր

(00:23:09) noch: ու ոչ լեվով որովհետև լեզվով ավելի բարդ ա էդպիսի բան անել

(00:23:17) noch: այսինքն ճշգրիտ ձևակերպելու համար

(00:23:21) noch: պիտի ենթաբազմություն մտածես

(00:23:23) noch: ու օգտվես իրանից

(00:23:32) noch: ինչը կբերի մոտավորապես ծրագրավորման լեզվին

(00:23:43) Vahan Stepanyan: irakanum harc@ ena, vor inq@ marda

(00:23:50) Vahan Stepanyan: u karelia inch ases ogtagorcel

(00:23:51) Vahan Stepanyan: jest

(00:23:58) Vahan Stepanyan: poxaberakan artahaytutyunner

(00:24:01) Vahan Stepanyan: i t.d.

(00:24:07) Vahan Stepanyan: u arden petq chi asel

(00:24:11) Vahan Stepanyan: vercra es byte@

(00:24:15) Vahan Stepanyan: texapoxi estex

(00:24:19) noch: ժեստ կարելի ա օգտագործել եթե ինքը ճշգրիտ սահմանված ա ինչ ա նշանակում ու երկիմաստ չի հասկացվի

(00:24:39) Vahan Stepanyan: de entadrvuma, vor mard@ etqan xelacia 🙂

(00:24:44) noch: բայց ես երբ մարդկանց հետ շփվում եմ հաճախ պոլագայուս նա տո որ իրանք ինձ կհասկանան ու միշտ չէ որ վստահ եմ

(00:24:46) Vahan Stepanyan: konkret ed mard@

(00:25:09) noch: ։Ճ

(00:25:21) noch: ոնց չեմ մտածում

(00:25:24) Vahan Stepanyan: arhestakan intellekt

(00:25:28) noch: կգրեմ իրան թղթի վրա ֆորմուլա

(00:25:30) noch: ու ասենք կգրեմ

(00:25:34) noch: քառակուսի արմատ

(00:25:56) noch: ու գիծ կքաշեմ բաժանելու տեղը ու փոփոխականներ կգրեմ գծի վերև ու ներքև

(00:26:08) noch: ու բնավ ոչ սենց՝ sqr(a/b)

(00:26:15) noch: այլ հենց ոնց թղթի վրա գրում էինք

(00:26:17) noch: ու կասեմ հաշվի ապ

(00:26:22) noch: բայց նոտացիա կոգտագործեմ

(00:26:29) noch: ապը սակայն տենց կասեմ

(00:26:31) noch: որ իրան լավ գա

(00:26:32) noch: զգա

(00:26:39) Vahan Stepanyan: ha 🙂

(00:26:47) Vahan Stepanyan: u aveli arag hashvi 😀

(00:26:51) noch: Ճ

(00:26:57) Vahan Stepanyan: bayc ed kayf chi

(00:27:06) Vahan Stepanyan: vortev iran du ches sarqel

(00:27:16) noch: մարդու՞ն

(00:27:21) Vahan Stepanyan: inchqan iran motik qar sarqes

(00:27:23) Vahan Stepanyan: enqan kayf

(00:27:25) Vahan Stepanyan: ayo

(00:27:33) Vahan Stepanyan: ankendan

(00:27:34) noch: այ հիմա եկանք նրան ինչի մասին ասացի կասեմ

(00:27:35) Vahan Stepanyan: key word

(00:27:40) noch: երբ ասացիր cisc risc

(00:27:44) Vahan Stepanyan: ha

(00:27:45) noch: նենց ա ստացվում

(00:27:53) noch: որ քարերի նախագծողները

(00:28:00) noch: իրանք մտածում են իրանց գործի մասին

(00:28:03) noch: ոնց անեն ասենք արագ աշխատի

(00:28:17) noch: իսկ ծրագրավորողները իրանց մասին են մտածում՝ ոնց անենք հեշտ լինի գրել ասենք

(00:28:36) noch: էդ ոնց որ օպերատորը նկարի մոնտաժնիկը հավաքի, ու սաղ ինչ ու ոնց ուզեն, առանց ռեժիսոր

(00:28:41) noch: իրականում մոտավորապես տենց ա

(00:28:47) Vahan Stepanyan: nu

(00:28:47) Vahan Stepanyan: entadrenq 🙂

(00:28:55) Vahan Stepanyan: che irakanum tenca, iharke voch bolor@, bayc de

(00:29:33) noch: նենց ա ստացվում որ երկաթի ու ծրագրի միջև ճեղքը լայնանում ա

(00:29:45) noch: ու cisc-ի դեպքում ավելի լայն ա

(00:29:50) noch: ես տենց եմ հասկանում

(00:29:54) noch: քան risc-ի

(00:29:55) noch: որովհետև

(00:29:56) Vahan Stepanyan: es e;

(00:30:34) noch: ու քանի որ ինքը ավելի քիչ մաթեմին ա մոտիկ, կարելի ա ասել որ մարդուց ել ա հեռանում

(00:30:43) noch: որովհետև ասմով շատ ավելի հեշտ ա riscի համար գրել

(00:30:46) noch: քան cisc-ի

(00:30:54) Vahan Stepanyan: ha, ha

(00:31:10) noch: բայց դե ու՞մ այսպես ասած վեջն ա

(00:31:28) Vahan Stepanyan: vor heranuma?

(00:31:32) noch: հա

(00:31:42) noch: ու էդ նաև բերում ա նրան որ քմփայլերն ա բարդանում

(00:31:56) Vahan Stepanyan: inchvor orinak mtaceci

(00:32:01) Vahan Stepanyan: chgitem inchi ed ancav mtqovs

(00:32:10) Vahan Stepanyan: inchvor xachqar sarqox varpet patkeracreci

(00:32:11) noch: էն որ ասում եմ ում վեջն ա չեմ ասւոմ լավ ա

(00:32:14) noch: ասում եմ լավ չի տենց

(00:32:14) Vahan Stepanyan: vor ira gorc@ avtomatacrel en

(00:32:15) Vahan Stepanyan: 😀

(00:32:17) noch: լավ ա երբ մտածում են

(00:32:37) noch: ո՞նց։ սարք ա նկար ես տալիս նկարում ա

(00:32:40) noch: տենց ռոբոտներ կան

(00:32:44) noch: g code ես տալիս

(00:32:47) noch: ինքը անում ա ինչ ասում ես

(00:32:54) noch: նույնիսկ ստանդարտ կա կոդի

(00:33:13) Vahan Stepanyan: ha eli

(00:33:22) Vahan Stepanyan: inchqan vata zgum varpet@

(00:33:27) noch: լավ մտածեցի

(00:33:28) noch: նայի

(00:33:33) noch: ես երբ գովազդ էի ասենք նկարում

(00:33:42) Vahan Stepanyan: ha

(00:33:49) noch: ես պատվիրատուի հետ ճշգրիտ դետալները ամփոփում էի

(00:33:58) noch: ասում էի ասենք ձայնը կլինի տղայի, կամ աղջկա

(00:34:01) noch: համամի՞տ ես

(00:34:13) noch: ասում էի՝ էս կադրը կլինի էսքան, էս՝ էսքան

(00:34:16) noch: էդ իմ համար էին անում էլի

(00:34:22) noch: որ հետո չասի չէ տենց լավ չի փոխի

(00:34:25) noch: էդ հետո ավելի դժվար ա

(00:34:30) noch: բայց էդ դրա համար

(00:34:33) noch: ես ինչ որ բաներ մտածել էի

(00:34:40) noch: այսինքն ասում էի կոնկրետ

(00:34:45) noch: ու նույնիսկ նկարում էի

(00:34:55) noch: ու էդ էլի լեզու էր

(00:35:03) noch: որը ճշգրիտ բաներ էր ձգտում արտահայտել

(00:35:11) noch: ես իրա հետ չեի խոսում քաղաքականությունից ասենք

(00:35:17) noch: կամ լավ ա կուբայում թե չէ

(00:35:33) Vahan Stepanyan: ha

(00:35:34) Vahan Stepanyan: mishtel tenca

(00:35:40) Vahan Stepanyan: erb vor xndir@ konkret@

(00:35:43) Vahan Stepanyan: lucum@ aveli optimala

(00:35:49) noch: ու եթե դա մարդ ա

(00:35:54) Vahan Stepanyan: data compressing

(00:35:57) noch: խաչքար անող

(00:36:01) Vahan Stepanyan: ha

(00:36:21) noch: կամ ինչ որ մի ռոսպիս

(00:36:38) noch: մեկա ավելի լավ ա իրան նախորոք ասել այ սենց թրչուն եմ ուզում ասենք ստեղ

(00:36:44) noch: բայց էդ ավելի լավ ա նկարել

(00:36:48) noch: որը կբերի մակետին մե

(00:36:50) noch: մեզ

(00:36:57) noch: որը իրականում արդեն ենթաբազմություն ա

(00:37:01) noch: ու ճշգրիտ սահմանում ա

(00:37:06) noch: ու ինչքան ավելի ճշգրիտ ա սահմանումը

(00:37:11) noch: էդքան ավելի մեծ ա հավանականությունը

(00:37:16) noch: որը ինչ ուզում էիր կստանաս

(00:37:27) noch: ու եթե մարդ ա աղմուկը

(00:37:30) noch: կարող ա ավելի շատ լինել

(00:37:40) noch: եթե մեքենա աղմուկը կարա քիչ լինել

(00:37:49) noch: բայց էն նույն աղմուկն ա

(00:37:50) noch: ի դեպ

(00:37:53) noch: փաստորեմ

(00:37:54) noch: ։Ճ

(00:38:03) Vahan Stepanyan: gites stex irakanum harc@ voch te ena, vor karelia hstak haskacnel inch es uzum

(00:38:29) Vahan Stepanyan: ayl aveli arvestayin moment

(00:38:29) Vahan Stepanyan: entadrenq du uxxaki karas patkeracnes

(00:38:29) Vahan Stepanyan: u haytnvi koxqt

(00:38:31) Vahan Stepanyan: u verj

(00:38:47) Vahan Stepanyan: u hashvi charnenq, vor du patkeracneluc

(00:38:50) Vahan Stepanyan: eli stexcagorcum es

(00:39:05) noch: այ ասենք պիգմալիոնը

(00:39:10) noch: պատկերացրեց էն աղջկան

(00:39:14) noch: հետո իրան քարից սարքեց

(00:39:23) noch: համարում ենք որ կորուստ չուներ

(00:39:29) noch: այսինքն ինչ պատկերացրեց ստացավ

(00:39:34) Vahan Stepanyan: ha

(00:40:03) noch: իսկ անելուց ինքը ճշգրիտ հետևում էր իրա պատկերացրածին՞

(00:40:06) noch: ասենք հա

(00:40:19) Vahan Stepanyan: aysinqn?

(00:40:21) Vahan Stepanyan: aneluc?

(00:40:25) noch: հա էլի այլապես իմաստը կորում ա

(00:40:31) noch: խոսակցության

(00:40:37) noch: փաստորեն ինքը իրա մտածածն էր անում

(00:40:41) noch: կամ մտածեցէ հայտնվեց

(00:40:47) noch: հիմա ինչը մտածեց՝ այն հայտնվեց

(00:40:54) Vahan Stepanyan: ha

(00:40:56) Vahan Stepanyan: miangamic

(00:40:58) Vahan Stepanyan: akntartoren

(00:41:00) noch: բայց ինքը իրան ա ասել

(00:41:04) Vahan Stepanyan: hakarak depqum mitq@ karar poxver

(00:41:09) noch: ինքը իրան չպիտի փոխանցի տեղեկատվություն

(00:41:16) noch: իսկ մի մարդ այլ մարդու պիտի քոփի անի

(00:41:19) noch: հաղորդի

(00:41:21) Vahan Stepanyan: che, ed verj@ chi

(00:41:26) Vahan Stepanyan: et mi depqna

(00:41:37) Vahan Stepanyan: erb vor qandakoxi gorc@ avtomatarcel en

(00:41:45) Vahan Stepanyan: isk hima inq@ porcuma bacatri qandak anoxin

(00:41:53) Vahan Stepanyan: kam nkarchin

(00:41:56) Vahan Stepanyan: kam…

(00:42:07) Vahan Stepanyan: u bnakanabar qo asac axmuk@ lineluya

(00:42:16) Vahan Stepanyan: bayc inchqan lav nkarich@ nkari

(00:42:20) Vahan Stepanyan: u clientin dur ga

(00:42:24) Vahan Stepanyan: enqan lava zgalu nkarich@

(00:42:30) Vahan Stepanyan: hima inchpisina nkarchi vichak@

(00:42:36) Vahan Stepanyan: erb vor inq@ petq chi

(00:42:42) Vahan Stepanyan: karan patkeracnen u lini

(00:42:43) Vahan Stepanyan: u verj

(00:43:36) noch: էդ մենք շեղվեցի՞նք։ որովհետև սովորաբար նկարիչներ դարնում են մարդիկ որոնք ուզում են սովորել իրենց պատկերացրածը նկարել

(00:43:59) Vahan Stepanyan: che, iranc tenc chhamarenq

(00:44:06) Vahan Stepanyan: tox lini xachqar sarqox@

(00:44:09) noch: այսինքն սովորում են արհեստ բնավ ոչ ասենք պատչեներ հանելու

(00:44:16) noch: այլ իրենց իսկ մտքերը իմպլեմենտացնելու համար

(00:44:17) Vahan Stepanyan: tox lini hen inq@ patkeracnox@

(00:44:29) noch: հա էդ ա հարցը

(00:44:30) Vahan Stepanyan: ha

(00:44:40) noch: պատկերացնողը սարքում ա առանց տեղեկատվության հաղորդման

(00:44:51) noch: ինքը կորուստ չի ունենում ու ինքը իրա համար չպիտի ձևակերպի

(00:44:54) noch: քանզի ինքը արդեն գիտի

(00:44:59) Vahan Stepanyan: ha

(00:45:15) noch: այո ինչ բառ ա՝ ձևակերպել՝ ֆորմալ հ

(00:45:18) noch: նոտել

(00:45:25) noch: ։Ճ

(00:45:31) Vahan Stepanyan: bayc mi depqum da linuma hrashqov

(00:45:31) Vahan Stepanyan: myus depqum handmade

(00:45:48) noch: չէ նույնիսկ եթե ես պատկերացրեցի ինչ որ բան ու արեցի

(00:45:51) noch: ինքը հանդմեյդ ա

(00:45:53) noch: կապ չունի

(00:45:58) noch: էդ հանդմեյդ ա թե հրաշք

(00:46:03) noch: եթե ես եմ պատկերացրել ես արել

(00:46:06) noch: ու կորուստ չկա

(00:46:28) Vahan Stepanyan: ha bayc harc@ voch te lav patkeracnelu meja

(00:46:32) Vahan Stepanyan: ayl lav irakanacnelu

(00:46:42) Vahan Stepanyan: 2rd depqum du aranc korsti ches anum

(00:46:47) noch: հարցը նրանում էր պետք ա ձևակերպել թե չէ

(00:46:49) Vahan Stepanyan: u kap chuni vor aveli lav eir patkeracrel

(00:47:05) noch: հասնում ենք նրան որ եթե ուրիշին չպետք ա բացատրես պետք չի ձևակերպել

(00:47:10) noch: եթե ուրիշին ուզում ես բացատրել

(00:47:20) noch: պիտի ձևակերպես որ ճիշտ հասկանա

(00:47:31) noch: անկախ նրանից ուրիշը մարդ ա թե չէ

(00:47:35) Vahan Stepanyan: de menq mi verapahum enq arel

(00:47:42) Vahan Stepanyan: vor karelia nayev dzevakerpelu mej anel

(00:47:47) Vahan Stepanyan: u eli nuyn xndir@ klini

(00:47:56) Vahan Stepanyan: erb vor aranc korsti poxancum es mitd

(00:48:03) Vahan Stepanyan: ed nuynn er, erb inqd eir anum

(00:48:11) Vahan Stepanyan: aysinqn irakanum ed etqan el karevor chi

(00:48:18) Vahan Stepanyan: harc@ sgacoxutyan masina

(00:48:21) Vahan Stepanyan: nu ha, lava

(00:48:22) Vahan Stepanyan: inch

(00:48:24) Vahan Stepanyan: mtaceci

(00:48:26) Vahan Stepanyan: patrasta

(00:48:29) Vahan Stepanyan: u?

(00:48:45) Vahan Stepanyan: kak to arvest chka ettex

(00:48:56) noch: չեմ կարծում։

(00:48:58) noch: նայի

(00:49:01) noch: նույն հարցը եղել ա

(00:49:06) noch: երբ հայտնվեց իմպրեսսիոնիզմը

(00:49:14) Vahan Stepanyan: ha

(00:49:15) noch: որովհետև ինքը չեր լինի եթե չհայտնվեին ծյուբիկները

(00:49:24) noch: որոնց հեշտ էր քաշ տալ ասենք դաշտ

(00:49:38) noch: իսկ մինչ այդ ապակու սկլյանկեքով էին օգտվում ու բարդ էր

(00:50:00) noch: ու համարվում ա որ էդ տեքնոլոգիական պրորիվն էր որ աջակցեց իմպրեսիոնիզմին

(00:50:04) noch: կամ երբ հայտնվեց ֆոտոն

(00:50:16) noch: ու մարդիկ սկսեցին ասել որ գեղանկարչությունը էլ պետք չի

(00:50:49) noch: ու երբ ֆոտոն սկսեց լրիվ այլ նպատակներ հետապնդել քան պարզապես իրականության պատկերումը մարդիկ հասկացան որ սխալվեցին

(00:51:02) Vahan Stepanyan: ayl

(00:51:04) Vahan Stepanyan: ?

(00:51:27) Vahan Stepanyan: amen depqum lav hamematutyuna, henc tenc

(00:51:33) noch: ։Ճ

(00:51:42) Vahan Stepanyan: es el em da asum

(00:51:56) Vahan Stepanyan: aysinqn qari het gorc anox@ petq klini

(00:52:01) Vahan Stepanyan: bayc voch te en patcharov

(00:52:03) noch: ասում եմ եթե հեշտանում ա գործդ արհեստն ա տակից դուրս գալիս ոչ թե արվեստը

(00:52:08) Vahan Stepanyan: vor aveli hesht@ aveli lav chi lini

(00:52:22) Vahan Stepanyan: ayl uxxaki aveli hesht@ chi lini

(00:52:29) Vahan Stepanyan: aysinqn aveli che, amenahesht

(00:52:35) Vahan Stepanyan: vorpeszi korust chlini

(00:52:44) noch: հա ու կոմպով տեքստ խմբագրելը ավելի հեշտ ա,

(00:52:54) noch: բայց էդ ավելի լավ ա

(00:53:03) noch: ու ավելի ա հեշտացնում լավ գիրք գրելը

(00:53:06) noch: նրան որ կարա գրի էլի

(00:53:09) noch: լավ գիրք

(00:53:13) Vahan Stepanyan: nu ha

(00:53:40) Vahan Stepanyan: es arden moracel em amen inch, isk du? 😀

(00:53:42) noch: ու վերադարնալով լեզուներին

(00:53:43) noch: ։Ճ

(00:54:02) noch: ասեմ որ ավելի լավ ա երբ լեզուն որով գրում ես քե աջակցում ա ու հեշտացնում ա գործդ

(00:54:14) noch: ։Ճ

(00:54:19) noch: որպես մարդու

(00:54:25) noch: որովհետև մենք դիզայն ենք անում բաներ մեր համար

(00:54:28) Vahan Stepanyan: ha, hamadzayn em mianshanak

(00:54:31) noch: ոչ թե պոդստրաիվածսյա ենք անում

(00:54:41) Vahan Stepanyan: es osi, officei u i t.d.-i orinak bereci 😀

(00:54:41) noch: նրան ինչպես ա հարմար երկաթի դեվելոփերներին

(00:55:04) noch: այսինքն դու հիմա ցիսկ ես գրում

(00:55:13) Vahan Stepanyan: de et tenc meknabanel petq chi

(00:55:14) noch: ու էդ էդքան հարմար չի ինչքան րիսկ գրելը

(00:55:21) Vahan Stepanyan: hima nuyn@ karelia asel kacini masin

(00:55:23) noch: ու էդ էդքան հարմար չի ինչքան պասկալ գրելը

(00:55:26) Vahan Stepanyan: u kacini developerneri

(00:55:30) Vahan Stepanyan: bayc de unenq kacin

(00:55:32) Vahan Stepanyan: eda

(00:55:46) Vahan Stepanyan: uzuma lini vikingakan uzuma sultanakan chgitem

(00:55:49) noch: դե ես դժգոհում եմ որ մկրատը նենց ա արած որ աջ ձեռքով բռնեմ

(00:55:54) noch: իսկ ինձ ձախով ա հարմար

(00:56:01) noch: կամ խցիկս նենց ա սարքած

(00:56:04) noch: որ աջով բռնեմ

(00:56:13) noch: ոնց որ իմ համար սարքած չլինի

(00:56:22) noch: այ թրչող ափսեն

(00:56:29) noch: կլոր ա

(00:56:33) noch: ու ես իրա հետ խնդիր չունեմ ։Ճ

(00:56:36) noch: բնավ

(00:56:37) noch: ։Ճ

(00:56:39) Vahan Stepanyan: irakanum da karelia artahaytel senc

(00:56:45) Vahan Stepanyan: du xcik ogtagorcel chgites

(00:56:55) Vahan Stepanyan: iharke tenc “chisht” chi

(00:57:13) Vahan Stepanyan: bayc harc@ konkret ban@ ogtagorcelna eli

(00:57:22) Vahan Stepanyan: u voch te amen mek@ vermak@ qashi ira koxm@

(00:57:26) Vahan Stepanyan: es uzum em qich grem

(00:57:37) Vahan Stepanyan: myus@, uzum el uzum em qich ashxatem

(00:57:47) Vahan Stepanyan: arajin depqum noric qich ashxatelna

(00:58:07) Vahan Stepanyan: iharke

(00:58:16) Vahan Stepanyan: xciki depqum qayl@ arvaca

(00:58:26) Vahan Stepanyan: unes patrasti “architecture”

(00:58:49) Vahan Stepanyan: u ete harmar chi, uremn lav ches karoxanum ogtagorcel u nayev hakarak@ kara lini

(00:58:57) Vahan Stepanyan: hima asel senc sarqi

(00:59:00) Vahan Stepanyan: nenc sarqi

(00:59:17) Vahan Stepanyan: agah algorithmov chi lini lucel

(00:59:27) Vahan Stepanyan: ete qar@ amenaharmar dzevov sarqvi

(00:59:36) noch: եկա

(00:59:37) Vahan Stepanyan: du el amenaharmar dzevov gres ogtagorcelov et qar@

(00:59:46) Vahan Stepanyan: chi nshanakum, vor kstacvi amenalav ardyunq@

(00:59:52) Vahan Stepanyan: kara qar@ lini mi qich var

(00:59:54) Vahan Stepanyan: vat

(00:59:57) Vahan Stepanyan: du el mi qich vat gres

(01:00:03) Vahan Stepanyan: nu chakertavor “vat”

(01:00:14) Vahan Stepanyan: bayc superpozician lini aveli effective eli

(01:03:00) noch: չէ հարցը նրանում ա որ իրականում մարդիկ լինում են էդքան խելացի, որ ասմով ել լավ կգրեն, աջլիկի համար նախատեսված խցիկով էլ լավ կնկարեն եթե պետք ա։ ասենք ես հիմա հայերեն կարողանում եմ մտքերս արտահայտել իսկ ինքը իմ առաջին լեզուն չի փաստացի։ ու էդ հաճախ զգացվում ա, և օտար բառեր օգտագործելուց

(01:03:07) noch: և նախադասությունները սխալ կազմելուց

(01:03:11) noch: ու տենց

(01:03:25) noch: բայց նենց ա որ արդյունքը պակաս վատ չի

(01:04:03) Vahan Stepanyan: ha

(01:04:21) Vahan Stepanyan: hima uxxaki et 2 modelneri mej zugaher tanel@ djvara

(01:04:48) noch: բայց ինչքան որ հային հայերեն ա հարմար շփվել այնքան էլ մարդուն հարմար ա իրա համար նախագծված աթոռի վրա նստել

(01:05:11) noch: իրա համար նախագծված թաչսքրինի էկրանին մատով կպնել

(01:05:34) Vahan Stepanyan: gites, harmarutyan hamar es ban chem asum

(01:05:46) Vahan Stepanyan: chem karcum, vor nkarchin amenaharmar@ vrdzinov nkarelna

(01:06:07) Vahan Stepanyan: u dashnamurn el amenaharmar gorciq@ chi

(01:06:15) noch: բայց մկնիկով նկարելը մատիտով նկարելուց հարմար չի

(01:06:19) Vahan Stepanyan: isk du nuyn@ harcra dashnakaharic

(01:06:30) noch: էդ պատճառով ես գասպարին կոմպով նկարելու մատիտ եմ բերել

(01:06:30) Vahan Stepanyan: ayo

(01:06:31) noch: ։Ճ

(01:06:38) Vahan Stepanyan: 🙂

(01:06:46) Vahan Stepanyan: inq@ mknikov er nkarum? 😀

(01:07:00) noch: դե մինչև չուներ որակյալ էլեկտրոնային մատիտ

(01:07:07) noch: ստիպված էր մկնիկով նկարել կոմպի վրա

(01:07:24) noch: եթե կոմպի վրա

(01:07:47) Vahan Stepanyan: hetaqrqira, es uxxaki chem patkeracnum vonc karelia, inq@ uremn shat @ndunaka 😀

(01:08:04) Vahan Stepanyan: aysinqn iharke sovorelu harca, bayc de…

(01:08:12) noch: չէ փաստորեն

(01:08:14) Vahan Stepanyan: isk inq@ vonca sirum nkarel hima?

(01:08:16) noch: մենք չենք կարողանում

(01:08:20) noch: մկնիկով էդպիսի գծեր քաշել

(01:08:25) noch: ինչպես մատիտով

(01:08:59) noch: ինքը ամեն ձև ել նկարում ա, ու կոմպով ու վրձինով։ բայց մկնիկով հաստատ ավելի անհարմար ա քան մատիտով

(01:09:33) Vahan Stepanyan: ha, et kochvuma gorciq

(01:09:36) noch: Ճ

(01:09:41) noch: լեզուն ել ա գործիք էլի

(01:09:42) noch: ։Ճ

(01:09:45) Vahan Stepanyan: ha

(01:09:58) Vahan Stepanyan: bayc gorciq@ zgacmunq chi artahaytum

(01:10:04) Vahan Stepanyan: es esqan jamanak et ei asum

(01:10:17) Vahan Stepanyan: hakarak depqum es khakarakvei irakanutyan@

(01:10:19) Vahan Stepanyan: kran vor chliner

(01:10:24) Vahan Stepanyan: cher lini neboskryob

(01:10:33) Vahan Stepanyan: i t.d.

(01:10:46) noch: գործիքը չի արտահայտում, մարդն ա արտահայտում

(01:10:53) Vahan Stepanyan: mard ka siruma sitezatori vra nvagel

(01:10:56) Vahan Stepanyan: @ndex aveli heshta

(01:11:03) noch: բայց մարդուն կարա գործիքը ավելի աջակցի կամ էլ խոչընդոտի

(01:11:05) Vahan Stepanyan: vortev ete dashnamuri vra fixvac dzayner en

(01:11:14) Vahan Stepanyan: estex karas inch uzes dnes

(01:11:30) noch: էնդեղ լիքը տարբերություն կա

(01:11:58) noch: առաջինը սինթեզված ձայնի որակը նույնիսկ մոտիկ չի լինում իրական ստրունայի տատանումից ստացած ձայնի որակին

(01:12:16) Vahan Stepanyan: de nayac inch detalizaciayov es nayum

(01:12:23) Vahan Stepanyan: ed voncvor ases

(01:12:32) Vahan Stepanyan: C-ic compile arac@ aveli meca

(01:12:36) Vahan Stepanyan: kam dandax

(01:12:42) Vahan Stepanyan: dranq hashvi chi arnvum

(01:13:07) Vahan Stepanyan: u irakanum hech el partadir chi myus koxmic

(01:13:14) Vahan Stepanyan: vor strunayi irakan mexanikakan dzayni nmanvi

(01:13:25) Vahan Stepanyan: dranic el henc cnvec electro janr@

(01:13:28) Vahan Stepanyan: vor es shat em sirum

(01:13:30) noch: ստեղ ես այլ կերպ կձևակերպեի՝ մարդուն ավելի մոտ ա իսկական հնչողությունը, որովհետև ինքը զգում ա սինթեզվողի տկարությունը

(01:13:47) Vahan Stepanyan: nayel verev

(01:13:49) noch: հա էդ այլ հարց ա

(01:13:55) noch: ։Ճ

(01:13:59) Vahan Stepanyan: 🙂

(01:14:07) noch: ամեն նոր տեքնոլոգիա

(01:14:12) noch: բերում ա իրա հետ նոր էստետիկա

(01:14:19) noch: լավ ամեն չէ

(01:14:26) noch: բայց տենց լինում ա

(01:14:32) Vahan Stepanyan: ha :))

(01:14:49) Vahan Stepanyan: gnacinq qnenq ha voncvor? 😀

(01:14:55) noch: ու հայտնի չի ինչ կբերեն քվանթային հաշվարկները

(01:14:57) noch: եթե բերեն

(01:14:58) noch: հա

(01:14:59) noch: ։Ճ

(01:15:13) Vahan Stepanyan: o, dra masin el karelia xosal

(01:15:17) Vahan Stepanyan: es karcum em vor amen inch sxala

(01:15:18) noch: լսի ես էս գցեմ ԿՄ

(01:15:23) Vahan Stepanyan: chem sirum Einsteinin

(01:15:26) Vahan Stepanyan: u tenc

(01:15:30) Vahan Stepanyan: hl@ kxosenq 😀

(01:15:36) noch: ես մեծ անվստահությամբ եմ վերաբերվում քվանթային համակարգչությանը

(01:15:42) noch: սակայն էյնշտեյնին սիրում եմ

(01:15:59) Vahan Stepanyan: ha, de kqnnarkenq anpayman

(01:16:01) Vahan Stepanyan: isk lj

(01:16:02) Vahan Stepanyan: xndrem

(01:16:08) Vahan Stepanyan: sa lriv free xosakcutyuna

(01:16:09) Vahan Stepanyan: 😀

(01:16:15) noch: քանզի հարաբերականությունը անհարաբերականորեն հարաբերական ա

(01:16:18) noch: Ճ

(01:16:39) Vahan Stepanyan: gites harc@ nranuma, vor es karcum em, inq@ mi qich goxa

(01:16:45) Vahan Stepanyan: tenc cher asi Puankaren

(01:16:53) Vahan Stepanyan: bayc karar liner mtqi hexinak

(01:17:00) noch: ահ

(01:17:00) Vahan Stepanyan: …

(01:17:06) noch: լավ էդ առանձին խոսալու բան ա

(01:17:09) noch: պոկա պոկա

(01:17:10) Vahan Stepanyan: 🙂

(01:17:11) noch: բարի գիշեր

(01:17:12) Vahan Stepanyan: poka poak

(01:17:13) Vahan Stepanyan: 😉

(01:17:21) Vahan Stepanyan: bari gisher

ասք տարբեր բաների մասին

այստեղից

ու հա, ՆՅ-ում ավելի լավ զբաղմունք չեմ գտնում քան բլոգեր կարդալ:

ֆոտոներ մի սպասեք, նենց ա որ ոգեւորված չեմ

ինչքան տարբեր տեղերում լինում եմ այնքան համոզվում եմ, որ իմ համար ավելի լավ տեղ չկա քան Երեւանը:

ու տենց