Programmalashdagi texnologiyalar va tillar haqida  ( 26872 marta o'qilgan) Chop etish

1 B


MaxCmd  16 Avgust 2006, 13:09:19

Assalomu alaykum!

Bu mavzuda sizga programma tuzishda qo`llaniluvchi texnologiyalar, programmalash tillarining xususiyatlari va boshqa yangiliklar berib boriladi.

Hurmat bilan MaxCmd.

Qayd etilgan


MaxCmd  17 Avgust 2006, 15:22:24

Programmani yaratish jarayonidagi uning nomlari

Assalomu alaykum!
Biror programmani yaratishda, albatta, uning yaratilish jarayoni pog`onalari bo`ladi. Hozir men sizlarga o`sha pog`onalar haqida ma'lumot beraman.

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.

Qayd etilgan


MaxCmd  27 Sentyabr 2006, 09:03:32

Programmalash tillarining darajalari

Programmalash tillarining uchta darajasi mavjud. Bu - yillar davomida programmalash tillarining rivojlanishi, takomillashishi mobaynida vujudga kelgan.

1. Quyi darajali;
2. O`rta darajali;
3. Yuqori darajali;


      Quyi darajali programmalash tili faqat kodlar bilan yoziladigan tildir(til deyishga unchalik ham to`gri kelmaydi). bunda to`g`ridan to`g`ri bajariluvchi kod yoziladi. Bu usul hozir umuman ishlatilmaydi. Birinchi avlod EHMlariga programmalar shunday yo`lbilan perfokartalar orqali kiritilgan. Butun boshli programma faqat 0 va 1 raqamlaridan iborat bo`lgan. Ya'ni sizning programmangiz quyidagicha bo`lishi mumkin edi: 111001111010101111010101010100010101111101101011110101.  :)

     O`rta darajali programmalash tillari. Bu mnemokodlar yordamida yoziladigan til(mnemokod - qisqartirilgan so`zlardan iborat buyruq). Programmistlar ishini osonlashtirish uchun yaratilgan bu til Assembler deb nom oldi. Insonga sal tushunarliroq bo`lganligi uchun bu til yangi darajada qabul qilindi. Bu tilda, protsessorning har bir buyrug`iga mos mnemokodlar ishlatiladi. Ya'ni 11110010100 kabi buyruq o`rniga MOV A, B kabi yoziladi. Bu til hozir ham tizim programmistlari tomonidan keng ko`lamda ishlatiladi. bu tilda yozilgan programma o`zining ixchamligi, tez ishlashi bilan ajralib turadi.

     Yuqori darajali programmalash 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).

Esda tuting!
Keyingi ikki tilda tuzilgan programmalar ham har doim birinchi ko`rinishga(obyekt kodi) keltiriladi.

Qayd etilgan


MaxCmd  20 Oktyabr 2006, 11:46:11

Assalomu alaykum!

Ushbu darsda Amaliy dasturlash haqida ma'lumot beraman.

Bu yo`nalish, odamzod kompyuterni yaratishdagi eng avval paydo bo`lgan xohishi natijasidir. Chunki, hisoblash jarayonlarini avtomatlashtirish, odamlar uchun turli qulayliklar yaratadigan dasturlar ishlab chiqish eng asosiy vazifa bo`lgan. Ko`pchilik amaliy dasturlash deganda, lokal(joriy kompyuterning o`zida) ishlaydigan oddiy programmani tushunadi. Aslida ham shunga yaqinroq. Keyinroq paydo bo`lgan Web dasturlarini amalga oshirib beradigan dasturlar ham shu dasturlar orqali ishlaydi. Lekin tarmoqda ishlash uchun mo`ljallangan dasturlar ham amaliy dasturlashning bir bo`limi bo`ladi.

Dasturlash tillari:

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 kabi tillarda tuziladi. O`zbekistonda ko`pchilik Delphi dan foydalanadi. Buning asosiy sababi, til(Pascal tili) jihatdan 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.

Hozircha shu. Savollar yoki mulohazalar bo`lsa, bajonidil maslahatlashamiz.

Qayd etilgan


MaxCmd  15 Noyabr 2006, 08:08:17

Web programmalash

Ushbu xabarda men sizlarga Web programmalash haqida o`zim bilgan qisqacha ma'lumotni berib o`taman.
Web programmalashning asosida, HTML kodni generatsiya qilish yotadi. Bu generatsiyani biror til yoki skriptda amalga oshirsa bo`ladi. Aynan HTML kodini yozib web sahifa yaratish esa, Web programmalashga kirmaydi.
Bu yo`nalishning asosi haqida to`xtalib o`tsak. Masalan, sizda HTML sahifalardan iborat bo`lgan sayt mavjud. Bu saytni har kuni yangiliklar, turli mavzudagi darslar va h.k.lar bilan to`ldirib borish zarur bo`lsin. Agar siz uni "qo`lda" qilsangiz, har safar yangi ma'lumot kelganda, siz HTML fayllaringizni ochib, ularning ichiga ma'lumotni qo`shib chiqasiz. Bu ham mayli, agar biror ma'lumotga har bitta sahifada ssilka(masalan, so`nggi yangiliklar sifatida hamma sahifada 3 ta yoki 4 ta ssilka aks etib turadigan) bo`lsachi? 20-30 ta HTML sahifadagi ssilkalarni yangilab chiqishning o`zi azob. Shu kabi ishlarni Web programmalash o`z zimmasiga oladi.
Web programmalash, odatda, ikki xil bo`ladi:
  • Serverda bajariluvchi(Server side)
  • Kliyentda bajariluvchi(Client side)
- Serverda bajariluvchi xilning ishlashi quyidagicha: sizning brouzeringiz kerak bo`lgan saytdagi biror faylga murojaat qiladi: http://forum.ziyouz.com/index.php. Ya'ni, ziyouz.com saytida joylashgan forum.ziyouz.com domen ostida index.php fayliga murojaat boshlandi. Biz murojaat qilayotgan kompyuterda Web Server shu ma'lumotlarni oladi. Web Server deyishimga sabab, biz port ni yozmasdan murojaatni amalga oshirsak, avtomatik 80 (HTTP - aynan Web Server porti) ga murojaat qiladi. Web Server(Apache, IIS - Internet Information Services) index.php ni oladi va o`zida o`rnatilgan fayl kengaytmalari bo`yicha shu turdagi skriptni ishlatadigan programmani topadi(bizning holatimizda index.php - php.exe). Shu programmaga index.php ni ishlatishni topshiradi va javob kutadi. Javob esa HTML ko`rinishida qaytib keladi. Web Server shu HTML kodni sizning brouzeringizga qaytaradi. Qisqacha ishlash prinsipi shu. Qolganlari haqida, aynan tillar va serverlar haqidagi xabarda ma'lumot beraman.
- Kliyentda bajariluvchi xil esa, sahifa yuklangandan so`ng, sizning brouzeringiz tomonidan ishlatiladi. JavaScript, VBScript, JScript tillari shu xilga kiradi. Bu xildagi programmalar tuzishning asosida foydalanuvchiga qo`shimcha imkoniyatlar yaratish, dizayn, interfeysni qulaylashtirish va AJAX texnologiyasi yotadi. Bunda skriptlar brouzer tomonidan ishlatilishi uchun programma tuzishda brouzerlarning turlarini ham e'tiborga olish kerak. Chunki, brouzerlarning JavaScript versiyalari bir-biridan farq qiladi. Bunda, asosan, populyar brouzerlarni: Internet Explorer, Mozilla Firefox va Opera ni e'tiborga olish yetarli.

Hozircha shu. Qolganlarini keyinroq gaplashamiz. ;)

Qayd etilgan


MaxCmd  21 Mart 2008, 22:02:38

Zamonaviy programmalash tillarining asosiy(umumiy) farqlari

Ancha tanaffusdan so`ng davom etamiz. Ko`pchilikdan bu borada kechirim so`rayman.
Ushbu postda kompilyatsiya va interpretatsiya qilinuvchi tillarning farqini keltirib o`taman.

Kompilyatsiya bo`luvchi - programma kodi mashina kodiga o`tkaziladi, ya'ni, operatsion sistema programmani ishlatishi uchun kompilyatorning o`zi kerak bo`lmaydi.
Masalan: siz Pascal tilida programma tuzasiz, u oddiy harflar, so`zlardan iborat matn bo`ladi. Kompilyator (u ham programma bo`ladi, masalan, Borland Pascal kompilyatori) programma kodini olib, undagi xatoliklarni tekshiradi, agar xatolar topilmasa, uni mashina kodiga, ya'ni operatsion sistema "tushunadigan" "til" ga aylantiradi. Natijada bizda *.exe fayl hosil bo`ladi. Mashina kodi deyilishiga sabab, u protsessorning buyruqlari bilan deyarli ekvivalent bo`ladi. Ushbu faylni boshqa kompyuterda bemalol ishlataverasiz; Borland Pascal kompilyatori bunda kerak bo`lmaydi.
Kompilyatsiya qilinuvchi tillarga, asosan, Assembler, C, C++, Pascal, Delphi, Basic va h.k. tillar kiradi. Eslatib o`taman, 90-yillardan avvalgi tillarning deyarli hammasi kompilyatsiya qilinuvchi tillardir. Kompilyatsiya qilinuvchi tillarning boshqacharoq ko`rinishi sifatida Java programmalash tilini misol keltirish mumkin, lekin bu boshqa mavzuda bayon qilinadi.

Interpretatsiya qilinuvchi tillarning ishlash prinsipi quyidagicha:
programma kodi yozilgandan so`ng, uni ishlatish uchun, albatta, interpretator dan foydalaniladi. Interpretator - shu tilda yozilgan kodni ishlatib beruvchi programma. Masalan: siz PHP dasturlash tilida kod yozdingiz. Uni index.php fayliga saqladingiz. Ushbu programmani ishlatish uchun siz php.exe(interpretator) programmasiga index.php faylni parametr sifatida berib yuborishingiz kerak. Ya'ni, siz Command Promt(Команднас строка - cmd.exe) da ushbu buyruqni bajarishingiz kerak:
php.exe index.php
Natijada, php.exe index.php nomli faylni olib, uning ichidagi buyruqlarni bajaradi. Shuning uchun, interpretatsiya qilinuvchi tilda yozilgan kodni ishlatish uchun har doim interpretatorga ega bo`lishingiz kerak.
Interpretatsiya qilinuvchi tillar: PHP, Python, Ruby, Perl va h.k.

Endi, yuqorida aytib o`tilgan holatlarning farqlari haqida to`xtalsam.
Kompilyatsiya qilinuvchi tillarda tuzilgan programmalar qo`shimcha programma talab qilmaydi va nisbatan tez ishlaydi. Ammo, bir operatsion sistemadan boshqasida ishlatish uchun kodni tubdan o`zgartirib, boshqatdan kompilyatsiya qilish kerak. Bundan tashqari, viruslar deganday...

Interpretatsiya qilinuvchi til uchun esa, doim interpretator kerak. Ammo, kodni boshqa operatsion sistema uchun o`zgartirish shart emas(ba'zi bir istisnolar mavjud). Chunki, sizni kodingiz matnligicha qoladi. Boshqa operatsion sistemada ishlovchi interpretator mavjud bo`lsa kifoya. Shuning uchun, PHP, Python va h.k. tillar deyarli hamma OS lar uchun mavjud va tuzgan programmangiz boshqa OS larda muammosiz ishlayveradi.

Ko`pchilik IDE(Integrated development environment - Programma tuzish muhiti; Borland Delphi, MS Visual Studio, Zend Studio, Eclipse) va kompilyator(yoki interpretator) ni chalg`itishadi. Aslida, ikkalasi boshqa narsalar. Kompilyatsiya qilinuvchi tillarning ko`pchiligida IDE va kompilyator birlashtirilgan, ya'ni IDE ning o`zi kompilyatsiya qilaveradi. Interpretatsiya qilinuvchi tillar uchun esa, IDE faqat sintaksis va h.k.larni to`g`ri yozish, qulaylik, debug* qilish uchun kerak bo`ladi. Kompilyatsiya qilinuvchi tillar uchun esa, bulardan tashqari, kompilyator va h.k. lar ham qo`shimcha bo`ladi.

Umuman olganda, qo`limdan kelgancha harakat qildim. Agar xatolar ketgan bo`lsa, uzr.
Hurmat bilan.

* - agar interpretator bilan IDE bog`lansa.

Qayd etilgan


levdeo  30 Aprel 2013, 16:42:48

Kompilyatsiya  vs Interpretatsiya toliq yoritilmagan...

Qayd etilgan