Imperative and Declarative Programming
Programming Paradigms nima?
Dasturlash paradigms - bu dasturlarni loyihalash va ma'lum bir vazifani bajarish yoki har qanday muammoni hal qilish uchun ma'lum bir yondashuvdan keyin mavjud bo'lgan barcha vositalardan foydalangan holda amalga oshiriladigan usul yoki strategiya.
Bu dasturiy ta'minotni qanday loyihalash, tartibga solish va bajarish kerakligini belgilaydigan qoidalar va tamoyillar to'plami.


Imperative programming?
Imperative programming - ma'lum bir natijaga erishish uchun zarur bo'lgan aniq qadamlarni belgilash uchun kod yoziladigan dasturlash uslubi.
- Qachon qilish kerakligi va buni qanday qilish kerakligi to'g'risida dastur buyruqlarini aytasiz.
- Imperativ dasturlash tillariga misollar:
Java, C, Pascal, Python, Ruby, Fortran, PHP,Kotlin.....
func sumOfEvenNumbers(upTo n: Int) -> Int {
var sum = 0
for i in 1...n {
if i % 2 == 0 {
sum += i
}
}
return sum
}
print(sumOfEvenNumbers(upTo: 10)) // Output: 30
Declarative Programming?
Declarative programming - bu natijaga erishish uchun zarur bo'lgan qadamlarni ko'rsatmasdan, kerakli natijani tavsiflash uchun kod yoziladigan dasturlash uslubi.
Declarative dasturlash qanday hisoblashni bildirmaydi, faqat qanday natija so'ralishini bildiradi.
Boshqacha qilib aytganda, declarative kod qanday sodir bolish kerakligidan ko'ra, nima bo'lish kerakligiga e'tibor qaratadi.
SQL, Miranda, Prolog, Lisp, Many markup languages (e.g., HTML) deklarativ dasturlash misollaridir.
SELECT e.name, m.name FROM Employee e, Employee m WHERE e.Employee_id=m.Manager_id;func sumOfEvenNumbers(upTo n: Int) -> Int {
return (1...n)
.filter { $0 % 2 == 0 }
.reduce(0, +)
}
print(sumOfEvenNumbers(upTo: 10)) // Output: 30
Afzallik va Kamchiliklari
Imperative programming:
Afzalliklar
- Imperativ dasturlash ishlab chiquvchilarga o'z kodlari oqimini aniq nazorat qilish imkonini beradi.
- Tezroq va samaraliroqdir, chunki u muayyan vazifani bajarish uchun zarur bo'lgan qadamlar sonini minimallashtirishi mumkin.
Kamchiliklar
- Murakkab va o'qish qiyin bo'lishi mumkin, ayniqsa loyihalar kattalashgani va murakkablashishi bilan.
state ni aniq boshqarishni talab qiladi, bu esa ehtiyotkorlik bilan boshqarilmasa xatolarga olib kelishi mumkin.
Kodni loyihaning turli qismlarida yoki turli loyihalarda qayta ishlatish qiyinroq bo'lishi mumkin
Declarative programming:
Afzalliklar
-
Soddaroq va tushunarliroq, chunki u qanday sodir bo'lishini emas, balki nima bo'lishi kerakligini tasvirlashga qaratilgan.
-
O'qish va tushunish odatda osonroq bo'ladi, chunki u qisqaroq bo'ladi.
Kamchiliklar
-
Kamroq aniq va nozik bo'lishi mumkin, bu esa ishlab chiquvchilar o'z kodlari oqimi ustidan nazoratni cheklashi mumkin.
-
Kamroq samarali bo'lishi mumkin, chunki u muayyan vazifani bajarish uchun ko'proq qadamlarni o'z ichiga olishi mumkin.
Imperative and Declarative Programming Paradigms
By Alimardon Toshmatov
Imperative and Declarative Programming Paradigms
- 22