Կարո՞ղ եք ասել, որ հրամայական և դեկլարատիվ ծրագրավորման տարբերությունը միայն վերացականության մակարդակում է:


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

Ինչ-որ կերպ իրականում ոչ: Դա այն մասին է, թե որքան պետք է մտածեք մեքենայի մասին:

Հրամայական ծրագրի իմաստն այն է, ինչ անում է մեքենային: Բացատրության իմաստը անկախ իր ասածներից է: Դրանք կոչվում են որպես «գործառնական սեմալտ» կամ «նշանակման» իմաստաբանություն: Որպես ծրագրի օրինակ, որը գործառնական առումով պարզ է, բայց ոչինչ չի նշում, հաշվի առեք ՀԻՄՆԱԿԱՆ հետևյալ հատվածը. 10 ԳՈՏՈ 10. Ի տարբերություն դրան, պարզ է, թե ինչ է նշանակում հետևյալ տեքստը, բայց ոչ մի մեքենա մասնավորապես չի առաջացնում ամեն ինչ. «X». 7} (այն օբյեկտ է, որի X ունեցվածքը ունի 7 արժեք):

Կարող եք և պետք է հաշվի առնեք ինչպես ձեր ծրագրի գործառնական, այնպես էլ նշանակության իմաստները: Օրինակ ՝ հրամայական C- ում դուք կարող եք հասկանալ, թե որն է x + 1 -ը և ոչ թե ինչն է անում: Եվ դեկլարատիվ Haskell- ում դուք պետք է հասկանաք foldl (+) [1..10000000] - ի գործառնական պահվածքը (քանի որ երևի այլևս հիշողություն չկա):

(Համակարգչային ծրագրի իմաստը հասկանալու ավելի շատ եղանակներ կան, քան սա, ի դեպ: Դա ակտիվորեն ուսումնասիրված տարածք է:)


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

Իմաստ չունի ասել: Այն, ինչը վերացվեց դրանից, հռչակագրի սահմանման շատ կարևոր մասն է:

Հռչակագրային ծրագրավորումը սահմանում է, թե ինչ պետք է լինի և ուղղակիորեն չի անդրադառնում, թե ինչպես է դա ձեռք բերվում: Սա աջակցություն է պահանջում ժամանակի, շրջանակի և (կամ) գրադարանների կողմից: Imperative ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչպես են իրագործվում իրերը և պահանջում է լրացուցիչ աբստրակցիա ՝ «ինչպես պետք է լինեն իրերը» մակարդակին: Այս երկու մոտեցումները, ըստ էության, հակառակ են:


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

Իմաստ չունի ասել: Այն, ինչը վերացվեց դրանից, հռչակագրի սահմանման շատ կարևոր մասն է:

Հռչակագրային ծրագրավորումը սահմանում է, թե ինչ պետք է լինի և ուղղակիորեն չի անդրադառնում, թե ինչպես է դա ձեռք բերվում: Սա աջակցություն է պահանջում ժամանակի, շրջանակի և (կամ) գրադարանների կողմից: Imperative ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչպես են իրագործվում իրերը և պահանջում է լրացուցիչ աբստրակցիա ՝ «ինչպես պետք է լինեն իրերը» մակարդակին: Այս երկու մոտեցումները, ըստ էության, հակառակ են:


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

Իմաստ չունի ասել: Այն, ինչը վերացվեց դրանից, հռչակագրի սահմանման շատ կարևոր մասն է:

Հռչակագրային ծրագրավորումը սահմանում է, թե ինչ պետք է լինի և ուղղակիորեն չի անդրադառնում, թե ինչպես է դա ձեռք բերվում: Սա աջակցություն է պահանջում ժամանակի, շրջանակի և (կամ) գրադարանների կողմից: Imperative ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչպես են իրագործվում իրերը և պահանջում է լրացուցիչ աբստրակցիա ՝ «ինչպես պետք է լինեն իրերը» մակարդակին: Այս երկու մոտեցումները, ըստ էության, հակառակ են: