Мухаммад Ал-Хоразмий номидаги Тошкент Ахборот Технологиялари Университети kmp tsh2 atmega128gb

Мухаммад Ал-Хоразмий номидаги
Тошкент Ахборот Технологиялари Университети
Урганч филиали 971-18 гурух талабаси
Вапаев Рустам Руслановичнинг
УРНАТИЛГАН ТИЗИМЛАР
ФАНИДАН МУСТАКИЛ ИШИ
24.01.2022
йил.
-1-
O`rnatilgan dasturiy vositalar
va dasturlash tillari sharhi.
Kompyuterda dasturlash bu – kompyuter mikroprotsessori uchun turli
buyruqlar berish, qachon, qayerda nimani o'zgartirish va nimalarni kiritish yoki
chiqarish haqida buyruqlar berishdir. Ushbu maqolada, qanday dasturlash tillari
borligi, eng keng tarqalgan dasturlash tillari va ularning farqi. Hamda, Dasturlashni
o'rganish yo'llari haqida suhbatlashamiz Kompyuter dunyosida ko'plab dasturlash
tillari mavjud bo'lib, dasturlash va unga qiziquvchilar soni ortib bormoqda. Bir xil
turdagi ishni bajaradigan dasturlarni Basic, Pascal, Ci va boshqa tillarda yozish
mumkin. Pascal, Fortran va Kobol tillari universal tillar hisoblanadi, Ci va
Assembler tillari mashi tiliga ancha yaqin tillar bo'lib, quyi yoki o'rta darajali
tillardir. Algoritmik til inson tillariga qanchalik yaqin bo'lsa, u tilga yuqori darajali
til deyiladi. Mashina tili esa eng pastki darajali tildir. Mashina tili bu sonlardan
iboratdir, Masalan: 010110100010101 Dasturlash tillari 2 ta katta guruhlarga
bo'linadi, Quyi va Yuqori darajali dasturlash tili. Quyi darajali dasturlash tili ancha
murakkab bo'lib ular juda maxsus sohalarda ishlatiladi va ularning mutaxassislari
ham juda kam. Chunki quyi dasturlash tillari (masalan: assembler) ko'pincha
miktoprotsessorlar bilan ishlashda kerak bo'lishi mumkin. Odatda turli dasturlash
ishlari uchun yuqori darajali dasturlash tilidan keng foydalaniladi. EHM (Elektron
Hisoblash Mashinasi) endi yuzaga kelgan paytda programma tuzishda, faqat
mashina tillarida, ya'ni sonlar yordamida EHM bajarishi kerak bo'lgan amallarning
kodlarida kiritilgan. Bu holda mashina uchun tushinarli sanoq, sistemasi sifatida 2
lik, 6 lik, 8 lik sanoq sistemalari bo'lgan. Programma mazkur sanoq sistemasidagi
sonlar vositasida kiritilgan. Yuqori darajali dasturlashda, mashina tillariga
qaraganda mashinaga moslashgan (yo'naltirilgan) belgili kodlardagi tillar
hisoblanadi. Belgilar kodlashtirilgan tillarning asosiy tamoyillari shundaki, unda
mashina kodlari ularga mos belgilar bilan belgilanadi, hamda xotirani avtomatik
taqsimlash va xatolarni tashhis qilish kiritilgan. Bunday mashina moslashgan til -
ASSEMBLER tili nomini oldi. Odatda dasturlash yuqori saviyali dasturlash tillari
(Delphi, Java, C++, Python) vositasida amalga oshiriladi. Bu dasturlash tillarining
semantikasi odam tiliga yaqinligi tufayli dastur tuzish jarayoni ancha oson kechadi.
Ko'p ishlatiladigan dasturlash tillari. Biz hozir biladigan va ishlatadigan tillarning
barchasi shu guruhga mansub. Ular insonga "tushunarli" tilda yoziladi. Ingliz tilini
yaxshi biluvchilar programma kodini qiynalmasdan tushunishlari mumkin. Bu
guruhga Fortran, Algol, C, Pascal, Cobol va h.k. tillar kiradi(ko`pchiligi hozirda
deyarli qo`llanilmaydi). Eng birinchi paydo bo`lgan tillardan to hozirgi zamonaviy
tillargacha ishlatish mumkin. Lekin, hozirgi web texnologiya orqali ishlaydigan
tillarda(PHP, ASP.NET, JSP) bunday dasturlar tuzilmaydi. Chunki bunday
dasturlarning ishlashi uchun yana bir amaliy dastur ishlab turishi kerak. Hozirda,
amaliy dasturlar, asosan, Visual C++, C#, Borland Delphi, Borland C++, Java,
Phyhon kabi tillarda tuziladi. O`zbekistonda ko`pchilik Delphi dan foydalanadi.
Buning asosiy sababi: soddaligi, komponentlarning ko`pligi, interfeysining
tushunarliligi va h.k. Delphida birinchi ishlagan odam ham qanaqadir dastur tuzishi
oson kechadi. Lekin, Windows da dasturning asosiy ishlash mohiyatini ancha
keyin
biladi(komponentlarning
ko`pligi
va
API
funksiyalari
dasturda
ko`rsatilmasligi uchun). Yana bir tarafi, Delphi(Pascal) operativ xotirani tejashga
kelganda ancha oqsaydi. Unda o`zgaruvchilarni oldindan e'lon qilib qo`yish
evaziga ishlatilmaydigan o`zgaruvchilar va massivlar ham joy olib turadi. Eng
keng tarqalgan dasturlash tili(Windows OS ida) Microsoft Visual C++ tilidir.
Ko`pchilik dasturlar hozirda shu tilda tuziladi. Umuman olganda, C ga o`xshash(C-
подобный) tillar hozirda dasturlashda yetakchi. Deyarli hamma zamonaviy
tillarning asosida C yotadi. Bundan tashqari, Turli komputer o'yinlari tuzishda yoki
kichik hajmdagi dasturlar tayyorlashda LUA script yoki JavaScript tillari ham keng
ishlatilmoqda. Biz sizga xozirgi kunda keng tarqalgan desktop dasturlashda
ishlatiladigan dasturlash tillaridan bazilari haqida aytib o'tamiz: Delphi (talaff.
délfi) — dasturlash tillaridan biri. Borland firmasi tomonidan ishlab chiqarilgan.
Delphi dasturlash tili ishlatiladi va avvaldan Borland Delphi paketi tarkibiga
kiritilgan. Shu bilan bir qatorda 2003-yildan hozirgacha qoʻllanilayotgan shu
nomga ega bulgan. Object Pascal — Pascal tilidan bir qancha kengaytirishlar va
toʻldirishlar orqali kelib chiqqan boʻlib, u ob'yektga yoʻnaltirilgan dasturlash tili
hisoblanadi. Avvaldan ushbu dasturlash muhiti faqatgina Microsoft Windows
amaliyot tizimi uchun dasturlar yaratishga mo'ljallangan, keyinchalik esa
GNU/Linux hamda Kylix tizimlari uchun moslashtirildi, lekin 2002-yilgi Kylix 3
sonidan so'ng ishlab chiqarish to'xtatildi, ko'p o'tmay esa Microsoft.NET tizimini
qo'llab quvvatlashi to'g'risida e'lon qilindi. Lazarus proekti amaliyotidagi (Free
Pascal) dasturlash tili Delphi dasturlash muhitida GNU/Linux, Mac OS X va
Windows CE platformalari uchun dasturlar yaratishga imkoniyat beradi. Visual
Basic (talaffuzi: "Vijual Beysik") – Microsoft korporatsiydan dasturlash tili va
uning uchun dasturlash muhitdir. U BASICdan ko`p tushunchalar oldi va tez
rasmli interfeys bilan dasturlar taraqqiyot ta`minlaydi. Oxirgi versiya 6.0 1998
yilda reliz kelishdi. Microsoftdan voris Visual Basic .NET 2002 yilda paydo
bo`ldi. Java dasturlash tili - eng yaxshi dasturlash tillaridan biri bo'lib unda
korporativ darajadagi mahsulotlarni(dasturlarni) yaratish mumkin.Bu dasturlash tili
Oak dasturlash tili asosida paydo bo'ldi. Oak dasturlash tili 90-yillarning boshida
Sun Microsystems tomonidan platformaga(Operatsion tizimga) bog'liq bo'lmagan
holda ishlovchi yangi avlod aqlli qurilmalarini yaratishni maqsad qilib harakat
boshlagan edi. Bunga erishish uchun Sun hodimlari C++ ni ishlatishni
rejalashtirdilar, lekin ba'zi sabablarga ko'ra bu fikridan voz kechishdi.Oak
muvofaqiyatsiz chiqdi va 1995-yilda Sun uning nomini Java ga almashtirdi, va uni
WWW rivojlanishiga hizmat qilishi uchun ma'lum o'zgarishlar qilishdi. Java
Obyektga Yo'naltirilgan Dasturlash(OOP-object oriented programming) tili va u
C++ ga ancha o'xshash.Eng ko'p yo'l qo'yildigan xatolarga sabab bo'luvchi
qismalari olib tashlanib, Java dasturlash tili ancha soddalashtirildi. Java kod
yozilgan fayllar(*.java bilan nihoyalanuvchi) kompilatsiyadan keyin bayt
kod(bytecode) ga o'tadi va bu bayt kod interpretator tomonidan o'qib
yurgizdiriladi. C++ (talaffuzi: si plyus plyus) — turli maqsadlar uchun
moʻljallangan dasturlash tili. 1979-yili Bell Labsda Biyarne Stroustrup tomonidan
C dasturlash tilining imkoniyatlarini kengaytirish va OOP(object Oriented
Programming) xususiyatini kiritish maqsadida ishlab chiqarilgan. Boshida „C with
Classes" deb atalgan, 1983-yili hozirgi nom bilan yaʼni C++ deb oʻzgartirilgan.
C++ C da yozilgan dasturlarni kompilyatsiya qila oladi, ammo C kompilyatori bu
xususiyatga ega emas. C++ tili operatsiyon tizimlarga aloqador qisimlarni, klient-
server dasturlarni, EHM oʻyinlarini, kundalik ehtiyojda qoʻllaniladigan dasturlarni
va shu kabi turli maqsadlarda ishlatiladigan dasturlarni ishlab chiqarishda
qoʻllaniladi. Quyidagi jadvalda programmalash tillari haqida ma'lumotlar
keltirilgan.
Internet. Web Server. Web dasturlash vositalari (tillari) Ma`lumki, yuqori
darajadagi dasturlash tillarida yozilgan dasturlarni kompyuterga tushuntirish uchun
kompilyator degan qo'shimcha dastur kerak bo'ladi. Web dasturlashda ham huddi
shunday jarayon sodir bo'ladi. Siz internetdagi saytlarni ko'rishlik uchun
ishlatadiganingiz Brauzerlar - web dasturlash tillarining bazilarini kompilyatori
hisoblanadi. Web dasturlashda yana shunday tillar ham borki ularni brouzer
kompyuterga tarjima qilib tushuntirib bera olmaydi, lekin bunday tillar web saytni
asosini tashkil etadi. Ana shunday tillarni brouzer tushunadigan qilib berish uchun
ham Web server ga o'xshagan dasturlar (kompilyator yoki interpretatorlar) to'plami
kerak bo'ladi. Bunday dasturlar esa sayt joylashgan serverlarda turadi, qachonki
unga so'rov yuborganingizda (istalgan biror ssilkani bosganingizda, birinchi marta
saytni ochganingizda va hokazo...) shu sayt joylashgan serverdagi Web server
dasturlari sizning brauzeringizga saytni brauzer tushunmaydigan tillarda yozilgan
joylarini tarjima qilib jo'natadi. Shunday qilib klient - yani siz tomondagi web
saytni kodlarini kompyuteringizga tushuntirib beradigan tarjimon bu - Brauzer,
server tomonidagi web saytni sizning brauzeringiz tushunmaydigan joylarini unga
tarjima qilib jo'natadigan tarjimon bu Web Server hisoblanadi. Quyida web
serverni
Bu yerda Klient yani siz tomonda sizning Brauzer va u tushunadigan web
dasturlash tillari (HTML,CSS,Java Script) turgan bo'lsa, server tomonda Apache ->
Web server, PHP -> PHP tili uchun interpretator va ma`lumotlar ombori bilan
ishlash uchun vosita (bu MYSQL, Oracle va boshqalar bo'lishi mumkin) turibdi.
Bundan tashqari server tomonida yana boshqa tillar ham bo'lishi mumkin. Hullas,
siz qachonki brauzerdan kerakli sayt nomini kiritganingizda bu so'rovingiz DNS
serverdan saytga mos IP bo'yicha kerakli serverga boradi, so'rovingiz Brauzerda
kiritilgani uchun ham ko'pincha standart HTTP protokoli bo'yicha yuborilgani
uchun uni Web server kutib oladi va so'rovingizga mos papkadan index faylni
qidirib topadi. Undagi bog'lanishlardan kelib chiqib kerakli fayllarni yuklaydi, bu
fayllarni kengaytmasiga qaraydi, agar kengaytmasi .html bo'lsa uni shundoq, aks
holda masalan .php bo'lsa PHP serverdagi interpretator orqali brauzer tushunadigan
tilga tarjima qildiradi(shuni ichida ma`lumotlar bazasidan ham kerakli ma`lumotlar
yuklab olinadi) va natijani sizni brauzeringizga jo'natadi. PHP dasturlash tili
yordamida sayt yaratish uchun avvalo o'z shaxsiy komputeringizda Virtual server
o'rnatishingiz lozim. Masalan Denwer, yoki XAMPP yoki WAMPP Brauzeringiz
o'zi tushunadigan tilda kelgan sayt kodlarini natijasini ekraningizda sizga ko'rsatib
beradi va siz tayyor saytni ko'rasiz. Demak, agar web dasturlash bilan
shug'ullanaman
deydigan
bo'lsangiz,
minimum:
HTML,CSS,JavaScript,PHP,MySQL larni bilishingiz kerak ekan. Bunda HTML->
Sayt karkasini yasaydi, CSS- saytni pardozini(dizaynini) amalga oshiradi,
Javascript - saytni dinamikasi(haraktlarini) ta`minlaydi, PHP - saytni mantiqiy
amallarini bajaradi(masalan siz login bo'lganmisiz, yoki yo'qmi, login bo'lgan
bo'lsangiz sizda nimalar chiqadi, aks xolda nimalar...), MySQL - PHP bilan
hamkorlikda saytga ma`lumotlar bazasidan ma`lumotlarni o'qib olish, yozish,
o'zgartirish uchun xizmat qiladi. Programmani yaratish jarayonidagi uning nomlari
Beta versiya - bu versiya programmani ommaga havola qilinib, ularning fikri
bo`yicha programmaga turli o`zgartirishlar kiritiluvchi versiyasi. Programmaning
bu versiyasi, odatda, tekin bo`lib, ko`pchilik hukmiga havola etiladi.
Programmaning
bu
versiyasi
orqali
sizga
yetkazilgan
ziyon
qoplanmaydi(fayllaringizning o`chib ketishi, OS ning buzilishi va h.k.). Hozirda
ko`pchilik firmalar o`z mahsulotlarini Beta versiyasini chiqarib, o`z mahsulotlarini
takomillashtirib bormoqdalar. Bundan, programma ishlab chiqarish bo`yicha
yetakchi bo`lgan Microsoft korporatsiyasi ham mustasno emas(Windows Vista,
Office 2007, Exchange Server 2007, Internet Explorer 7 va h.k.). Release
Candidate(versiya nomzodi) - bu versiyaning nomidan ma'lumki, u haqiqiy,
sotuvga chiqariladigan versiyaga kandidat(nomzod)dir. Bu kabi versiyalar
qisqacha RC deb ataladi. Shu turdagi versiyalar esa, RC1, RC2 kabi nomlanadi.
Ko`pchilik RC versiyalar sotuvga chiqariladi, chunki bu versiya o`zida ma'lum bir
imkoniyatlarni jamlagan bo`ladi va bu versiya orqali yetkazilgan zarar
programmani yaratgan firma tomonidan qoplanadi. Final Release(so`nggi versiya)
- programmani yaratishda qo`yilgan maqsadni "to`liq" amalga oshiruvchi versiya.
Bu versiyani "alfa" versiya deb ham atashadi. Bu versiya o`z bahosida sotiladi,
unga ko`rsatiluvchi xizmatlarning barchasi programma yaratuvchisi tomonidan
ko`rsatiladi. Build XXXX(XXXX - qurish) - bu, odatda, versiya hisoblanmaydi.
XXXX
ning
o`rnida
biror
son
keladi.
Bu
son
programmaning
kompilyatsiya(programmalash tilidan haqiqiy bajariluvchi kodga o`tkazish) sonini
bildiradi. Programma yadrosi(qo`shimchalarsiz, asosiy qism)ga nisbatan yuritiladi.
Masalan, Windows Vista Beta 2 Build 5308 - Windows Vistaning Beta 2 versiyasi
turkumida
5308-kompilyatsiya(OSga
nisbatan
"kompilyatsiya"ni
ishlatish
noo`rinroq:)). Update(yangilash) - programmaning biror teshigini(biror kichik
xato, kamchiligi) tuzatuvchi kichik yordamchi programma. Bu yordamchi
programmaning hajmi, odatda, kichik bo`lib, faqat o`sha kamchilikni
tuzatishgagina xizmat qiladi. Ya'ni bu programmacha biror *.dll faylni yoki
programmaishlatuvchi funksiyalardan birortasini "tuzatib" qo`yadi, xolos. Bunday
Update("qarz")lar har doim tekin bo`ladi. Service Pack(xizmat paketi) - o`zida bir
qancha Update lar bajaruvchi amallarni saqlovchi paket. Uning qisqacha nomi SP.
Programmaning haqiqiy versiyasi yoki avvalgi SP dan shu paytgacha bo`lgan
xatoliklarni birdaniga tuzatuvchi programma. Ya'ni, u bir qancha Update lar ishini
o`zi bajaradi. Masalan, Windows XP chiqqanidan so`ng, taxminan bir yildan keyin
SP1 chiqdi. Bundan kelib chiqadiki, Windows XP SP1 bir yil davomidagi
xatoliklarni tuzatuvchi paket hisoblanadi. SP ham programma ishlab chiqaruvchi
firmaning xatolari tufayli kelib chiqqan xatolarni tuzatgani uchun tekin bo`ladi.
Trial(yoki demo)-versiya(vaqtinchalik) - bu versiya, programma sotuvga
chiqarilgandan so`ng tekin tarqatila boshlaydi. Bu versiyaning asosiy maqsadi
foydalanuvchilarni ushbu programmani sotib olishga jalb qilish va ularni
programma bilan tanishtirish. Trial versiyalar, odatda, ikki xil bo`ladi: a) vaqt
bo`yicha chegalangan; b) imkoniyatlar bo`yicha. Vaqt bo`yicha chegaralangan
versiya ma'lum muddat, masalan, 30 kun ishlaydi va shundan so`ng boshqa ishga
tushmaydi. Bu holatda siz programmani sotib olishingiz kerak. Odatda, vaqt
bo`yicha trial-versiyalar programmaning hamma imkoniyatlarini o`zida saqlaydi.
Imkoniyatlar bo`yicha versiya esa programmaning sotib olingan versiyasining
nechadir foiz imkoniyatlarini o`zida saqlaydi yoki ma'lum cheklanishlar qo`yilgan
bo`ladi. Bu versiyaning ishlash muddati chegaralanmaydi. Yuqo`ridagi ikki
holatdan tashqari yana bir holat bor. Bunda programmaning hamma imkoniyati
saqlanadi, muddat ham berilmaydi, faqat foydalanuvchiga programmani sotib olish
haqida eslatib turiladi. Bu esa ko`pchilikning jig`iga tegishi mumkin. Ko`pchilikka
ma'lum Total Commander programmasi shu kabi programmadan biri, u har ishga
tushganida 1, 2, 3 deb nomlangan knopkalardan birini bosishingizni talab qiladi.
Dasturlashni o'rganishni nimadan boshlash kerak? Eng avvalo insonda kuchli
qiziqish bo'lishi kerak. Lekin bu hammasi emas. Dasturchi bo'lish uchun
matematika yoki geometriya fanlarini ham yaxshi o'qigan bo'lishingiz kerak deb
o'ylaymiz. Aslida dasturlash uchun matematika yoki geometriya unchalik
ishlatilmasligi mumkin. Aytmoqchimizki aniq fanlarni yaxhsi tushunaolgan inson
dasturchi bo'lishi ham oson bo'ladi. Agar dasturchi bo'lishga qaror qilgan
bo'lsangiz, Dastlab eng sodda tildan boshlash kerak 1-navbat HTML tilini
o'rganasiz. 2-navbat CSS va Javascript asoslarini o'rganasiz. 3-navbat Delphi yoki
Java asoslarini o'rganasiz. Yana Mobile telefonlar (Android, iOS) uchun dastur
tuzish usullari bilan qiziqib ko'rasiz Endi oldingizda 3 ta katta yo'l chiqadi. Siz esa
shu yo'lning biridan yurishingiz kerak. 1-yo'l. Web App yoki web dasturlash
yo'nalishi. asosan internet bilan ishlaydigan dasturlar yaratish 2-yo'l Win, Linux
App ya'ni Faqat Komputer uchun dasturlar tuzish 3-yo'l Mobile dasturlash ya'ni
Hozirda ommabop Android, iOS (Iphone) uchun dasturlar tuzish Agar 3 ta yo'lni
ham o'rganaman desangiz katta natijaga erishish qiyin. Chunki ularning har biri
katta bir olam misolidir.
|