Ո՞րն է տարբերությունը օբյեկտի վրա հիմնված լեզվով և գրավոր լեզվով:


պատասխանել 1:

Օբեկտիվ ուղղվածություն ունեցող լեզուն գործարքներ է ստեղծում մուտքի բազմաթիվ կետերի (օբյեկտի) հետ և օգտագործում է հաղորդագրությունները դրանց միջև հաղորդակցվելու համար: Սա կարելի է համեմատել հրամայական լեզուների, որոնք ուսումնական ցուցակներ կամ գործառութային լեզուներ են, որոնք փակման կետեր են ստեղծում մեկ մուտքի կետով և հաղորդակցվում են միմյանց զանգահարելով:

Գրությունների լեզուները սովորաբար մեկնաբանվում են գործարկման ժամանակ և նախօրոք չեն կազմվում: Հնարավոր է, որ թարգմանիչ իրականացնելը ավելի հեշտ է, քան կազմողը, չնայած այդ բացը փակվել է, հատկապես LLVM- ի նման տեխնոլոգիաների դեպքում: Գրությունների լեզուները գալիս են բոլոր ձևերով և չափերով: Հիմնականում OO- ն սիրում են Ռուբին և Փիթոնը, հիմնականում գործում են որպես որոշ սխեմաներ կամ հիմնականում մեկնաբանվում են որպես BASIC:


պատասխանել 2:

Հասկանալու համար, որ նախ պետք է սահմանեք «գրությունների լեզու» տերմինը, սա այնքան էլ հեշտ չէ, որքան թվում է:

Այսօր կան երկու սահմանումներ, որոնք ամենատարածվածն են: Դրանցից մեկը, կարծես, բնօրինակն է. Գրությունների լեզուն գրություններ գրելու լեզուն է: Ինչ է սցենարը: Դե, գոնե այն պետք է լինի կոդերի ֆայլ, և այն կարող է գործարկել: Եթե ​​այժմ նայում եք այն լեզուներին, որոնք սովորաբար օգտագործվում են սցենարներ գրելու համար (օրինակ, shell սցենարներ), կտեսնեք, որ այս լեզուներով ֆայլը կարող է պարունակել ուղղակիորեն կատարվող ծածկագիր:

Եթե ​​կազմեք C # առցանց և դիտեք ստանդարտ բաշի ծածկագիրը (գործարկեք bash առցանց) և համեմատեք այն ստանդարտ C # կոդի հետ (կազմեք C # առցանց), կտեսնեք, թե ինչ նկատի ունեմ: C #- ում դուք պետք է ստատիկ մեթոդով սահմանեք օբյեկտ: Այս մեթոդը կոչվում է, երբ ծրագիրը սկսվում է: Սցենարներ գրելու համար նախատեսված լեզվով սովորաբար կարող եք սկսել գրել այն գործառույթի բովանդակությունը, որը ցանկանում եք գործարկել, երբ սցենարը գործարկվում է:

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

Ավելի ուշ, այս տիպի ծածկագիրը հայտնվեց հիմնականում այնպիսի իրավիճակներում, ինչպիսիք են վեբ էջը `կցված գրությամբ կամ խաղերում, որտեղ օբյեկտները կարող են կցել սցենարներ: Նույնիսկ այս իրավիճակներում, այս առաջին սցենարները պարզապես կոդերի բլոկ էին, որոնք պահվում էին նշված վայրում: Իհարկե, ծրագրավորողները ցանկանում էին ժամանակի ընթացքում ավելի շատ գործառույթներ ունենալ, ինչը թույլ էր տալիս նրանց կառուցել այդ կոդերի այդ բլոկները: Եթե ​​այսօր նայում եք խաղային շարժիչները, սովորաբար կգտնեք «գրություններ», որոնք գրված են ամբողջովին օբյեկտիվորեն ուղղված լեզուներով: Այս լեզուները ընդհանուր են, որ դրանք հյուրընկալվում են շարժիչի, զննարկչի կամ այլնի նման: Քանի որ ծածկագիրն արդեն առանձնացված է հետին պլանում (շարժիչով / դիտարկիչով) և «սցենարի» առջևի կոդով, ապա իմաստ չունի կատարելագործել առջևի ծածկագիրը կատարման համար: Փոխարենը, զարգացման դյուրինությունն ու արագությունն ավելի կարևոր են: Այդ իսկ պատճառով, այդ լեզուները սովորաբար մեկնաբանվում են (կազմելու համար անհրաժեշտ ժամանակը նվազեցնելու համար) և դինամիկ մուտքագրվում են (ծածկագիրը գրելն արագացնելու համար):

Երկարակյաց պատմություն. Սկրիպտավորման լեզուն ավանդաբար պրոցեդուրալ լեզու է, այսինքն `լեզու, որը տվյալների մեծ մասը դնում է համաշխարհային տարածքում և պարտադիր չէ, որ տվյալների փոքր տարածքները բաժանելու հնարավորություն ունենա: Մյուս կողմից, օբյեկտի կողմնորոշումը վերաբերում է կիրառման տվյալների փոքր հատվածներին բաժանելուն, որպեսզի ծածկագիրն ավելի մոդուլային դառնա:

Կախված նրանից, թե ում հետ եք խոսում, «գրությունների լեզու» տերմինը կարող է վերաբերել նաև հյուրընկալված լեզվին, որը սովորաբար մեկնաբանվում և մուտքագրվում է դինամիկ: Սրանք հասկացություններ են, որոնք ուղղանկյուն են օբյեկտիվ կողմնորոշման համար:


պատասխանել 3:

Հարցը իմաստ չունի: Լեզուն կարող է լինել ինչպես առարկայական, այնպես էլ գրավոր լեզու: Երկուսի միջև համեմատության համար հիմք չկա:

Գրությունների լեզուն սովորաբար դինամիկ տպագրվող, մեկնաբանվող լեզու է, որն օգտագործվում է որպես տարբեր բաղադրիչներ կապելու մի տեսակ «կպչուն լեզու»:

Օբեկտիվ կողմնորոշված ​​լեզուն «օբյեկտները» դարձնում է ծրագրի կոդերի կազմակերպման հիմնական եղանակը: Օբեկտների վրա հիմնված ծրագրավորումը պարադիգմ կամ ծրագրավորման ոճ է: Կարդացեք պարզ բացատրություն OOP- ից:

Կարդացեք նաև Ռիչարդ Քենեթ Էնգի պատասխանը ՝ Ինչու է OOP- ը (Օբեկտիվ ուղղվածություն ունեցող ծրագրավորում) `համակարգչային ծրագրերի մեծ մասի ստանդարտ պարադիգմ: