Bu məqaləni lazımdır. |
Çoxamaclı dil - (ingiliscə general-purpose language, rusca универсальный язык) – Ada, Pascal, C, Forth və BASIC kimi ən müxtəlif məqsədlər və tətbiq sahələri üçün nəzərdə tutulmuş proqramlaşdırma dili. Bununla da universal dillər, yalnız verilənlər bazasında istifadə üçün nəzərdə tutulmuş SQL kimi dillərdən fərqlənir.
Program - hər hansı məsələni həll etmək üçün kompüter dilində yazılmış kodlardır. Yəni biz məsələni həll etmək üçün kompüterdə 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, 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.
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 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.
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. Javascript 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. javascript adından da göründüyü kimi script dilidir. PHP server hissədə işlədiyi halda, javascript 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.
Ədəbiyyat
- İsmayıl Calallı (Sadıqov), “İnformatika terminlərinin izahlı lüğəti”, 2017, “Bakı” nəşriyyatı, 996 s.
http://odin.az/topic/162-proqramlaşdırma-dilləri-haqqında/ 2018-10-13 at the Wayback Machine https://sites.google.com/site/mehribanabbasova12/layihelerim/informatika/proqramlasdirma-dillerinin-tesnifati
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Bu meqaleni vikilesdirmek lazimdir Lutfen meqaleni umumvikipediya ve redakte qaydalarina uygun sekilde tertib edin Coxamacli dil ingilisce general purpose language rusca universalnyj yazyk Ada Pascal C Forth ve BASIC kimi en muxtelif meqsedler ve tetbiq saheleri ucun nezerde tutulmus proqramlasdirma dili Bununla da universal diller yalniz verilenler bazasinda istifade ucun nezerde tutulmus SQL kimi dillerden ferqlenir Program her hansi meseleni hell etmek ucun komputer dilinde yazilmis kodlardir Yeni biz meseleni hell etmek ucun komputerde proqram yaziriq Proqramlasdirma dili proqrami yazmaq ucun ise bize proqramlasdirma dili lazimdir Hal hazirda coxlu proqramlasdirma dilleri var Meselen C C Java Smaltalk Pascal Visual Basic Visual FoxPro ve s Proqramlasdirma dillerin muxtelif seviyyeleri var Esasen 5 qrupa ayirirlar Cox yuksek seviyyeli diller ve ya vizual diller Access FoxPro Paradox XBase Visual Basic Yuksek seviyyeli diller Bunlara bezen alqoritmik dillerde deyilir Pascal Basic Fortran Orta seviyyeli proqramlasdirma dilleri C C Asagi seviyyeli proqramlasdirma dilleri Assembly language Masin dili En asagi seviyyeli dil olub 0 ve 1 lerden ibaretdir Bundan basqa proqramlasdirma dillerini ayri 2 qrupa bolmek olar Prosedur proqramlasdirma dilleri Pascal Basic Obyekt yonumlu proqramlasdirma dilleri C C Java Smaltalk Her hansi proqramlasdirma dilini istifade etmek ucun ise bize ilk novbede kompilyator lazimdir Kompilyator olduqdan sonra biz oz proqramimizi metn redaktorunda meselen Notepad yaza bilerik Lakin cox biz IDE yeni proqramlasdirmanin inteqrallasmis muhitinden istifade edirik Sade dille desek bize bir muhit verilir orda komponentler olur ve bunlardan istifade ederek biz oz proqramimizi yaziriq Ve en esasi proqramlasdirmani oyrenmeyin yolu proqram yazmaqdir tekce oxumaqla proqramist olmaq olmaz Ingilisce daha yaxsi cixir Learning programming is programming Muasir proqramlasdirma dilleri hansi daha yaxsidir Muasir zamanda bir cox proqramlasdirma dilleri ve muhitler movcuddur Bu da oz novbesinde texnologiyani secmek barede qerar vermekde cetinlik toredir Bes hansi texnologiyani secmek daha meqsedeuygundur Hansi proqramlasdirma dilini oyrenmek daha vacibdir Belke de ilk baxisdan esasen asagi kurs telebeleri ucun bu sual mubahiseli gorunur Tecrubeler gosterir ki hal hazirda muasir proqramci Pascal C C Perl PHP javascript C Si Sarp Java dillerinin hamisini bilmelidir Bele bir sual vere bilersiniz ki Ne ucun bu dillerin hamisini bilmeliyik Axi bu kifayet qeder boyuk siyahidir Pascal dili tedris ucun ideal dildir Eslinde Pascal dili mehz bu meqsed ucun yaradilmisdir Alqoritmleri oyrenerken Pascal dilinde proqram yazmaqla meseleleri hell etmek cox rahatdir Alqoritmlerin tertib olunmasi qaydalarini movcud olan klassik alqoritmleri her bir proqramci bilmelidir yeri gelmisken bu sahede en yaxsi kitablardan ikisinin adini demek isterdim D E Knuth Art of programming ve Thomas H Cormen Charles E Leiserson Ronald L Rivest Introduction to Algorithms Bir cox kitablarda alqoritmlerin realizasiyasi psevdo proqramlarla gosterilir Psevdo proqramlar sanki Pascal dilinde yazilmis proqramlara benzeyir C proqramlasdirma dili Unix emeliyyatlar sistemi ucun AT amp T Bell Labs lobarotoriyasinda Dennis Ritci Dennis Ritchie terefinden yaradilmisdir Sintaksisinin rahatligina gore C dili qisa zamanda meshurlasmis ve proqramcilarin en sevimli dillerinden birine cevrilmisdir C dili hal hazirda en cox sistem proqramlasdirmasi ucun istifade edilir Linux emeliyyat sisteminin nuvesi kernel C dilinde yazilmisdir C dili C dilinden sonra Bern Straustrup Bjarne Stroustrup terefinden yaradilmisdir C den en baslica ferqi ondadir ki C obyekt yonumlu Object Oriented proqramlasdirma dilidir Bu da muasir proqramlasdirmada en vacib anlayislardandir Praktiki olaraq C dilinde hem sistem ucun hem de diger meqsedler ucun proqramlar yazmaq mumkundur Bize cox tanis olan Mozilla FireFox MS Word MS Excel Notepad Paint ve s proqramlarin hamisi C da yazilmisdir Lakin C da verilenler bazalari database ile isleyen proqramlari yazmaq o qeder de rahat deyil Mesele burasindadir ki verilenler bazalari ile isleyen proqramlarin teyinati bazada olan verilenlerle islemekdir Bir cox hallarda bu cur proqramlarda suret faktoru bir o qeder rol oynamir Cunki suret daha cox verilenler bazasi idare etme sistemlerinden DBMS Database Management System asili olur Utilitlerin yazilmasinda en cox istifade olunan dil C dilidir Perl ilk olaraq metnlerin manipulyasiyasi ucun yaradilmisdir Sonralar Perlin imkanlari daha da genislenmisdir Hal hazirda sebeke ve sistem administratorlarinin en sevimli dillerinden biridir Perl den veb proqramlasdirmada daha cox CGI da istifade olunur Lakin indiki zamanda veb proqramlasdirma ucun daha rahat vasiteler vardir PHP dunyadaki bir cox veb proqramcilarin sevdiyi dildir Diqqet yetirsek veb saytlarin boyuk bir hissesinin yaradilmasinda PHP den istifade edilmisdir PHP oyrenmekde cox rahat ve genisimkanli dillerden biridir Esas teyinati veb proqramlasdirmada istifadedir Lakin son zamanlar diger sahelerde de istifade olunmaga baslayir Lakin PHP vasitesi ile scriptleri yazarken bezi tehlukesizlik tedbirlerini SQL Injection Remote Code Inclusion XSS ve s mutleq nezere almaq lazimdir Bu tedbirleri nezere almadiqda hemin skriptleri cox asan usullarla sindirmaq mumkun olur PHP5 versiyasi cixdiqdan sonra PHP obyekt yonumlu proqramlasdirma dillerinden birine cevrildi evveller OOP un prinsiplerine tam emel olunmurdu PHP de yazilmis proqram serverde icra olunur ve yalniz neticesi kliente gonderilir Lakin bezen klient terefde client side de proqramlasdirmadan istifade etmek mecburiyyetinde qaliriq HTML HyperText Markup Language ise adindan gorunduyu kimi yalniz isareleme dilidir HTML in oz imkanlari vasitesi ile hec bir emeliyyat aparmaq mumkun deyil Bu cur hallarda javascript bizim komeyimize catir Eyni teyinata malik diger bir texnologiya VBScript de movcuddur Lakin VBScriptin bezi imkanlari mehduddur Javascript vasitesi ile HTML Sehifenin DOM modeli uzre bir cox emeliyyatlar etmek sehifede interaktiv elementler menyular duymelerin basilmasinda derhal reaksiyalar ve s yaratmaq mumkundur Veb proqramlasdirma sahesinde mesgul olanlar ucun AJAX Asynchronous javascript and XML texnikasini da bilmek vacibdir Bezen AJAX i ayrica bir texnologiya ve ya dil kimi qeleme verirler Lakin AJAX javascript ve XML den istifade etmekle bir vasitedir Sadaladigimiz bu dillerin teyinatlari esasen ayri ayri olduguna gore onlar arasinda konkurensiya bir o qeder hiss olunmur Lakin Java ve C arasinda boyuk bir reqabet vardir Bir cox proqramcilar Javaya bezileri C a ustunluk verirler Her ikisininin ozune mexsus ustun cehetleri vardir Eslinde onlara sadece olaraq dil kimi yox bir texnologiya kimi baxmaq lazimdir Bu texnologiyalar vasitesi ile yaradilmis proqramlar ayrica isleye bilmirler Bu proqramlar birbasa olaraq sizin komputerde yox virtual masinda isleyir Bes virtual masin nedir Virtual masin proqram seklinde bir komputerdir Hemin virtual masinda isleyen proqramlar virtual masina normal komputer kimi muraciet edir ve virtual masin oz novbesinde hemen muracietlere komputer kimi reaksiya gosterir Bir sozle komputeri emulyasiya edir Netice etibari ile Javada ve C da yazilmis proqramlari istenilen yerde istenilen arxitekturali komputerde istenilen emeliyyatlar Operating System sisteminde ise salarken eyni cur isleyecek Yeni proqram komputerin hec bir fiziki veziyyetinden asili olmur Hemen proqramin islemesi ucun yalniz ve yalniz onun isleye bileceyi virtual masin lazimdir Java ucun virtual masin JRE Java Runtime Environment bir cox emeliyyatlar sistemi ve bir cox arxitekturali komputerler ucun movcuddur JRE Sun sirketi terefinden yaradilib C da yazilmis proqramin islemesi ucun NET Framework dot net Freymvork lazimdir NET framework Microsoft sirketi terefinden hazirlanir Hal hazirda yalniz Windows emeliyyatlar sistemi ucun olan versiyasi movcuddur Lakin NET Framework un klonu olan MONO Project adli bir layihe movcuddur ve onun vasitesile yazilmis proqramlar bir cox emeliyyatlar sisteminde isleyir Demeli Java ve C da proqram yazarken platforma haqqinda fikirlesmirik ve bu isimizi cox asanlasdirir Bundan elave bu texnologiyalar vasitesile bir cox VBIS lere qosulmaq ucun modullar movcuddur Bu da VBIS i secerken bir cox mehdudiyyetleri aradan qaldirir Diger ustunluklere tiplerin asan cevrilmesi unicode desteyi sebekelerle is ve s misal ola biler Belelikle boyuk sistemler yaradarken bu texnologiyalarin tetbiqi daha meqsedeuygundur Cunki bu texnologiyalardan istifade etmekle proqram yazarken demek olar ki meselenin megzinden basqa diger problemlerin qaygi sina qalmaga ehtiyac qalmir Bir cox bank sistemleri hava limanlarinda qeydiyyat ve s sistemlerini yaradarken proqramlasdirma texnologiyasi kimi bu texnologiyalara ustunluk verilir Amma aydindir ki bu cur proqramlarda vaxt faktorunu nezere almaq cox nisbidir Eslinde bu o qeder de narahatciliga esas yaratmir Meselen bank sisteminde her hansi bir tranzanskiyanin 1 millisaniye gec ve ya tez yerine yetirilmesinin bir o qeder de ehemiyyeti olmur Lakin raketlerin idare olunmasinda atom stansiyalarinin idare olunmasinda tibbi avadanliqlar ucun yazilmis proqram teminatinda 1 millisaniye gecikme ve ya telesme insan heyatina beraber ola biler Onun ucun de bu cur sistemleri hec vaxt Java ve ya C kimi texnologiyalarin komeyi ile yaratmaq olmaz Belelikle biz artiq en aktual proqramlasdirma dillerinin teyinatlari barede ilkin melumatlari bildik Proqram mehsulu yaradarken hemin mehsulun telebatlarini nezere almaqla bu texnologiyalardan daha semerelisini secmek lazimdir Hansi proqramlasdirma dilini oyrenmeliyem Proqramlasdirmaya yeni baslayanda ele bilirdim ki tekce Basic ve Pascal proqramlasdirma dilleri var Basqa dil yoxdur Basic le mektebde oxuyanda tanis olmusdum O vaxt duzu nese xosum gelmemisdi Birinci kursda oxuyanda ise Pascal oyrenmeye basladim Sonra esitdim ki pascal dili uzerinde Delphi adli muhit qurulub Delphini oyrenmeye basladim Her gun kecdikce bir yeni proqramlasdirma dilinin adini esidirdim Bu meni yorurdu Axi men hansi dili bilmeliyem Bele suallarla cox adam muraciet edirdim Mene verilen cavablar muxtelif olurdu Riyaziyyatcilar deyirdi ki proqramlasdirma dilini bilmek bos seydir Esas riyaziyyatdir Bezileri deyirdi ki esas alqoritmin tapmaq lazimdir dili hami oyrene biler Bezileri deyirdi flan dili oyren daha cox pul verirler O biri deyirdi sen ne danisirsan flan dili hemise yasayacaq Belelikle here bir cavab verirdi Indi ise ozum istiyirem bir cavab yazim Demeli hansi dili oyrenmek lazimdir Wikipediaya baxsaz List of programming gorersiz ki proqramlasdirma dillerinin sayi heddinden artiq coxdur Kimse mueyyen dili beyenmiyib ozune rahat bir dil yaradib Eslinde hansi dili oyrenmek sualindan cox hansi meqsed ucun oyrenmek suali haqqinda fikirlesmek lazimdir Proqramlasdirmani serti olaraq iki yere bolek Desktop proqramlasdirma Web proqramlasdirma 1 Desktop proqramlasdirma deyende sistem ucun yazilan proqramlar drayverler muxtelif biznes proqramlar riyazi proqramlar ve s bura daxil ola biler Amma men emeliyyat sistemlerine gore de desktop proqramlasdirmani uc yere ayirmaq isterdim Linuxda proqramlasdirma Windowsda proqramlasdirma Apple da proqramlasdirma Qeyd Indi dillerin coxu cross platformdur yeni butun emeliyyatlar sistemlerinde isleyirler Eger linux muhitinde isleyirsizse ve eger linuxun nuvesi kernel ile mesgul olmaq isteyirsizse onda mutleq C dilin bilmelisiz Linuxun nuvesinde hemcinin biraz assemblerden istifade olunub assembleri de bilsez onda lap ela olar Eger nuve ile isiniz yoxdursa tekce linuxda balaca scriptler yazmaq isteyirsinizse onda bash script dili sizin isinize yariyacaq Amma indi artiq scriptleri pythonda yazmaga ustunluk verirler Odur ki Python burda sizin ela komekciniz olacaq Eger linuxda proqram yazmaq isteyirsinizse onda C Java Python Ruby Qt bunlardan birin ve ya bir necesin bilmek lazim olacaq Windows a geldikde ise eger windows applicationlar yazmaq isteyirsinizse onda Visual Studio size kifayet edecek Visual Studioda muxtelif dillerden istifade etmeye imkan var amma C dili en meslehetlisidir Yox eger visual studio ve C dan xosunuz gelmirse onda Java windows applicationlar yazmaq ucun ela secimdir Apple ise esasen Cocoa framework unden istifade olunur ve dil kimi Objective C istifade olunur 2 Web proqramlasdirmaya geldikde ise PHP bundan basqa siz asp net i bilmekle de ela veb sehifeler yarada bilersiz Amma eger evde oturub veb sehife yigirsizsa onda php en meslehetlisidir Perl de bu yaxinlara kimi cox istifade olunurdu amma deyesen yavas yavas istifadesi azalir ve php onun yerini tutur Bezen ise size veb sehifenize java applet ler qoymaq ucun Java da lazim ola biler Javascript ise veb proqramistin sag elidir Yekun olaraq hansi dili bilmek lazimdir sualina birde baxaq C Bir cox diller Java C C ve s oz sintaksisin bu dil esasinda qurublar Bu dili bilmekle diger dillere kecmek asan olacaq PHP dili web sehifeler yaratmaqda size yaxindan komeklik edecek C dili windows applicationlar yazmaq ucun ela secimdir Java dili hesab edirem size cox lazim ola biler Butun platformalari destekleyir C a cox oxsuyur javascript adindan da gorunduyu kimi script dilidir PHP server hissede islediyi halda javascript client hissede isleyir Vebde size cox lazim olacaq Python diline telebat her gun kecdikce biraz artir Google bu dilden cox istifade edir Meslehetlidir C eger sistemle oynamaq isteyirsinizse onda C bilmek yaxsi olardi Yuxaridaki dillerin hamisindan cetindir Ruby yuxaridaki dillerin hamisindan az islensede her gun kecdikce Ruby meshurlasir Vaxt olduqca qurdalamaq olar Deyecekisiniz ki pascal qaldi axi Pascal dili teze basliyanlar ucun yaxsidir amma sonra hec kime lazim olmur Pascal dili olimpiyada da lazim ola biler Bir de asan oldugu ucun onu universitetlerde kecirler Men ise pascala vaxt itirmeyi meslehet gormezdim EdebiyyatIsmayil Calalli Sadiqov Informatika terminlerinin izahli lugeti 2017 Baki nesriyyati 996 s http odin az topic 162 proqramlasdirma dilleri haqqinda 2018 10 13 at the Wayback Machine https sites google com site mehribanabbasova12 layihelerim informatika proqramlasdirma dillerinin tesnifati