Müasir proqramlaşdırma dərsləri
Fortran dili elmi və mühəndis texniki hesablama sahələrində istifadə edilmək üçün nəzərdə tutulmuşdu. Lakin bu dildə budaqlanan strukturlu məsələlər (istehsal prosesinin modelləşdirilməsi və s.), bəzi iqtisadi məsələlər və redaktəetmə məsələləri (cədvəl, arayış və s. qurulması) üçün proqramlar da qurula bilər. Sonrakı illərdə bu dilin müxtəlif modifikasiyaları yaradılmışdı.
Proqramlaşdırma dilləri haqqında
proqramlasdirma-dilleri-
Program – hər hansı məsələni həll etmək üçün komputer dilində yazılmış kodlardır. Yəni biz məsələni həll etmək üçün komputerdə proqram yazırıq.
Proqramlaşdırma dili – proqramı yazmaq üçün isə bizə proqramlaşdırma dili lazımdır. Hal-hazırda çoxlu proqramlaşdırma dilləri var. Məsələn: C, C++, Java, Smaltalk, Pascal, Visual Basic, Visual FoxPro və s.
Proqramlaşdırma dillərin müxtəlif səviyyələri var. Əsasən 5 qrupa ayırırlar:
Çox yüksək səviyyəli dillər və ya vizual dillər: Access, FoxPro, Paradox, XBase, Visual Basic.
Yüksək səviyyəli dillər (Bunlara bəzən alqoritmik dillərdə deyilir): Pascal, Basic, Fortran.
Orta səviyyəli proqramlaşdırma dilləri: C, C++
Aşağı səviyyəli proqramlaşdırma dilləri: Assembly language
Maşın dili: Ən aşağı səviyyəli dil olub 0 və 1 lərdən ibarətdir.
Bundan başqa proqramlaşdırma dillərini ayrı 2 qrupa bölmək olar:
Prosedur proqramlaşdırma dilləri (Pascal,Basic), Obyekt yönümlü proqramlaşdırma dilləri (C++, C#, Java, Smaltalk ). Hər hansı proqramlaşdırma dilini istifadə etmək üçün isə bizə ilk növbədə kompilyator lazımdır. Kompilyator olduqdan sonra biz öz proqramımızı mətn redaktorunda (məsələn: Notepad) yaza bilərik. Lakin çox biz İDE, yəni proqramlaşdırmanın inteqrallaşmış mühitindən istifadə edirik. Sadə dillə desək, bizə bir mühit verilir, orda komponentlər olur və bunlardan istifadə edərək biz öz proqramımızı yazırıq. Və ən əsası proqramlaşdırmanı öyrənməyin yolu proqram yazmaqdır (təkcə oxumaqla proqramist olmaq olmaz). İngiliscə daha yaxşı çıxır. Learning programming is programming.
Müasir proqramlaşdırma dilləri – hansı daha yaxşıdır? Müasir zamanda bir çox proqramlaşdırma dilləri və mühitlər mövcuddur. Bu da öz növbəsində texnologiyanı seçmək barədə qərar verməkdə çətinlik törədir.
Bəs hansı texnologiyanı seçmək daha məqsədəuyğundur? Hansı proqramlaşdırma dilini öyrənmək daha vacibdir?
Bəlkə də ilk baxışdan əsasən aşağı kurs tələbələri üçün bu sual mübahisəli görünür. Təcrübələr göstərir ki, hal-hazırda müasir proqramçı Pascal, C, C++, Perl, PHP, jаvascript, C# (Si Şarp), Java dillərinin hamısını bilməlidir.
Belə bir sual verə bilərsiniz ki, “Nə üçün bu dillərin hamısını bilməliyik? Axı bu kifayət qədər böyük siyahıdır?”. Pascal dili tədris üçün ideal dildir. Əslində Pascal dili məhz bu məqsəd üçün yaradılmışdır. Alqoritmləri öyrənərkən Pascal dilində proqram yazmaqla məsələləri həll etmək çox rahatdır. Alqoritmlərin tərtib olunması qaydalarını, mövcud olan klassik alqoritmləri hər bir proqramçı bilməlidir (yeri gəlmişkən bu sahədə ən yaxşı kitablardan ikisinin adını demək istərdim: D.E.Knuth – Art of programming və Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest – Introduction to Algorithms).
Bir çox kitablarda alqoritmlərin realizasiyası psevdo-proqramlarla göstərilir. Psevdo-proqramlar sanki Pascal dilində yazılmış proqramlara bənzəyir.
C proqramlaşdırma dili Unix əməliyyatlar sistemi üçün AT&T Bell Labs. lobarotoriyasında Dennis Ritçi (Dennis Ritchie) tərəfindən yaradılmışdır. Sintaksisinin rahatlığına görə C dili qısa zamanda məşhurlaşmış və proqramçıların ən sevimli dillərindən birinə çevrilmişdir. C dili hal-hazırda ən çox sistem proqramlaşdırması üçün istifadə edilir. Linux əməliyyat sisteminin nüvəsi (kernel) C dilində yazılmışdır.
C++ dili C dilindən sonra Bern Straustrup (Bjarne Stroustrup) tərəfindən yaradılmışdır. C-dən ən başlıca fərqi ondadır ki, C++ obyekt-yönümlü (Object Oriented) proqramlaşdırma dilidir. Bu da müasir proqramlaşdırmada ən vacib anlayışlardandır. Praktiki olaraq C++ dilində həm sistem üçün, həm də digər məqsədlər üçün proqramlar yazmaq mümkündür. Bizə çox tanış olan Mozilla FireFox, MS Word, MS Excel, Notepad, Paint və s. proqramların hamısı C++-da yazılmışdır. Lakin C++-da verilənlər bazaları (database) ilə işləyən proqramları yazmaq o qədər də rahat deyil. Məsələ burasındadır ki, verilənlər bazaları ilə işləyən proqramların təyinatı bazada olan verilənlərlə işləməkdir. Bir çox hallarda bu cür proqramlarda sürət faktoru bir o qədər rol oynamır. Çünki sürət daha çox verilənlər bazası idarə etmə sistemlərindən (DBMS – Database Management System) asılı olur. Utilitlərin yazılmasında ən çox istifadə olunan dil C++ dilidir.
Perl ilk olaraq mətnlərin manipulyasiyası üçün yaradılmışdır. Sonralar Perlin imkanları daha da genişlənmişdir. Hal-hazırda şəbəkə və sistem administratorlarının ən sevimli dillərindən biridir. Perl-dən veb proqramlaşdırmada (daha çox CGİ) da istifadə olunur. Lakin indiki zamanda veb-proqramlaşdırma üçün daha rahat vasitələr vardır.
PHP dünyadakı bir çox veb-proqramçıların sevdiyi dildir. Diqqət yetirsək veb-saytların böyük bir hissəsinin yaradılmasında PHP-dən istifadə edilmişdir. PHP öyrənməkdə çox rahat və genişimkanlı dillərdən biridir. Əsas təyinatı veb-proqramlaşdırmada istifadədir. Lakin son zamanlar digər sahələrdə də istifadə olunmağa başlayır. Lakin PHP vasitəsi ilə scriptləri yazarkən bəzi təhlükəsizlik tədbirlərini (SQL İnjection, Remote Code İnclusion, XSS və s.) mütləq nəzərə almaq lazımdır. Bu tədbirləri nəzərə almadıqda həmin skriptləri çox asan üsullarla sındırmaq mümkün olur. PHP5 versiyası çıxdıqdan sonra PHP obyekt-yönümlü proqramlaşdırma dillərindən birinə çevrildi (əvvəllər OOP-un prinsiplərinə tam əməl olunmurdu). PHP-də yazılmış proqram serverdə icra olunur və yalnız nəticəsi klientə “göndərilir”. Lakin bəzən klient tərəfdə( client side) də proqramlaşdırmadan istifadə etmək məcburiyyətində qalırıq.
HTML (HyperText Markup Language) isə adından göründüyü kimi yalnız işarələmə dilidir. HTML-in öz imkanları vasitəsi ilə heç bir əməliyyat aparmaq mümkün deyil. Bu cür hallarda jаvascript bizim köməyimizə çatır. Eyni təyinata malik digər bir texnologiya – VBScript də mövcuddur. Lakin VBScriptin bəzi imkanları məhduddur. jаvascript vasitəsi ilə HTML Səhifənin DOM modeli üzrə bir çox əməliyyatlar etmək, səhifədə interaktiv elementlər (menyular, düymələrin basılmasında dərhal reaksiyalar və s.) yaratmaq mümkündür.
Veb-proqramlaşdırma sahəsində məşğul olanlar üçün AJAX (Asynchronous jаvascript and XML) texnikasını da bilmək vacibdir. Bəzən AJAX-ı ayrıca bir texnologiya və ya dil kimi qələmə verirlər. Lakin, AJAX jаvascript və XML-dən istifadə etməklə bir vasitədir.
Sadaladığımız bu dillərin təyinatları əsasən ayrı-ayrı olduğuna görə onlar arasında konkurensiya bir o qədər hiss olunmur. Lakin Java və C# arasında böyük bir rəqabət vardır. Bir çox proqramçılar Javaya bəziləri C#-a üstünlük verirlər. Hər ikisininin özünə məxsus üstün cəhətləri vardır. Əslində onlara sadəcə olaraq dil kimi yox, bir texnologiya kimi baxmaq lazımdır. Bu texnologiyalar vasitəsi ilə yaradılmış proqramlar ayrıca işləyə bilmirlər. Bu proqramlar birbaşa olaraq sizin kompüterdə yox virtual maşında işləyir.
Bəs virtual maşın nədir? Virtual maşın – proqram şəklində bir kompüterdir. Həmin virtual maşında işləyən proqramlar virtual maşına normal kompüter kimi müraciət edir və virtual maşın öz növbəsində həmən müraciətlərə kompüter kimi reaksiya göstərir. Bir sözlə kompüteri emulyasiya edir. Nəticə etibarı ilə Javada və C#-da yazılmış proqramları istənilən yerdə, istənilən arxitekturalı kompüterdə, istənilən əməliyyatlar (Operating System) sistemində işə salarkən eyni cür işləyəcək. Yəni proqram kompüterin heç bir fiziki vəziyyətindən asılı olmur. Həmən proqramın işləməsi üçün yalnız və yalnız onun işləyə biləcəyi virtual maşın lazımdır.
Java üçün virtual maşın (JRE – Java Runtime Environment) bir çox əməliyyatlar sistemi və bir çox arxitekturalı kompüterlər üçün mövcuddur. JRE Sun şirkəti tərəfindən yaradılıb.
C#da yazılmış proqramın işləməsi üçün .NET Framework (dot net Freymvörk) lazımdır. .NET framework Microsoft şirkəti tərəfindən hazırlanır. Hal-hazırda yalnız Windows əməliyyatlar sistemi üçün olan versiyası mövcuddur. Lakin .NET Framework-un klonu olan MONO Project adlı bir layihə mövcuddur və onun vasitəsilə yazılmış proqramlar bir çox əməliyyatlar sistemində işləyir. Deməli, Java və C#-da proqram yazarkən, platforma haqqında fikirləşmirik və bu işimizi çox asanlaşdırır. Bundan əlavə bu texnologiyalar vasitəsilə bir çox VBİS-lərə qoşulmaq üçün modullar mövcuddur. Bu da VBİS-i seçərkən bir çox məhdudiyyətləri aradan qaldırır. Digər üstünlüklərə tiplərin asan çevrilməsi, unicode dəstəyi, şəbəkələrlə iş və s. misal ola bilər. Beləliklə böyük sistemlər yaradarkən bu texnologiyaların tətbiqi daha məqsədəuyğundur. Çünki bu texnologiyalardan istifadə etməklə proqram yazarkən demək olar ki, məsələnin məğzindən başqa digər problemlərin “qayğı”sına qalmağa ehtiyac qalmır. Bir çox bank sistemləri, hava limanlarında qeydiyyat və s. sistemlərini yaradarkən proqramlaşdırma texnologiyası kimi bu texnologiyalara üstünlük verilir.
Amma aydındır ki, bu cür proqramlarda vaxt faktorunu nəzərə almaq çox nisbidir. Əslində bu o qədər də narahatçılığa əsas yaratmır. Məsələn, bank sistemində hər hansı bir tranzanskiyanın 1 millisaniyə gec və ya tez yerinə yetirilməsinin bir o qədər də əhəmiyyəti olmur. Lakin, raketlərin idarə olunmasında, atom stansiyalarının idarə olunmasında, tibbi avadanlıqlar üçün yazılmış proqram təminatında 1 millisaniyə gecikmə və ya tələsmə insan həyatına bərabər ola bilər. Onun üçün də bu cür sistemləri heç vaxt Java və ya C# kimi texnologiyaların köməyi ilə yaratmaq olmaz. Beləliklə biz artıq ən aktual proqramlaşdırma dillərinin təyinatları barədə ilkin məlumatları bildik. Proqram məhsulu yaradarkən həmin məhsulun tələbatlarını nəzərə almaqla bu texnologiyalardan daha səmərəlisini seçmək lazımdır.
Hansı proqramlaşdırma dilini öyrənməliyəm?
Proqramlaşdırmaya yeni başlayanda elə bilirdim ki, təkcə Basic və Pascal proqramlaşdırma dilləri var. Başqa dil yoxdur. Basic-lə məktəbdə oxuyanda tanış olmuşdum. O vaxt düzü nəsə xoşum gəlməmişdi. Birinci kursda oxuyanda isə Pascal öyrənməyə başladım. Sonra eşitdim ki, pascal dili üzərində Delphi adlı mühit qurulub. Delphini öyrənməyə başladım. Hər gün keçdikcə bir yeni proqramlaşdırma dilinin adını eşidirdim. Bu məni yorurdu. Axı, mən hansı dili bilməliyəm? Belə suallarla çox adam müraciət edirdim. Mənə verilən cavablar müxtəlif olurdu. Riyaziyyatçılar deyirdi ki, proqramlaşdırma dilini bilmək boş şeydir. Əsas riyaziyyatdır. Bəziləri deyirdi ki, əsas alqoritmin tapmaq lazımdır, dili hamı öyrənə bilər. Bəziləri deyirdi “flan” dili öyrən daha çox pul verirlər. O biri deyirdi, sən nə danışırsan ”flan” dili həmişə yaşayacaq. Beləliklə hərə bir cavab verirdi. Indi isə özüm istiyirəm bir cavab yazım.
Deməli, hansı dili öyrənmək lazımdır? Wikipediaya baxsaz, List of programming görərsiz ki, proqramlaşdırma dillərinin sayı həddindən artıq çoxdur. Kimsə müəyyən dili bəyənmiyib, özünə rahat bir dil yaradıb. Əslində hansı dili öyrənmək sualından çox, hansı məqsəd üçün öyrənmək sualı haqqında fikirləşmək lazımdır.
Proqramlaşdırmanı şərti olaraq iki yerə bölək:
Desktop proqramlaşdırma
Web proqramlaşdırma
1. Desktop proqramlaşdırma deyəndə sistem üçün yazılan proqramlar, drayverlər, müxtəlif biznes proqramlar, riyazi proqramlar və s. bura daxil ola bilər.
Amma mən əməliyyat sistemlərinə görə də desktop proqramlaşdırmanı üç yerə ayırmaq istərdim.
Linuxda proqramlaşdırma
Windowsda proqramlaşdırma
Apple-da proqramlaşdırma
Qeyd: Indi dillərin çoxu cross platformdur, yəni bütün əməliyyatlar sistemlərində işləyirlər.
Əgər linux mühitində işləyirsizsə və əgər linuxun nüvəsi (kernel) ilə məşğul olmaq istəyirsizsə, onda mütləq C dilin bilməlisiz. Linuxun nüvəsində həmçinin biraz assemblerdən istifadə olunub, assembleri də bilsəz onda lap əla olar. Əgər nüvə ilə işiniz yoxdursa, təkcə linuxda balaca scriptlər yazmaq istəyirsinizsə, onda bash script dili sizin işinizə yarıyacaq. Amma indi artıq scriptləri pythonda yazmağa üstünlük verirlər. Odur ki, Python burda sizin əla köməkçiniz olacaq. Əgər linuxda proqram yazmaq istəyirsinizsə, onda C++, Java, Python, Ruby + Qt bunlardan birin və ya bir neçəsin bilmək lazım olacaq.
Windows-a gəldikdə isə əgər windows applicationlar yazmaq istəyirsinizsə, onda Visual Studio sizə kifayət edəcək. Visual Studioda müxtəlif dillərdən istifadə etməyə imkan var, amma C# dili ən məsləhətlisidir. Yox, əgər visual studio və C# dan xoşunuz gəlmirsə, onda Java windows applicationlar yazmaq üçün əla seçimdir.
Apple isə əsasən Cocoa framework-undən istifadə olunur və dil kimi Objective-C istifadə olunur.
2. Web proqramlaşdırmaya gəldikdə isə, PHP, bundan başqa siz asp.net-i bilməklə də əla veb səhifələr yarada bilərsiz. Amma əgər evdə oturub, veb səhifə yığırsızsa, onda php ən məsləhətlisidir. Perl də bu yaxınlara kimi çox istifadə olunurdu, amma deyəsən yavaş-yavaş istifadəsi azalır və php onun yerini tutur. Bəzən isə sizə veb səhifənizə java applet-lər qoymaq üçün Java da lazım ola bilər. jаvascript isə veb proqramistin sağ əlidir.
Yekun olaraq hansı dili bilmək lazımdır sualına birdə baxaq:
C – Bir çox dillər (Java, C++, C# və s) öz sintaksisin bu dil əsasında qurublar. Bu dili bilməklə digər dillərə keçmək asan olacaq.
PHP dili web səhifələr yaratmaqda sizə yaxından köməklik edəcək.
C# dili windows applicationlar yazmaq üçün əla seçimdir.
Java dili hesab edirəm sizə çox lazım ola bilər. Bütün platformaları dəstəkləyir. C#-a çox oxşuyur.
jаvascript adından da göründüyü kimi script dilidir. PHP server hissədə işlədiyi halda, jаvascript client hissədə işləyir. Vebdə sizə çox lazım olacaq.
Python dilinə tələbat hər gün keçdikcə biraz artır. Google bu dildən çox istifadə edir.
Məsləhətlidir C++ əgər sistemlə oynamaq istəyirsinizsə, onda C++ bilmək yaxşı olardı. Yuxarıdakı dillərin hamısından çətindir.
Ruby – yuxarıdakı dillərin hamısından az işlənsədə, hər gün keçdikcə Ruby məşhurlaşır. Vaxt olduqca, qurdalamaq olar.
Deyəcəkisiniz ki, pascal qaldı axı? Pascal dili təzə başlıyanlar üçün yaxşıdır, amma sonra heç kimə lazım olmur. Pascal dili olimpiyada da lazım ola bilər. Bir də asan olduğu üçün onu universitetlərdə keçirlər. Mən isə pascala vaxt itirməyi məsləhət görməzdim.
Bir şey də qeyd edim. Dil bilmək hələ başlanğıcdır. Riyazi dillə desək proqramist olmaq üçün proqramlaşdırma dilini bilmək zəruridir, amma kafi deyil.
Müasir proqramlaşdırma dərsləri
Müasir proqramlaşdırma dərsləri. 17 yaşdan yuxarı bütün arzu edәnlәr üçün peşәkar PROQRAMÇILIQ dәrslәri. Java, C#, C/C++, Delphi, Python kimi müasir proqramlaşdırma dillәrindәn
birini seçib öyrәnmәyә başlaya bilәrsiniz. Dәrslәr çoxillik iş tәcrübәsi olan peşәkar proqramçı tәrәfindәn, 0-dan başlamaqla, asan vә yaddaqalan metodla keçilir. Bütün mәşğәlәlәr praktikada, real mәsәlә vә layihәlәrlә, ev tapşırıqları ilә aparılır. Dәrslәr dinlәyicinin arzusu ilә fәrdi vә ya kiçik qrupda, azәrbaycan vә ya rus dillәrindә ola bilәr. Mәşğәlәlәrin vaxtı vә müddәti sizin istәyinizә uyğun olmaqla nizamlana bilir. Kursu bitirәnlәrә sertifikat vә tövsiyә mәktubu verilir.
Diqqət göstərilən qiymət kiçik qrupda(3-5 nəfər) 1 nəfərin bir aylıq ödənişidir.
Әtraflı mәlumat üçün zәng edin vә ya WhatsApp-a yazın.
Контактное лицо
ustad
Bakı город
Срок для этого объявления истек. Посмотреть похожие объявления
Поделиться Поделиться
Дата: 29.05.2020
Mühazirə Proqramlaşdırma dilləri Ədəbiyyat
Program – hər hansı məsələni həll etmək üçün komputer dilində yazılmış kodlardır. Yəni biz məsələni həll etmək üçün komputerdə proqram yazırıq.
Proqramlaşdırma dili – proqramı yazmaq üçün isə bizə proqramlaşdırma dili lazımdır. Hal-hazırda çoxlu proqramlaşdırma dilləri var. Məsələn: C, C++, Java, Smaltalk, Pascal, Visual Basic, Visual FoxPro və s.
Proqramlaşdırma dillərin müxtəlif səviyyələri var. Əsasən 5 qrupa ayırırlar:
- Çox yüksək səviyyəli dillər və ya vizual dillər: Access, FoxPro, Paradox, XBase, Visual Basic.
- Yüksək səviyyəli dillər (Bunlara bəzən alqoritmik dillərdə deyilir): Pascal, Basic, Fortran.
- Orta səviyyəli proqramlaşdırma dilləri: C, C++
- Aşağı səviyyəli proqramlaşdırma dilləri: Assembly language
- Maşın dili: Ən aşağı səviyyəli dil olub 0 və 1 lərdən ibarətdir.
- Prosedur proqramlaşdırma dilləri (Pascal,Basic),
- Obyekt yönümlü proqramlaşdırma dilləri (C++, C#, Java, Smaltalk ).
Bəlkə də ilk baxışdan əsasən aşağı kurs tələbələri üçün bu sual mübahisəli görünür. Təcrübələr göstərir ki, hal-hazırda müasir proqramçı Pascal, C, C++, Perl, PHP, javascript, C# (Si Şarp), Java dillərinin hamısını bilməlidir.
Belə bir sual verə bilərsiniz ki, “Nə üçün bu dillərin hamısını bilməliyik? Axı bu kifayət qədər böyük siyahıdır?”. Pascal dili tədris üçün ideal dildir. Əslində Pascal dili məhz bu məqsəd üçün yaradılmışdır. Alqoritmləri öyrənərkən Pascal dilində proqram yazmaqla məsələləri həll etmək çox rahatdır. Alqoritmlərin tərtib olunması qaydalarını, mövcud olan klassik alqoritmləri hər bir proqramçı bilməlidir (yeri gəlmişkən bu sahədə ən yaxşı kitablardan ikisinin adını demək istərdim: D.E.Knuth – Art of programming və Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest – Introduction to Algorithms).
Bir çox kitablarda alqoritmlərin realizasiyası psevdo-proqramlarla göstərilir. Psevdo-proqramlar sanki Pascal dilində yazılmış proqramlara bənzəyir.
- Proqramlaşdırma dillərinin quruluşu və istifadələrinin ümumu əsasları.
C++ dili C dilindən sonra Bern Straustrup (Bjarne Stroustrup) tərəfindən yaradılmışdır. C-dən ən başlıca fərqi ondadır ki, C++ obyekt-yönümlü (Object Oriented) proqramlaşdırma dilidir. Bu da müasir proqramlaşdırmada ən vacib anlayışlardandır. Praktiki olaraq C++ dilində həm sistem üçün, həm də digər məqsədlər üçün proqramlar yazmaq mümkündür. Bizə çox tanış olan Mozilla FireFox, MS Word, MS Excel, Notepad, Paint və s. proqramların hamısı C++-da yazılmışdır. Lakin C++-da verilənlər bazaları (database) ilə işləyən proqramları yazmaq o qədər də rahat deyil. Məsələ burasındadır ki, verilənlər bazaları ilə işləyən proqramların təyinatı bazada olan verilənlərlə işləməkdir. Bir çox hallarda bu cür proqramlarda sürət faktoru bir o qədər rol oynamır. Çünki sürət daha çox verilənlər bazası idarə etmə sistemlərindən (DBMS – Database Management System) asılı olur. Utilitlərin yazılmasında ən çox istifadə olunan dil C++ dilidir.
Perl ilk olaraq mətnlərin manipulyasiyası üçün yaradılmışdır. Sonralar Perlin imkanları daha da genişlənmişdir. Hal-hazırda şəbəkə və sistem administratorlarının ən sevimli dillərindən biridir. Perl-dən veb proqramlaşdırmada (daha çox CGİ) da istifadə olunur. Lakin indiki zamanda veb-proqramlaşdırma üçün daha rahat vasitələr vardır.
PHP dünyadakı bir çox veb-proqramçıların sevdiyi dildir. Diqqət yetirsək veb-saytların böyük bir hissəsinin yaradılmasında PHP-dən istifadə edilmişdir. PHP öyrənməkdə çox rahat və genişimkanlı dillərdən biridir. Əsas təyinatı veb-proqramlaşdırmada istifadədir. Lakin son zamanlar digər sahələrdə də istifadə olunmağa başlayır. Lakin PHP vasitəsi ilə scriptləri yazarkən bəzi təhlükəsizlik tədbirlərini (SQL İnjection, Remote Code İnclusion, XSS və s.) mütləq nəzərə almaq lazımdır. Bu tədbirləri nəzərə almadıqda həmin skriptləri çox asan üsullarla sındırmaq mümkün olur. PHP5 versiyası çıxdıqdan sonra PHP obyekt-yönümlü proqramlaşdırma dillərindən birinə çevrildi (əvvəllər OOP-un prinsiplərinə tam əməl olunmurdu). PHP-də yazılmış proqram serverdə icra olunur və yalnız nəticəsi klientə “göndərilir”. Lakin bəzən klient tərəfdə( client side) də proqramlaşdırmadan istifadə etmək məcburiyyətində qalırıq.
HTML (HyperText Markup Language) isə adından göründüyü kimi yalnız işarələmə dilidir. HTML-in öz imkanları vasitəsi ilə heç bir əməliyyat aparmaq mümkün deyil. Bu cür hallarda javascript bizim köməyimizə çatır. Eyni təyinata malik digər bir texnologiya – VBScript də mövcuddur. Lakin VBScriptin bəzi imkanları məhduddur. Javascript vasitəsi ilə HTML Səhifənin DOM modeli üzrə bir çox əməliyyatlar etmək, səhifədə interaktiv elementlər (menyular, düymələrin basılmasında dərhal reaksiyalar və s.) yaratmaq mümkündür.
Veb-proqramlaşdırma sahəsində məşğul olanlar üçün AJAX (Asynchronous javascript and XML) texnikasını da bilmək vacibdir. Bəzən AJAX-ı ayrıca bir texnologiya və ya dil kimi qələmə verirlər. Lakin, AJAX javascript və XML-dən istifadə etməklə bir vasitədir.
Sadaladığımız bu dillərin təyinatları əsasən ayrı-ayrı olduğuna görə onlar arasında konkurensiya bir o qədər hiss olunmur. Lakin Java və C# arasında böyük bir rəqabət vardır. Bir çox proqramçılar Javaya bəziləri C#-a üstünlük verirlər. Hər ikisininin özünə məxsus üstün cəhətləri vardır. Əslində onlara sadəcə olaraq dil kimi yox, bir texnologiya kimi baxmaq lazımdır. Bu texnologiyalar vasitəsi ilə yaradılmış proqramlar ayrıca işləyə bilmirlər. Bu proqramlar birbaşa olaraq sizin kompüterdə yox virtual maşında işləyir.
Bəs virtual maşın nədir? Virtual maşın – proqram şəklində bir kompüterdir. Həmin virtual maşında işləyən proqramlar virtual maşına normal kompüter kimi müraciət edir və virtual maşın öz növbəsində həmən müraciətlərə kompüter kimi reaksiya göstərir. Bir sözlə kompüteri emulyasiya edir. Nəticə etibarı ilə Javada və C#-da yazılmış proqramları istənilən yerdə, istənilən arxitekturalı kompüterdə, istənilən əməliyyatlar (Operating System) sistemində işə salarkən eyni cür işləyəcək. Yəni proqram kompüterin heç bir fiziki vəziyyətindən asılı olmur. Həmən proqramın işləməsi üçün yalnız və yalnız onun işləyə biləcəyi virtual maşın lazımdır.
Java üçün virtual maşın (JRE – Java Runtime Environment) bir çox əməliyyatlar sistemi və bir çox arxitekturalı kompüterlər üçün mövcuddur. JRE Sun şirkəti tərəfindən yaradılıb.
C#da yazılmış proqramın işləməsi üçün NET Framework (dot net Freymvörk) lazımdır. .NET framework Microsoft şirkəti tərəfindən hazırlanır. Hal-hazırda yalnız Windows əməliyyatlar sistemi üçün olan versiyası mövcuddur. Lakin .NET Framework-un klonu olan MONO Project adlı bir layihə mövcuddur və onun vasitəsilə yazılmış proqramlar bir çox əməliyyatlar sistemində işləyir. Deməli, Java və C#-da proqram yazarkən, platforma haqqında fikirləşmirik və bu işimizi çox asanlaşdırır. Bundan əlavə bu texnologiyalar vasitəsilə bir çox VBİS-lərə qoşulmaq üçün modullar mövcuddur. Bu da VBİS-i seçərkən bir çox məhdudiyyətləri aradan qaldırır. Digər üstünlüklərə tiplərin asan çevrilməsi, unicode dəstəyi, şəbəkələrlə iş və s. misal ola bilər. Beləliklə böyük sistemlər yaradarkən bu texnologiyaların tətbiqi daha məqsədəuyğundur. Çünki bu texnologiyalardan istifadə etməklə proqram yazarkən demək olar ki, məsələnin məğzindən başqa digər problemlərin “qayğı”sına qalmağa ehtiyac qalmır. Bir çox bank sistemləri, hava limanlarında qeydiyyat və s. sistemlərini yaradarkən proqramlaşdırma texnologiyası kimi bu texnologiyalara üstünlük verilir.
Məsələn, bank sistemində hər hansı bir tranzanskiyanın 1 millisaniyə gec və ya tez yerinə yetirilməsinin bir o qədər də əhəmiyyəti olmur. Lakin, raketlərin idarə olunmasında, atom stansiyalarının idarə olunmasında, tibbi avadanlıqlar üçün yazılmış proqram təminatında 1 millisaniyə gecikmə və ya tələsmə insan həyatına bərabər ola bilər. Onun üçün də bu cür sistemləri heç vaxt Java və ya C# kimi texnologiyaların köməyi ilə yaratmaq olmaz. Beləliklə biz artıq ən aktual proqramlaşdırma dillərinin təyinatları barədə ilkin məlumatları bildik. Proqram məhsulu yaradarkən həmin məhsulun tələbatlarını nəzərə almaqla bu texnologiyalardan daha səmərəlisini seçmək lazımdır.
4.Proqramlaşdırma dillərinin növləri və inkişaf tarixi.
Proqramlaşdırma texnologiyasmda əsasən aşağıdakı üslublardan istifadə olunur:
- prosedur proqramlaşdırma
- funksional proqramlaşdırma
- məntiqi proqramlaşdırma
- obyektyönlü proqramlaşdırma
Prosedur proqramlaşdırma dilində proqram operatorlar ardıcıllığmdan ibarətdir. Burada əsas operator, yaddaş sahəsinin məzmununu dəyişən mənimsətmə operatorudur.
- yaddaşın idarə olunmasmm vacibliyi, xüsusən dəyişənbrin təsviri;
- simvolların emalı üçün imkanların məhdudlуğu;
- ciddi riyazi əsasынolmaması;
- müasir kompüterdə yüksək səmərəlilikreallaşdırma.
Assemblerdili – maşın dilinə yaxm olub, maşm əmrbrinin simvolik formada təsvirini təmin edir.
Makroassembler dili – Assembler dilinə makro vasitələr daxil edilməsi ib alman dildir.
Peşəkar sistem proqramçılar kompüterin bütün qurğularmdan istifadə etmək üçün Assembler və Makroassembler dilindən istifadə edirbr. Bu dillərdən əsasən sistem proqramm təminatmm tərkibinə daxil olan – drayver, utilit və s. proqramların yaradılmasmda istifadə olunur.
С dili ilk dəfə 1970-ci ildə Unix əməliyyat sistemini reallaşdırmaq üçün yaradılmışdır.
Basic dili 1965-ci ildə proqramlaşdırmanı yeni öyrənənbr üçün yaradlımışdır.
Pascal dili prosedur proqramlaşdırma dilbri içərisində эп çox istifadə olunan dildir. Bu dil 1970-ci ildə isveçrəli Niklou Virt tərəfindən yaradlılmışdır. Pascal dilində proqramm bir sıra konsepsiyaları yaradılmışdır.
Funksional proqramlaşdırma. Funksional proqramlaşdırmanın mahiyyəti A.P.Erşov tərəfındən təyin olunmuşdur. Funksional dilbrin konstruksiyasında ifadə əsas rol oynayır. İfadəbrə skalyar sabitbr, strukturlaşdırılmış obyektbr, funksiyalar, funksiyaların gövdəsi və funksiyaların çağırılması aiddir.
- funksiyalarm manipulyasiya edə bildiyi sabitbr sinfı;
- proqramçmın əvvəldən təsvir etmədən istifadə etdiyi baza funksiyalar yığımı;
- baza funksiyalardan yeni funksiyaların tərtibi qaydası;
email) dilidir. LİSP dili 1959-cu ildə Massaçusets texnologiya institutunda Con Makkarti tərəfmdən yaradılmışdır. Bu dilin yaradılmasmda əsas məqsəd simvol tipli informasiyanm emalınıə əlverişli təşkil etmək olmuşdur. Dilin əsas xüsusiyyəti proqram və veribnbrin strukturunun unifikasiyasıdır, yəni bütün ifadəbr siyahı şəklində yazılır.
Məntiqi proqramlaşdırma . Məntiqi proqramlaşdırma Prolog (Programming in logic – məntiqi terminbrb proqramlaşdırma) dilinin meydana gəlməsinə səbəb oldu. Bu dil 1973-cü ildə fransız alimi A. Kolmerol tərəfindən yaradılıb. Hazırda bir çox məntiqi proqramlaşdırma dili mövcuddur, lakin Prolog dili эп çox inkişaf etmiş və yayılmış dildir. Məntiqi proqramlaşdırma dilləri, xüsusən Prolog, süni intellekt sistemlərində geniş istifadə olunur. Məntiqi proqramlaşdırmanm əsas anlayışı münasibətdir. Proqram obyekt və məqsəd arasmdakı münasibətin təyinindən təşkil olunur. Məntiqi proqramlaşdırmada yalnız alqoritmə əsaslanan faktlfrən spesifık xüsusiyyətbrini göstərmək lazımdır. Burada yerinə yetirilməsi təbb olunan addımlar ardıcıllığını təyin etmək lazım deyil.
- yüksək səviyyə;
- simvol hesabatma istiqamətləndirmə;
- tərsinə (intensiv) hesablama imkanı, yəni prosedurlardakı dəyişənlər giriş və çıxışa ayrılmır;
- məntiqi natamalığın mümkünlüyü, çünki proqramda müəyyən məntiqi münasibətbri əks etdirmək, həmçinin bütün nəticəbrin düzgün alınması mümkün deyil.
Obvektyönlü proqramlasdırma. Obyektyönlü proqramlaşdırmanm bir çox vasitələri Simula-67 dilindən götürülmüşdür.
Proqramlaşdımamn obyektyönlü üslubu obyekt anlayışma əsaslanır, mənası isə «obyekt – verilənlər + prosedurlar» düsturu ib ifadə olunur. Hər bir obyekt veribnbrin strukturunu birbşdirir və onlara müraciət bu veribnbrin email proseduru ib mümkündür ki, bu da metod adlanır.
Veribnlər və prosedurun bir obyektdə birləşməsi inkapsulyasiya adlanır. Obyektbrin təsvirinə siniflər xidmət edir. Sinif bu sinfə aid olan obyektbrin xassə və metodlarım təyin edir. Uyğun olaraq, istənibn obyekt sinfın nüsxəsini təyin edə bilir. Müasir obyektyönlü proqramlaşdırma dillərinə Smalltalk, C ++ , Object Pascal, Java və s. aiddir.
C ++ dilini 80-ci ilin əvvəlbrində AT $ T korporasiyasınm Bell laboratoriyasmm əməkdaşı V. Straustrup təklif etmişdir. Bu dilin İnternetdəki versiyası Java adlandı. Java və С++ dilbri arasmdakı prinsipial fərq ondan ibarətdir ki, birinci dil interpretasiya K ikinci isə kompilyasiya olunur.
- Ada – Ada proqramlaşdırma dilinin yaranma tarixi 1974-1980-ci illərə təsadüf edir.
- Assembler – bu proqram vasitəsilə effektiv və kompakt proqramlar yaradılır. Assemblerlərdən sistem proqramlarının, drayverlərin, kompüterin aparat resurslarına müraciət üçün və s. proqramların yaradılmasında istifadə edilir.
- Basic – Bu dil üçün kompilyator və interpretatorlar mövcuddur. 60-cı illərdə yaradılmışdır və öyrənilməsi sadədir.
- C – Bell laboratoriyasında yaradılmışdır və assembler dilini əvəz etmək üçün nəzərdə tutulmuşdur. Assemblerdən fərqli olaraq konkret tip prosessordan asılı deyil.
- C++ – 1980-cı ildə Byörn Straustrup tərəfindən yaradılmışdır. Proqramın imkanları proqramçının işinin məhsuldarlığını artırmış olur.
- C# – C#(C Sharp) – Microsoft.Net platformu ilə birlikdə təqdim olunan C ailəsinə aid yeni obyekt orientasıyalı dillərdən biridir.
- Fortran – 50-ci illərdə Cim Bekus tərəfindən yaradılmış ilk kompilyasiya dilidir. Bu dildən hal-hazırda da bütün dünyada istifadə edilir. 2000-ci ildə Fortranın yeni versiyası yaradılmışdır: F2k.
- JAL – Wouter Van Ooijen tərəfindən 16F84 ,16C84,16F877 , Scenix SX18 ve SX28 kimi mikrokontrollerləri proqramlaşdırmaq üçün yaradılmış dildir.
- Java – 90-cı illərdə Sun kompaniyası tərəfindən С++ proqram dili əsasında yaradılmışdır.
- LISP – List Processing (siyahıların emalı) sözlərindən götürülmüşdür. 1958-ci ildə yaradılmışdır
- Lua – 1993-cü ildə yaradılmış açıq qaynaq kodlu dildir.
- Objective-C – yuxarı səviyyəli, Obyekt yönümlü proqramlaşdırma dilidir.
- Pascal – 70-ci illərdə Niklaus Birt tərəfindən yaradılıb, Alqol dilinə daha çox oxşayır.
- Perl – 1987-ci ildə Lary Wall tərəfindən yaradılmış dinamik proqramlaşdırma dilidir.
- PHP – (Hypertext Preprocessor) dinamik veb səhifələr yaratmaq üçün 1995-ci ildə yaradılıb.
- Prolog – Proloq məntiqi proqramlaşdırma dilidir ki Süni intellekt və Hesablamalı dilçilik ilə əlaqədardır.
- Python – 1991-ci ildə Guido van Rossum tərəfindən yaradılmışdır. Dilinin sintaksisi çox aydın və anlaşıqlıdır.
- Ruby – Yukihiro Matsumoto tərəfindən Perl, Smalltalk və Eiffel dillərindən yararlanaraq yaradılmışdır.
- Scheme – Funksional proqramlaşdırma dili olub. 1975-1980-cı illər ərzində MİT süni intellekt laboratoriyasında yaradılmışdır.
- Delphi – Pascal dilinin əsasında yaradılmış dildir.
- Cobol – 60-cı illərdə yaradılıb, iqtisadi sahədə, biznes məsələlərin həllində istifadə edilir. Bu proqramın operatorları adi ingilis cümlələrinə çox bənzəyir.
- Swift– Apple tərəfindən WWDC 14 də təqdim edilmiş proqramlaşdırma dili.
Kompüter istehsalının ilk dövründə proqramlar maşın dilində yazılırdı. Maşın dili kompüterin “başa düşdüyü” kodlarla ifadə olunmuş əmrlərdən ibarət olub, konkret kompüterin arxitekturasından asılı idi. Hər bir əmrdə ümumi şəkildə, aparılacaq əməliyyatın məzmunu haqqında məlumat, üzərində maşın əməliyyatı aparılacaq başlanğıc verilənlərin yerləşdiyi yer-ünvan, nəticənin ünvanı və bu əmrdən sonra yerinə yetiriləcək əmr haqqında məlumat verilirdi. Maşındilində proqramların yaradılması və onların kompüterdə yerinə yetirilməsi kifayət qədər mürəkkəb və vaxt aparan idi. Bu səbəbdən kompüter texnologiyasının inkişafının sonrakı mərhələsində təbii dilə daha yaxın olan simvolik dillər yarandı. Belə ki, ikinci nəsil kompüterlərin yaranması, konkret maşının yox, qoyulmuş məsələnin xüsusiyyətlərindən asılı olan dillərə ehtiyac yaratdı. Bu dillərə formal dillər və ya sadəcə alqoritmik dillər deyilir və bir sıra üstünlüklərə malikdir. Bu dillər əyani olub, onlarla ixtiyari alqoritmi asanlıqla ifadə etmək mümkündür. Alqoritmik dillər alqoritmin birqiymətliliyini, mürəkkəb alqoritmin daha sadə alqoritmlərin vəhdəti şəklində ifadə edilməsini təmin edir. İlk mükəmməl alqoritmik dil 1954- cü ildə İBM firmasında Con Bekusun rəhbərlik etdiyi qrupun yaratdığı FORTRAN dili idi. Bu dilin adı FORTRANFORmulae TRANslation – formulaların tərcüməsi sözündən götürülmüşdür. Bu dil çox sadə struktura malik olduğundan ondan hal-hazırkı vaxta qədər istifadə olunur. Fortranda proqram operatorlar ardıcıllığı şəklində yazılır. Bu dildə yazılan proqram bir və ya bir neçə seqmentlərdən (alt proqram) ibarət olur. Bütün proqramın işini idarə edən seqment əsas proqram adlanır.
Fortran dili elmi və mühəndis texniki hesablama sahələrində istifadə edilmək üçün nəzərdə tutulmuşdu. Lakin bu dildə budaqlanan strukturlu məsələlər (istehsal prosesinin modelləşdirilməsi və s.), bəzi iqtisadi məsələlər və redaktəetmə məsələləri (cədvəl, arayış və s. qurulması) üçün proqramlar da qurula bilər. Sonrakı illərdə bu dilin müxtəlif modifikasiyaları yaradılmışdı.
1960-cı ildə Alqol-60 (Alhoritmic Language-alqoritmik dil) dili, 1966-cı ildə isə Fortran dili əsasında Dartmut kollecinin hesablama mərkəzində Basic dili (BASICBeginner’s Allpurpose Symbolic İnstruction Code-yeni başlayanlar üçün çoxməqsədli simvolik əmrlər dili) yaradıldı. Basic dili Visual Basic.Net versiyasına qədər böyük təkamül yolu keçmişdir. Hal-hazırda Visual Basic.Net dilindən qrafiki interfeysli proqram əlavələrin yaradılmasında geniş istifadə olunur.
Fortran, Alqol-60 dillərilə paralel olaraq intensiv inkişaf edən elm və texnikanın yeni sahələrinin tələbatını ödəmək üçün yeni proqramlaşdırma dilləri yaradılmışdır. Məsələn, 1957-ci ildə riyazi verilənlərin emalı üçün APL (Aplication Programming Language) dili, 1959-cu ildə İBM firması tərəfindən böyük həcmli verilənlər massivinin emalı üçün Cobol (Common Business Oriented Language) dili, mətn informasiyanın emalı üçün 1962-ci ildə Snobol1, 1969-ci ildə çoxluqlar üzərində əməliyyatlar aparmaq üçün SETL dili yaradılır.
Üçüncü nəsilkompüterlərinyaranması, universalalqoritmikdillərinyaradılması məsələsiniqarşıyaqoydu. Bucürdillərinyaradılması üçünediləncəhdlərdənbirinəticəsində
İBMfirması tərəfindənPL/1 (Programming-Language/1- proqramlaşdırmadili-1) diliyaradılır. BudilFortran, Alqolvə Coboldillərinin əsasındayaradılmış və budillərin üstünlüklərini özündə birləşdirmişdi.
1971-ciildə NikulsVirttərəfindənPaskaldiliyaradılır. Budilstrukturproqramlaşdırmaideyasının, yəniproqramınkiçik, dəqiqtəyinedilmiş prosedurlardantədricənqurulması ideyasınınhəyatakeçirilməsinitəminedənilkdildir. 1983-cü ildə PentaqondaAda3 diliyaradılır. Budil əsasənhərbivə böyüksənayelayihələrininyaradılmasındaistifadə edilir. Dilbirinciproqramlaşdırıcı – qrafinyaAdaLavlaysın şərəfinə adlandırılmışdır. 1972 -ciildə Kreniqanvə RitçitərəfindənCdili, 1986-cı ildə onunbazasındaBraynStraustruptərəfindənproblemyönümlü C++ diliyaradılır. C/C++ dili-universaldilolub, sistemproqramlarınınyaradılmasında, ocümlədəngenişyayılmış UNİX əməliyyat sistemi üçün kodların yazılmasında geniş istifadə olunur. 1995-ciildə SunMicrosystemskompaniyasındaJavadiliyaradılır. Qeydetdiyimizdillərdənbaşqadillərdə mövcuddurvə budillərinyaradılması prosesidavametdirilir.
XX əsrin 90-cı illərindənbaşlayaraqWebproqramlaşdirmadillərimeydanagəldi. WebproqramlaşdirmadilləriWebsəhifələrinidarə olunmasındaistifadə olunur. OnlaramisalolaraqHTML, XML, JavaScript, VbasicScript, Perl, Paytongöstərməkolar.
Comments are closed, but trackbacks and pingbacks are open.