Siz imperativ va deklarativ dasturlash o'rtasidagi farq faqat mavhumlik darajasida deb ayta olasizmi?


javob bering 1:

Qanday bo'lmasin unday emas. Bu mashina haqida qancha o'ylashingiz kerakligi bilan bog'liq.

Imperativ dasturning ma'nosi bu mashinaga nima qilishidir. Tushuntirishning ma'nosi nima deyilganiga bog'liq emas. Bular "operatsion semantika" yoki "denotatsion" semantika deb nomlanadi. Amaliy ravshan, ammo hech narsani aniqlamagan dasturning misoli sifatida BASIC ning quyidagi parchasini ko'rib chiqing: 10 GOTO 10. Undan farqli o'laroq, quyidagi matn nimani anglatishini aniq, ammo hech qanday mashina hamma narsani, xususan, keltirib chiqarmaydi: { "X": 7} (bu X xossasi 7 qiymatga ega bo'lgan ob'ekt).

Siz o'zingizning dasturingizning ham operatsion, ham ma'naviy ma'nolarini hisobga olishingiz mumkin va kerak. Masalan, S imperativasida siz x + 1 nima ekanligini va nima qilayotganini tushunishingiz mumkin. Va deklarativ Haskellda siz (+) [1..10000000] operatsion xatti-harakatlarini tushunishingiz kerak (chunki endi boshqa xotira yo'q).

(Bundan tashqari, kompyuter dasturining ma'nosini tushunish uchun ko'proq usullar mavjud. Aytgancha, bu faol o'rganiladigan joy.)


javob bering 2:

Aytishning ma'nosi yo'q. Xayoldan chiqarilgan narsa deklarativ ta'rifning juda muhim qismidir.

Deklarativ dasturlash nima bo'lishi kerakligini belgilaydi va bunga qanday erishish mumkinligini to'g'ridan-to'g'ri ko'rsatmaydi. Buning uchun ish vaqti, ramka va / yoki kutubxonalar yordami kerak. Imperativ dasturlash, narsalar qanday amalga oshirilishiga qaratilgan va "narsalar qanday bo'lishi kerak" darajasiga erishish uchun qo'shimcha mavhumlikni talab qiladi. Bu ikki yondoshuv umuman qarama-qarshi.


javob bering 3:

Aytishning ma'nosi yo'q. Xayoldan chiqarilgan narsa deklarativ ta'rifning juda muhim qismidir.

Deklarativ dasturlash nima bo'lishi kerakligini belgilaydi va bunga qanday erishish mumkinligini to'g'ridan-to'g'ri ko'rsatmaydi. Buning uchun ish vaqti, ramka va / yoki kutubxonalar yordami kerak. Imperativ dasturlash, narsalar qanday amalga oshirilishiga qaratilgan va "narsalar qanday bo'lishi kerak" darajasiga erishish uchun qo'shimcha mavhumlikni talab qiladi. Bu ikki yondoshuv umuman qarama-qarshi.


javob bering 4:

Aytishning ma'nosi yo'q. Xayoldan chiqarilgan narsa deklarativ ta'rifning juda muhim qismidir.

Deklarativ dasturlash nima bo'lishi kerakligini belgilaydi va bunga qanday erishish mumkinligini to'g'ridan-to'g'ri ko'rsatmaydi. Buning uchun ish vaqti, ramka va / yoki kutubxonalar yordami kerak. Imperativ dasturlash, narsalar qanday amalga oshirilishiga qaratilgan va "narsalar qanday bo'lishi kerak" darajasiga erishish uchun qo'shimcha mavhumlikni talab qiladi. Bu ikki yondoshuv umuman qarama-qarshi.