«ITshnik»ni sochi uzun bo’lishi shart emas
Hayotning borligiga va men shu hayotda hali ham borligimga shukr qilaman. Umuman olganda, ko’p narsalar uchun minnatdorman. Misol uchun,Toshkent axborot texnologiyalari universitetini bitirgan men kabi muhandis, ko’plab jurnalistlar bilan muloqotda bo’lib turishim, hattoki ularni gohida tushunmasligimga ham. Ajoyib odamlar toifasi ular. Sababi, biri bilan gaplashsang, — Sarlavha maqola yozib tugatilgandan keyin qo’yiladi, desa yana boshqasi, — Oldin sarlavhani aniq qilish kerak, chunki u yarim maqolaga teng deydi. Xullas, nima bo’lsa bo’ldi, sarlavhamdan hech kim hafa bo’lmaydi deb umid qilaman.
E’tibor bergan bo’lsangiz kompyuter texnologiyalari mutaxassislari, aniqrog’i dasturchilar, dizaynerlar, adminstratorlarning tashqi ko’rishi bir ajoyib, o’ziga xos bo’lib, odatiylikdan ajralib turadi. Bu jihatlar ruslarda yaqqol ko’rinadi. Asta sekinlik bilan bizning yigitlarimizni ham sochlari uzun, soqollari olinmagan, juda ozg’in, uyquga to’ymagan holatda ko’p uchratish mumkin. Ularning ko’pchiligi havaskor kompyuterchilar, aynan
havaskor. Chunki ular hozircha bu uzun yo’lning «kompyuter o’yinlariga mukkasidan ketish» bosqichida turishibdi. Mayli, asosiysi «To’ygacha yaxshi bo’b ketsa bo’ldi».
Men mana shu bolalar ichidan haqiqiy geniylar chiqishiga ko’proq ishonaman. Siz o’ylaysiz-ki, ular kechalarni bedor o’tkazib, ekran oldida tuni bilan mijja qoqmay, sog’liqlarini ketgazib chiqishlari arzimas kompyuter o’yinlari uchunmi? Adashasiz. Ular izlashadi, ko’p izlashadi. Internet tarmog’i bo’yicha hamma joyni «titib chiqishadi», Googledan so’rashadi, elektron kitoblarni o’qishadi, turli xil kodlarni kiritib ko’rishadi. Ular izlashadi, ko’p izlashadi va nihoyat topishadi!!! Nimani? Nimani topganliklarini o’zlari ham yaxshi tushunishmaydi. Lekin, mana shu noaniqlik ularni kelgusidagi hayotlarini belgilaydi. Men ham mana shunday g’aroyib yo’lni tanlaganlardan biriman.
Xozirgi paytgacha
UZNET rivoji uchun ikkita loyiha tuzdim. Biri yosh dasturchilar va IT mutaxassislari uchun akmx.uz blogi, ikkinchisi IT savol-javob saytidir.
Shu loyihalar orqali ancha o’quvchilar, talabalar, domlalar bilan suhbatda bo’ldim, bu suhbat yuzma-yuz yoki pochta orqali amalga oshirildi. Berilgan savollarnining aksariyati dasturlashga oid bo’ldi, yanada oydinlashtiradigan bo’lsam,
60% savol bir xil ko’rinishda namoyon bo’ldi. Savolga e’tibor bering: «Men dasturchi bo’lmoqchiman, nimani o’rganishdan boshlay, kimga murojaat qilay, qaysi dasturlash tillarini bilishim kerak?«.
Bu savollar orqali shuni bildimki, IT talabalari (yosh dasturchilar)da muammolar bor, bu muammo dasturlash asosini bilish bo’yicha. Quyida men sizlarga o’zimning tajribamdan kelib chiqqan holda bir necha maslahatlar bermoqchiman. Demak, yetuk dasturchi bo’lishni istasangiz quyidagilarga amal qiling:
1. Dastlab, mantiqni rivojlantiring. Ko’proq mantiqiy o’yinlar o’ynang (misol uchun shaxmat), masalalar yeching, kitoblar o’qing, krossvord, skanvordlar bilan do’st tutining. Insonning yuqorida aytilgan salohiyatini oshirishda foydali bo’ladigan kinolar ko’ring (Sherlock Holmes, The Imitation Game, A Beautiful Mind), mantiq bilan bog’liq saytlarni doimiy kiradigan saytlaringiz ro’yxatiga kiritib qo’ying. Bu ishlarni muntazam bajarib turing, hattoki «kuchli» dasturchi bo’lib ketsangiz ham.
2. Algoritm asoslarini o’rganing. Oldingizga bitta vazifa qo’yib, uni bir necha usullar orqali bajaring. Misol uchun, bir necha sonlar orasidan eng kattasini topishni, bir necha usullar orqali aniqlang. Yana, Sudoku o’yini ham ketma-ketlikni o’rganishingizga yordam beradi.
3. Fanlarni yaxshi o’zlashtiring. Dasturchi bo’lish uchun asosan matematika, informatika, ingliz tili, fizika va jismoniy tarbiya fanlarini yaxshi o’zlashtiring. Ha, aynan jismoniy tarbiya. Sababi, siz kompyuter oldida bir necha soatlab o’tirasiz va natijada ba’zi bir kasalliklarga chalinishingiz mumkin.
4. Dasturlash yo’nalishini tanlash. Eng asosiy bosqichga keldingiz, qaysi dasturlash yo’nalishida ketishingizni aniqlab oling. Qiziqishlaringizni hisobga oling, maslahatlar so’rang, kelajakda qiladigan ishlaringizni rejalashtirib oling. Demak, quyidagi asosiy dasturlash yo’nalishlaridan birini tanlang:
— Operatsion tizim uchun dasturlash(OS developer);
— veb uchun dasturlash(Web developer);
— mobil qurilmalar ucuhn dasturlash(Mobile developer);
— ma’lumotlar bazasi uchun dasturlash(Database developer);
5. Dasturlash tilini tanlash. Biror yo’nalishni tanlaganingizdan so’ng, o’rganadigan til va texnologiyalarni o’z-o’zidan kelib chiqadi. Keling, yo’nalish bo’yicha o’rganadigan dasturlash tillarini ko’rib chiqamiz.
OS developer. Operatsion tizim uchun dasturlar tuzish yo’nalishi. Eng keng tarqalgan yo’nalishlardan biri. Bu yo’nalishni ham qismlarga bo’lish mumkin:
— Windows developer;
— Linux/Unix developer;
— Mac OS developer;
Windows tizimi foydalanuvchilar ko’pchilikni tashkil qilganligi uchun, aynan shu tizim dasturchilari haqida gaplashamiz.
Bu yo’nalish dasturchisi bo’lmoqchi bo’lganlar, quyidagilarni bilishlari kerak:
— Windows operatsion tizimi asosini: windows tizimi ishlashi, ma’lumotlarni qattiq disklarda saqlanishi, tezkor xotiraga ma’lumotlarni yozilishi va hakazo;
— dasturlash tilini. Dasturlash tilini tanlash qanday katta ko’lamdagi dasturlarni tuzishingizga bog’liq, hozirgi kunda Windows tizimiga quyidagi dasturlash tillari orqali dasturlar tuzilmoqda.
С++, C — quyi darajadagi dasturlash tili hisoblanadi, bu degani xotiraning eng kichik bo’laklari bilan ham ishlay oladi deganidir. С++ tili orqali barcha ko’rinishdagi murakkab dasturlarni tuzish mumkin.
C# — Microsoft mahsuloti hisoblanadi. С++ tilidan farqli o’laroq, quyi dajalar bilan ishlay olmaydi, ya’ni barcha turdagi dasturlarni tuzib bo’lmaydi, misol uchun, og’ir grafikli o’yinlar, drayverlar va hakazo.
Java — Sun firmasiga tegishli bo’lib, hozirda Oracle kompaniyasi nomidan ish yuritadi. Uning eng katta ustunligi, bir vaqtning uzida bir necha operatsion tizimda qo’llash imkoniyati borligidadir (krossplatforma). Bu texnlogiya sekin astalik bilan boshqa tillarda ham yo’lga qo’yilmoqda.
Odatda dasturlar ma’lumotlar bazasi bilan bog’langan holda ishlaydi. Demak, endi ma’lumotlar bazasini boshqarish tizimi(MBBT)ni tanlaymiz.
Oracle — murakkab tuzilishga ega MBBT. U Java dasturlash tili bilan juda yaxshi chiqishib ishlay oladi. Bu degani boshqa tillar bilan bog’lana olmaydi degani emas, hozirgi kunda ma’lumotlar bazasi bilan dasturlash tilini bog’lash muammo emas. Biz uchun eng katta kamchiligi, litsenziya narxining qimmatligidir.
MS SQL Server — Microsoft mahsuloti, aynan Windows bilan ishlashga mo’ljallangan. Yaxshi chiqishadigan dasturlash tili albatta, С#. Sababi aniq, ikkalasi ham bitta kompaniyaga tegishli.
MySQL — Tuzilishi sodda, ishlashi sodda, yaqindan boshlab Oracle kompaniyasi nomidan ish olib bormoqda. Asosan veb dasturchilar uchun qulay. Tekin versiyasi ham bor.
Windows operatsion tizimi uchun, meni tanlovim quyidagicha:
Dasturlash tili —
C#, MBBT — MS SQL Server.
Veb dasturlash. Bu yo’nalish dasturchilari quyidagilarni bilishlari kerak:
1. Veb brauzer(Internet Explorer, Firefox, Chrome…) ishlashi, klient-server texnologiyasi, interpretator tushunchasi.
2. Gippermatn tili — HTML, stillar bilan ishlash tili — CSS.
3. Klient tomonda ishlaydigan tillar: JavaScript, Jquery, Ajax.
4. Veb dasturlash tili. Bu bosqichda tanlov mavjud:
PHP — veb dasturlash tili bo’lib, sintaksisilari sodda, ishlashi yengildir. Asosiy saytlar aynan shu tilda tuziladi.
JSP — bu veb dasturlash tilini qo’llab quvvatlaydigan xostinglar kam va qimmat. Keyin, har safar kodni o’zgartirgandan keyin compilation/deploy qilish kerak. Keyin bu til tiplarga katta e’tibor beradi. Tiplarni aniq qilib yozish kerak. Uncha tavsiya qilmayman.
ASP — microsoft mahsuloti. C#, SQLServer bilan yaxshi chiqisha oladi. Qo’llab quvvatlaydigan xostinglar soni kamroq, chunki xosting Windows tizimida bo’lishi kerak. Asosiy xostinglar esa Linux tizimida qilinadi.
Demak, mening tanlovim: HTML, CSS, JavaScript, Jquery, PHP, MySQL.
Bevosita sayt qilishga kelsak, quyidagi bosqichda o’rganishni amalga oshirish foydali.
1. Biror CMS’ni o’rganish. Misol uchun, wordpress, dle, joomla.
Bu orqali sayt asosini o’rganasiz. Sayt tashkil etuvchilari, kodlarni ishlashi, plaginlar bilan ishlash kabilar haqida tushunchaga ega bo’lasiz.
2. CMS asosida HTML, JavaScript, CSS, PHP kabilarni o’rganish.
3. Ma’lumotlar bazasini boshqarish tizimi — MySQL’ni o’rganish.
4. Framework, misol uchun YII Framework’ni o’rganish, bu orqali o’zingiz CMS yaratasiz. Bu degani, 0 dan boshlab sayt qila olasiz deganidir.
Mobile developer ya’ni mobil qurilmalarga dastur tuzuvchilar, hozirgi kunda bularga ikkita operatsion tizim(iOS, Android)ga dastur tuzish talab qilinadi.
Android tizimiga dastur tuzish uchun quyidagilarni o’rganishni tavsiya qilaman:
Kod yozish muhiti — Eclipse yoki NetBeans;
Dasturlash tili — Java;
iOS uchun esa albatta Objective-C. Bunga qo’shimcha qilib, yaqinda ishlab chiqilgan SWIFT dasturlash tilini ko’rsatishim mumkin.
Database developer, ma’lumotlar bazasi dasturchilarining eng asosiy o’rganadigan narsasi bu — SQL so’rov tuzish tili hisoblanadi. Unchalik murakkab emas, keyin MBBT’ga qarab boshqa tillar qo’shilishi mumkin, misol uchun Oracle MBBT dasturchilariga PL/SQL protsedura tuzish tilini tavsiya qilaman.
Eng asosiy maslahatim esa – boshlagan ishingizni oxiriga yetkazing! Sizning oldingizda juda ko’p bedor tunlar, doimiy mehnat va o’z ustida izlanish kabi oson bo’lmagan masalalar turibdi. Mana shularni yengib o’ta olsangiz nafaqat ajoyib natijalarga erisha olasiz, balki orqangizdan yuzlab insonlarni ergashtira olasiz. Original g’oyaga ega bo’lgan va shu g’oyaning amalga oshirilishiga ishongan bir qancha yosh dasturchi va IT mutahassislari bugungi kunda Dunyodagi eng boy odamlar ro’yxatida yetakchilik qilishmoqda. Asosiysi o’zingizga bo’lgan ishonch va maqsadga bo’lgan intilish sizlarni hech qachon tark etmasin!
Manba:
Boshqaruv
«ITshnik»ni sochi uzun bo’lishi shart emas