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.Бугунги кунда кампъютер оламида “иссиқ мавзу” сифатида Интернет ва World Wide Web (“Дунё ўргамчак тўри”) ташкил этади. Интернет билан ишлашни яхшилаш учун янги праграммалаштирувчи тил пойдо бўлиши лозим бўлади. Java шундай тиллардан хисобланади. Бу дарс сизни Java оламига олиб киради, хозирги кампъютер индустриясидаги янги дастурлаш тилига. Тармоқдаги праграммалаштиришнинг имкониятларини ва яна Java (JDK) ишлаб чиқарувчи компилектини нусхасини Sun Microsystems (Java ни ишлаб чиқарган фирма) фирмаси томонидан юклаб олишини ўрганасиз. Бу ишлаб чиқарувчи комплекти Java да дастур тузишингиз учун ҳамма қўлайликларни беради. Бу дастурни ўрганганингиздан кейин қўйидаги асосий калит консепцияларни билишингиз керак бўлади:
Java - бу дастурлаш тилдир, қайсини дастурчиларни автаном дастур ва бровзер билан ишловчи апплетларни тузиш мумкин.Апплетлар кампьютер турига қарамайди, бу шуни кўрсатадики бир апплет ҳар хил турдаги Windows95, Macintosh ёки UNIX тизимларида бир хилда ишлайди.
Java Obyektga Yo’naltirilgan Dasturlash Tili sifatida juda ko’p imkoniyatlarga ega. Javaning bu kabi xususiyatlari C++ dasturlash tilidan kelib chiqqan bo’lib, unda C++ dasturlash tilida uchraydigan va eng ko’p xatoliklarga sabab bo’ladigan jihatlar olib tashlanib birmuncha soddalashtirilgan.Java dasturlash tilida dastur yaratish bilan shug’ullanuvchilar uchun yaratilgan ECLIPSE dasturlash muhiti RAD texnologiyalar sirasiga kirib, u ilova dasturlar yaratuvchilari uchun beminnat yordamchidir.
ECLIPSE dasturlash muhiti ham huddi C++ BUILDER muhiti kabi dasturchi uchun juda qulay interfeysga ega. Unda ishlash uchun sizda Javada konsol rejimida ishlash malakasi bo’lishi yetarli. Boshlanishiga albatta! Agar sizda matematik tafakkur, manitiqiy fikrlay olish qobiliyati kuchli bo’lsa va tasavvuringiz boy bo’lsa va eng asosiysi g’oya mavjud bo’lsa bu nur ustiga a’lo nur. Deylik, siz oddiygina ilova dastur yaratmoqchisiz. Buning uchun siz ECLIPSEni ishga tushirasiz. Bu muhitda siz tayyor apletdan foydalanasiz ( aplet – C++ Builder muhitidagi Formaga ekvivalent bo’lgan tayyor shablondir ). Sizdan kerakli Buttonlarni, panel va turli komponentalarni zaruriy tartibda joylashtirib chiqish va ular bajaradigan amallarga mos ravishda komandalarni yozib chiqish talab etiladi, xolos.
Quyida ayni bir xil misollarning C++ va Java dasturlash tillarida tuzilgan dasturini ko’rib chiqish orqali ushbu tahlil qilayotganimiz ikki tilning bir – biridan o’zaro farqi, bir-biridan afzallik va zaiflik tomonlari bilan qisqacha tanishish imkoniyatiga ega bo’lamiz:
N soni berilgan. 1 dan N gacha bo’lgan sonlar yig’indisini hisoblovchi dastur tuzilsin.
using namespace std;
int summa_n ( int n )
{
int i, s = 0;
for ( i=1; i<=n; i++ )
s += i;
return s;
}
int main ( )
{
int n;
cout << “N sonini kiriting: \n”;
cin >> n;
cout << n << “ gacha bo’lgan sonlar yig’indisi “;
cout << summa_n ( n ) << “ ga teng”;
return 0;
}
Javada:
package com.example.summa;
import java.io.InputStream;
import java.util.Scanner;
public class summa {
public static void main(String[] args) {
int n,s=0;
Scanner k=new Scanner(System.in);
n=k.nextInt();
for(int i=1;i<=n;i++){
s+=i;
}
System.out.println(s);
}
}
Xulosa
Agar “operatsion sistema” (OC) tushunchasini qisqacha izohlasak, bu boshqaruv dasturidir. OC bu – kompyuterning fizik va dasturiy resurslarini taqsimlash va ularni boshqarish uchun ishlatiladigan dastur
Kompyuter resurslari ikki xil: fizik va dasturiy resurslarga bo’linadi
. Fizik resurslar bu
-Xotira
-Vinchester;
Monitor;
-Tashqi qurilmalar va shu kabilar.
Dasturiy resurslar bu:
- Kiritish va chiqarishni boshqaruvchi dasturlar;
- Kompyuter ishlashini ta’minlaydigan boshqaruvchi dasturlar;
- Berilganlarni tahlil qiluvchi dasturlar;
- Driverlar;
- Vertual ichki va tashqi xotirani tashkil qiluvchi va boshqaruvchi dasturlar va shu kabilardir.
Dasturlash sistemasi – dasturlash tillari va ularga mos til protsessorlari majmuasidan iborat bo’lib, dasturlarga ishlov berish va so’zlashni ta’minlovchi dasturlar to’plamidan iborat. Dasturlash sistemasining tashkil qiluvchilar (dasturlar) amaliy dasturlar to’plami singari OC boshqaruvi ostida ishlaydi. Kompyuter resurslari OC boshqaruvi ostida bo’ladi. OC ga ehtiyoj resurslar taqsimoti va ularni boshqarish masalasi zaruriyatidan kelib chiqadi. Resurslarni boshqarishdan maqsad foydalanuvchiga kompyuterdan effektiv foydalanish bilan birga resurslarni boshqarish tashvishidan ozod qilishdir.
OC lardan quyidagi hususiyatlarga ega bo’lishi talab qilinadi:
1. Ishonchlilik. OC o’zi ishlayotgan qurilmalar bilan birga ishonchli bo’lishi kerak. OC foydalanuvchining aybi bilan vujudga kelgan xatoni aniqlashi, uni tahlil qilishi va tiklash imkoniyatiga ega bo’lishi kerak. OC foydalanuvchining o’zi tomonidan qilingan xatodan himoyalashi, hech bo’lmaganda dasturiy muhitga keltiriladigan zararni minimumga olib kelishi kerak.
2. Himoya. OC bajarilayotgan masalalarning o’zaro bir – biriga beradigan ta’siridan himoyalash kerak.
3. Bashorat. OC foydalanuvchi so’roviga bashoratchilik bilan javob berishi kerak. Foydalanuvchi buyruqlari sistemada qabul qilingan qoidalar asosida yozilgan bo’lsa, ularning ketma – ketligi qanday bo’lishidan qat’iy nazar natija bir xil bo’lishi kerak
4. Qulaylik. Foydalanuvchiga OC ni taklif qilishdan maqsad – resurslarni aniqlash va bu resurslarni boshqarish masalalarini yechishdan ozod qilishdir. Sistemani inson psixologiyasini hisobga olgan holda loyihalash kerak
5. Effektivlik. Resurslar taqsimotida OC foydalanuvchi uchun maksimal holda sistema resurslaridan foydalanish darajasini ishirish kerak. Sistemaning o’zi esa iloji boricha kamroq resurlardan foydalanishi kerak. Resurslarning OC tomonidan band qilinishi foydalanuvchi imkoniyatlarini kamaytirishga olib keladi.
C kompyuter va foydalanuvchi o’rtasida vosita hisoblanadi. OC foydalanuvchi so’rovini analiz qiladi va uni bajarilishini ta’minlaydi. So’rov OC tilida qabul qilingan buyruqlar ketma – ketligi ko’rinishda bo’ladi. OC so’rovlarni turli rejimlarda bajarishi mumkin, shu sababli OC ni quyidagi tiplarga bo’lish mumkin:
• Paket rejimi sistemasi;
• Vaqtni taqsimlash sistemasi;
• Real vaqt sistemasi muloqot (dialog) sistemasi.
“paket” rejimi – bu masalalar majmuasiga ishlov beruvchi sistema ya’ni bir yoki bir necha foydalanuvchi tomonidan tayyorlangan topshiriqlarni bajaruvchi sistema. Masalalar majmuasi kompyuterga kiritilgandan so’ng foydalanuvchi bilan uning masalasi o’rtasida muloqot qilish ta’qiqlangan. Bunday OC bir dasturli yoki ko’p dasturli rejimlarda ishlashi mumkin.
Vaqtni taqsimlash – bir vaqtning o’zida bir necha foydalanuvchiga xizmat qilish mumkin va foydalanuvchiga o’z masalasi bilan muloqot qilish imkonini beradi. Bir vaqtda ishlash effektiga, protsessor vaqti va boshqa resurslarni turli foydalanuvchilar tomonidan berilgan hisoblash jarayonlariga taqsimlash bilan erishiladi. OC kompyuterga kiritilayotgan topshiriqlar uchun navbat tashkil qiladi va har biriga navbat asosida protsessordan foydalanish vaqtini aniqlaydi. Birinchi topshiriqni bajargandan so’ng OC uni navbatning oxiriga olib borib qo’yadi va ikkinchi masalaga xizmat qiladi va x.k. har bir masalaga xizmat qilish vaqti parametrlarida aniqlanadi. Professional dasturchi tashkil qilish jarayonida bu vaqt birligini o’zgartirishi mumkin.Real vaqt – sistema berilgan real vaqt oralig’ida topshiriqning bajarilishini ta’minlaydi. Bunda kompyuterdagi hisoblash jarayoni tezligi real vaqt o’tishiga hamohang bo’lishi kerak. Kompyuter bunday OC bilan odatda, bir dasturli rejimda ishlaydi.Muloqot operatsion sistemasi – yakka foydalanuvchi uchun mo’ljallangan bo’lib ko’mpyuter bilan muloqotning qulay ko’rinishini ta’minlaydi. OC, odatda, bir dastur lirejim daishlaydi.Uzilishga ishlov beruvchi (обработка прерываний) modul OC tarkibiga kiritilgan asosiy modullardan biri hisoblanadi. U foydalanuvchi dasturi bilan aloqani ta’minlaydi. Uzilishga ishlov beruvchi modul operativ xotiraga yuklanadi va u yerda kompyuter bilan ishlash seansi vaqtida saqlanib turadi. Bu mudul komponentlari qism dasturlaridan iborat bo’lib, fayl sistemasi ishlashini, disk bilan berilganlarni almashishni va, shu bilan birga, maxsus xolatlarni tahlil qilishni ta’minlaydi. Amaliy dasturdan bu qism dasturlarga murojaat qilinganda uzilishga ishlov beruvchi modul bajariladigan amallar parametrini oladi, uni tahlil qiladi va holatni ko’rinishiga qarab kerakli modullarga bir yoki bir necha murojaatni hosil qiladi.
OT lardan quyidagi hususiyatlarga ega bo’lishi talab qilinadi:
1. Ishonchlilik. OT o’zi ishlayotgan qurilmalar bilan birga ishonchli bo’lishi kerak. OT foydalanuvchining aybi bilan vujudga kelgan xatoni aniqlashi, uni tahlil qilishi va tiklash imkoniyatiga ega bo’lishi kerak. OT foydalanuvchining o’zi tomonidan qilingan xatodan himoyalashi, hech bo’lmaganda dasturiy muhitga keltiriladigan 2. Himoya. OT bajarilayotgan masalalarning o’zaro bir – biriga beradigan ta’siridan himoyalash
3. Bashorat. OT foydalanuvchi so’roviga bashoratchilik bilan javob berishi kerak. Foydalanuvchi buyruqlari sistemada qabul qilingan qoidalar asosida yozilgan bo’lsa, ularning ketma – ketligi qanday bo’lishidan qat’iy nazar natija bir xil bo’lishi
4. Qulaylik. Foydalanuvchiga OT ni taklif qilishdan maqsad – resurslarni aniqlash va bu resurslarni boshqarish masalalarini yechishdan ozod qilishdir. Sistemani inson psixologiyasini hisobga olgan holda loyihalash kerak.
5. Effektivlik. Resurslar taqsimotida OT foydalanuvchi uchun maksimal holda sistema resurslaridan foydalanish darajasini ishirish kerak. Sistemaning o’zi esa iloji boricha kamroq resurlardan foydalanishi kerak. Resurslarning OT tomonidan band qilinishi foydalanuvchi imkoniyatlarini kamaytirishga olib keladi.
6. Moslanuvchanlik. Sistema amallari foydalanuvchiga qarab sozlanishi mumkin. Resurslar majmuasi OT effektivligi va samaradorligini oshirish maqsadida
7. Kengaytiruvchanlik. Evolutsiya jarayonida OT ga fizik va dasturiy resurslarlishi
8. Aniqlik. Foydalanuvchi sistema interfeys darajasidan pastda sodir bo’ladigan jarayonlar bexabar qolishi mumkin. Shu bilan birga foydalanuvchi sistema haqida qancha bilgisi kesa shuncha bilish imkoniyatiga ega bo’lishi kerak. Bu holatda aniqlik interfeys sistemasida qabul qilingan qoida va fizik qurilmalar ulanishi va o’zaro bog’liqligining funksional harakteristikasi asosida amalga oshiriladi.
Linux nomi esa 1991 yilda Linus Tovalds tomonidan o`z operatsion tizimini birinchi relizini dasturchilar uyushmasiga taklif etishdan kelib chiqqan.FSF xarakati xech kimning yuridik qiziqishlariga xalaqit qilmaydigan o`ziga tegishli bo`lgan operatsion tizimiga ega bo`ldi
Linux operastion tizim ga quyidagi fayl tizimlari o’rnatilishi mumkin.
Ext – Linuks operastion tizimning birinchi fayl tizimi xisoblanadi, dastlabki linux versiyalarida qo’llanilgan. Jurnallar bilan ishlay olmaydi, mana shu uning kamchiligi hisoblanadi.
Ext2 – 1993 yilda yaratilgan eski fayl tizimlaridan biri hisoblanadi. Ko’p yillar davomida bu fayl tizimi barcha distributivlarda asosiy fayl tizimi sifatida qo’llanilgan. Ext2 fayl tizimini ishlashi kesh xotira bilan bog’liq. Barcha disklarda bo’layotgan jarayonlarni kesh xotiraga tashlab, so’ng diskga tashlanadi. Shu sababli bu fayl tizimining tezligi juda baland, lekin ish jarayonida tok biror sababga ko’ra o’chib qolsa, kesh xotiradagi barcha ma’lumotlarni yo’qotib qo’yishimiz mumkin bo’ladi. Chunki qattiq diskga yozilmagan ma’lumotlar kesh xotiradan o’chib ketadi. Shu sababli bunday fayl tizimi bilan ishlayotganda uzluksiz tok manbaidan foydalanish zarur. Hozirgi kunda bu fayl tizimi o’zining muhimligini yo’qotgan
Windowsning afzalliklari:
Dasturlar va zaruriy drayverlarni qidirish muammosi deyarli yo’q.
Windowsda dasturlar bilan ishlash oson.
Windowsni o’rnatish deyarli avtomatik tarzda bajariladi.
Windows OT versiyalari yurtimiz ichida keng tarqalgan ularni topish muammosi mutlaqo yo’q
Linuxning afzalliklari:
Linux litsenziyaga ega ammo bepul.
Linux operatsion tizimini Internet orqali bepul yuklash mumkin.
Linux yuqorida ko’rsatilgan ko’p oynali ya’ni ko’p ish stoliga ega.
Linux dasturlarini drayverlarini Internet orqali yangilash yuklab olish bepul.
Linux qancha vaqt ishlashidan qat’iy nazar u eskirmaydi. Bu degani Linuxni qayta qayta o’rnatish majburiyati yo’q.
Ta’kidlash joizki, yuqorida biroz tanishib o’tganimiz ikkala til ham dunyo bo’ylab keng tarqalgan, professional dasturchilar tomonidan ko’pqirrali deya e’tirof etilgan tillardir.
Hozirgi kunda dunyo reytingida Java dasturlash tili ommaviylik bo’yicha yetakchilikni o’z qo’liga olgan esada, C++ tili ham undan ortda qolmayapti. Javaning C++ dan eng afzal jihati uning istalgan operatsion tizimga moslashib ishlay olish qobiliyati bo’lsa, kamchiligi Java kompilyatorlarining C++ kompilyatorlaridan ko’ra og’irroq ishlashidir. Buning sababi esa, Java kompilyatorlari konsol rejimda ishlash jarayonida ham har bir kodni tinisiz tahlil qilib boradi, bu esa o’z navbatida kompyuterdan qo’shimcha yuklanish talab qiladi, ammo dasturchiga yo’l qo’yilgan hatoliklarni o’sha zaxoti bartaraf etish imkonini beradi. C++ kompilyatorlari esa dasturchi kodni terib bo’lib kompilyatsiya qilishga buyruq bergandagina kodni tahlil qiladi. Bu kompyuter ishini yengillashtiradi, ammo, dasturchiga biroz noqulaylik tug’dirishi mumkin. Chunki, dasturchi hatoliklarni faqat kompilyatsiya qilingandagina payqaydi va bu xatoliklarni to’g’rilash dasturchining vaqtini oladi, ba’zan butun boshli funksiyalar qayta tuzilishiga olib keladi.
Javaning yanada ommalashishiga yana bir sabab bu hozirgi kunda mobil telefonlar, planshetlar va turli maishiy texnologiyalar orasida yetakchilikni o’z qo’liga olgan Android operatsion tizimiga aynan shu tilda kod yozilishidir.
So’nggi yillarda Embarcadero Technologies korporatsiyasi tomonidan yaratilayotgan C++ Builder muhitining so’nggi variantlarida C++ tilida Android ilovalar qilish imkoniyati kiritilgan.
Xulosa o’rnida shuni ta’kidlash mumkinki, ikki til ham bir-biridan qolishmaydi, agar dasturchi biror tilni chuqur o’zlashtirsa va ushbu tilning imkoniyatlaridan maksimal darajada foydalana olsa istalgan tilda yuqori samarali dastur yarata oladi.