N yaxşı proqramlaşdırma dilləri
5. Fəal ‘’ mushrooming’’ toplumu olması.
Riyaziyyat və proqramlaşdırma
Salam.Mənə deyə bilərsiz riyaziyyatla proqramlaşdırmanın nə əlaqəsi var? Və obyekt yönümlü proqramlaşdırma nə deməkdir?
Sualı verdi: hardcover ( 28/04/2014 )
Kateqoriya: Sual . mobile. Qısa keçid.
Verilmiş cavablar və yazılan şərhlər (16 cavab var)
Belə bir şey deyim də: güclü proqramçı güclü riyaziyyatçı olmaya da bilər (ancaq güclü proqramçıdırsa, ən azı riyazi təfəkkürü var deməkdir), fəqət güclü riyaziyyatçı istərsə, hər zaman güclü proqramçı ola bilər. Bəziləri bu fikirlə razı olacaq, bəziləri yox, amma inanki bu belədir.
İki qrup proqramlaşdırma dilləri var: konsol və obyekt yönümlü. Loru dildə desək, konsol proqramlaşdırmada qara ekranda ağ yazılardan başqa heç nə olmur. Obyekt yönümlü proqramlaşdırmada isə, Siz ekran yazılarından başqa “obyektlər” üzərində də iş görürsünüz, düymənin basılması, pəncərənin yaradılması, siçanın hərəkət etdirilməsi və s.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Azərbaycanda konsol proqramçılar üstünlük təşkil edir.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Əslində obyekt yönümlü proqramlaşdırma tam olaraq siz dediyiniz deyil. Obyekt yönümlü olub konsolda olan proqramlar da yazmaq olar. Şərt o deyil ki ekranda nəsə çıxsın və ümumiyyətlə heç nə çıxmaya da bilər.
Vikipediadan
Obyekt yönümlü proqramlaşdırma (OYP) – kompyuter proqramları və tətbiqləri yaratmaq üçün proqramlaşdırma paradiqmasıdır. OYP verilənlərin strukturu olaraq obyektlərdən istifadə edir. Əsas xüsusiyyətləri:
verilənlərin abstraksiyası (data abstraction),
varislik (inheritance),
enkapsulyasiya (encapsulation),
modulyarlıq (modularity),
mesajlaşma (messaging)
Loru dildə desək – insanın bədəninin müxtəlif üzvləri var (əl, ayaq, baş və s.) Bunların hərəsinin özünəməxsus xüsusiyyətləri (funksiyaları, metodları və s) var. OYP-da da bunun kimi hər bir obyekt ayrılıqda klassifikasiya edilir və özünəməxsus metodları, funksiyaları və s olur.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Ətraflı cavaba ehtiyacı olan maraqlı sualdır. Hələ ki qısa yazım ki proqramlaşdırma əslində riyaziyyat dememkdir. Riyaziyyatsiz proqramlaşdırma proqramlaşdırma deyil, kodlaşdırmadir. Müasir proqramlaşdırma alətləri o qədər inkişaf edib və budaqlanıb ki müəyyən budaqlardan zəif riyazi biliklə də ixtisaslaşmaq olur. Amma proqramçı kimi düşünmək, proqramçı helleri yaratmaq üçün beyin mütləq riyazi aparata malik olmalıdır. Riyazi məntiq, discreet riyaziyyat, başlangic riyazi analiz və s
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Hə çox əlaqəsi var demək olar bütün proqramçıların riyaziyyatdan anlayışı olur böyük proqramları hazırlayarkən orada riyaziyyatçıda iştirak edir məsələn ən sadə dilmanca baxın orada riyaziyyatçı vakansiyası var amma bizdə böyük proqramlar yaradılmadığına görə bizdə bu sahədə riyaziyyatçılara tələbat çox azdır
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
.NET üzrə, PHP-də hər hansı CMS üzrə və.s. belə müasir vizual alətlərlə təchiz olunmuş budaqlar üzrə proqramçı olanda indi əsasən yüngül işlər görülür və dərin riyazi bilik tələb edilmir əksərən (yalnız riyazi məntiq tələb olunur, ki onsuz olmaz), bu da bəzilərin çaşdırır ki proqramlaşdırma budur, əslində isə proqramlaşdırma tam dərin bir şeydir və riyaziyyatda tam bağlıdır və birdir. Məsələn özünə proqramçı deyən .NET üzrə təcrübəsi olan, amma riyaziyaytı orta məktəb səviyyəsini keçməyən bir nəfərə gəlib desən ki gəl filan şirkətin istehsalatının iş prinsipinin modelini qur və proqram yaz bizə, ki biz hər il bir neçə milyon $ itki veririk, onu hesablaya bilək və riskləri minimallaşdıraraq xeyli gəlir əldə etmiş olaq. Və təbii ki sizin də haqqınızı verək. Belə bir proqramı reallaşdırmaq üçün həmin şəxsdən ən azı ehtimal nəzəriyyəsi, optimallaşdırma və idarəetmə, riyazi modellləşdirmə sahələri haqda əməlli başlı bilik tələb olunur və təbii ki həmin adam heç bir şey edə bilməz belə məsələ qarşısında. Onda anlamış olar ki əslində əsl proqramçı deyilmiş, C#-də komponentləri bilmək, php-də if,for yazmaq CMS qurmaq real proqramçılıq deyilmiş.
Və ya müasir cihazlarda əsasən hazırından istifadə etdiyimiz yazı xəttinin tanınması, səsi yazıya çevirən, sifəti tanıma texnologiyası, süni intellekt, online tərcümə və.s. kosmosdan öz özünə gəlməyib, bunlar hamısı ton-ton yazılan riyazi tədqiqatların, onlar əsasında qurulan alqoritmlərin məhsuludur.
Təbii ki mən demirəm hamı mütləq öyrənsin ali riyaziyyatı, onsuz olmaz və.s., xeyr bazar özü tələb təklifi formalaşdırır, əgər o indiki biliyi ilə normal gəlir əldə edirsə, o halda kimə nə o nə bilir nə bilmir.
Sadəcə bu sualda əlaqə soruşuldu deyə belə qısa informasiya verdik.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Xahiş edirəm əgər riyazi analiz və ya optimallaşdırma bilirsinizsə mənə proqramlaşdırma və bunlar arasında əlaqəsi olan kiçik bir nümunə göstərə bilərsiniz?
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Elə cavab yazdığınız şərhdə yazmışam da nümunə. Yəni sadə interfeysli düyməni basanda nəsə baş verir tipli primitiv şeylərdə riyaziyyat təbii ki lazım deyil. Bu iri həcmli ciddi məsələlərdə lazım olur.
Məsələn: hansısa situasiyada alınan qiymətlər (məsələn situasiya-ay, qiymət-gəlir) verilir və heç bir təsəvvür yoxdur ki hansı qanunauyğunluqla baş verir bu hadisələr. Və sizdən tələb olunur ki tərtbit etdiyiniz c++ proqram verilən və qiyməti naməlum olan bir situasiya üçün qiymət təyin etsin. Bunun üçün aproksimasiya, interpolylasiya və.s. metodrlar vardır ki onların da realizasiyası zamanı riyazi analiz lazımdır. Bu metodlar ədədi üsullar adlı riyaziyyat qoluna aid anlayışlardır, o da ki riyazi analizin uşağıdır bir növ
Yəni ədədi üsullar, ehtimal nəzəriyyəsi, optimallaşdırma və.s. kimi fənnlərdə açıb misalları baxın, o misallar sadə olduğuna görə sizə sadəcə riyaziyyat kimi görünür, amma onların hər birini real həyatda, istehsalatda, maliyyədə və.s. təsəvvür edə bilsəniz, görərsiniz ki, elə hər bir misalın həlli müvafiq proqramın yaradılması üçün hazır alqoritmdir, hansı ki real iş həyatında gəlirli bir proqram deməkdir.
Optimallaşdlrmaya aid də müvafiq nümunələr demək olar. Hansısa şirkət gəlirlərini çıxarlarını, risklərini və.s. verə bilər və sizdən elə bir proqram təminatı istəyər ki onlar şöbələri, xərcləri, intestisiyaları üzrə rəqəmləri oynatmaqla yekun nəticə haqda ön bilgil ala bilsinlər və ya proqram onlara ən optimal modeli təklif etsin və.s.
Və ya hər hansı supermarket satış sürətinin , gəlirin dəqiq proqnozlaşdırması haqda sizə müraciət edə bilər, ki proqram təminatı bu işi görsün, daim verilən parametrlərlə gələcəyi proqnoz etsin, o zaman siz ehtimal nəzəriyyəsində normal paylanma qanunundan istifadə etməli olacaqsınız, və mütləq tutalım C++ ilə normal paylanma üçün inteqral tənliklərdən istifadə etməli olacaqsız.
Nümunələr elmi baxımdan tam korrekt olmaya bilər, çünki bir az loru danışdım izah üçün.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Nümunə üçün, istənilən Video oyunu götürə bilərsiniz. Məsələn, Prince of Persia. ordakı oğlanın qaçmağı və ümumiyyətlə bütün oyunun Fizikası riyazi və hətta Fiziki düsturlara əsaslanan hesablamalar nəticəsində başa gəlir.
Ən yaxşı proqramlaşdırma dilləri
Müasir dövrümüzdə ən prestijli və zəruri “Proqramlaşdırma dilləri’’ni aşağıdakı kimi sistemləşdirərək və xarakterizə edərək, faydalarından yararlanmaq üçün oxucularımıza ‘’əlçatan’’‘etdik. 2020-ci il üçün ən yaxşı və innovativ “Proqramlaşdırma dilləri’’ni ən xırda detallarının belə diqqətinizdən yayınmağını istəmirsizə ekrana yaxın əyləşin və gözünüzü ‘’dörd ‘’açın : Python, Java, C/C++,JavaScript,Go və ya Golang, R, Swift, PHP, C#
“Proqramlaşdırma dillərinin döyünən ürəkləri’’
‘’Python’’ proqramlaşdırma dili
Ən üst səviyyədə proqramlaşdırma dili ‘’PYTHON’’ – sürətli, tez və istifadəsi asan dildirki ’’scalable web applications’’ inkişafında geniş istifadə olunur. YouTube, Instagram, Pinterest, SurveyMonkey bütünlüklə konstruksiyasında Python əsas rol oynayıb . Bol qazanclı və yaxşı iş axtarışında olanlar üçün ‘’Python ASAP”ı dərindən bilməyi məsləhət görürük. Əksər ‘’start up’’lar əsas backend üçün’’Python’’dan yararlanırlar. Beləliklə də bu ,’’ full stack python’’proqramçıları üçün geniş imkanlara yol açır.
Gəlin, birlikdə ‘’Python’’ proqramlaşdırma dilinin öyrənməyin çağdaş dövrümüz görə nə dərəcədə avantajlı və vacib olduğunu nümunələr əsasında nəzərinizə çatdıraq:
- ‘’Python’’ proqramlaşdırma dilində obyektlər və qruplar yaratmaq, sonra isə onlardan istifadəetmək artıq ‘’OOP’’ xüsusiyyətləri sayəsində daha asandır.
- ’Python’’ proqramlaşdırma dilin geniş və zəngin kitabxana dəstəyi var
- Bu proqramlaşdırma dilində kodun oxunaqlılığına birbaşa yönəldilir
- Ən mürəkkəb tətbiqləri belə, hətta, miqyaslandırmaq qabiliyyətinə malikdir
- Prototiplər yaratmaq və ideyaları daha sürətli sınaqdan keçirmək üçün idealdır
- Artan bir cəmiyyət dəstəyi ilə açıq mənbədə xidmət göstərir
- Çox sayda platforma və sistem üçün dəstək verir
- Öyrənmək və istifadə etmək çox asandır.
‘’Java’’ proqramlaşdırma dili
JAVA-irimiqyaslı şirkətlərin, təşkilatların seçimidir. ‘’Java’’ ‘’enterprise-scale web applications’’konfiqurasiyasında və ‘’Android App Development’’ də geniş istifadə olunur. Böyük arenada tanınan ‘’Java’’ istənilən biznes sahəsində yaxından müşaiət olunur. Ümumiyyətlə, hər biznes sahəsinin ‘’ Android Application owing’’ə ehtiyacı var. Çünki,bu faktdırki andriod istifadəçilərinin sayı bugün milyardı ötüb. Odur ki, yüksək gəlirli işlə təmin olunmaq ‘’JAVA’’ – ilə xəyal deyil.
‘’Java’’ proqramlaşdırma dilinin vacib nüansları isə bunlardır:
- Açıq mənbəli kitabxanaların bolluğu ilə diqqətləri öz üzərinə çəkir.
- Avtomatik yaddaş ayırması və zibil toplamasına qabildir.
- ’’OOP’’ paradiqmasına əməl etməsi özəlliyinə mənsubdur.
- Yığım bölgüsü sisteminə malikdir.
- ’’JVM’’ xüsusiyyəti sayəsində yüksək dərəcədə platforma müstəqilliyi olması danılmazdır
- Paylanmış hesablama üçün idealdır.
- Verilənlər bazası bağlantısı, şəbəkə, kommunal xidmətlər və ‘’XML ‘’analizi kimi müxtəlif tapşırıqları
- yerinə yetirmək üçün ‘’API’’-lərdən bir çoxunu təklif edir.
- ’’Multithreading’’ -i dəstəkləyir.
‘’C/C++’’ proqramlaşdırma dili
C/C++ sanki proqramlaşdırmanın ‘’yağ’’ və ‘’çörəy’’inə bənzədilir. Demək olar ki, bütün ‘’low-level systems’’ eləcədə ‘’operating systems’’, ‘’file systems’’ və s. C/C++ “proqramlaşdırma dilində’’ yazılır .’’Competitive programmers owing’’ tərəfindən istifadə olunan C/C++ son dərəcə sürətli və stabildir. Mükəmməl ’’System-level programmer’’ olmaq arzusundasınızsa, C/C++ məhz sizə görədir.
‘’C / C++’’ proqramlaşdırma dilinin möhtəşəm üstünlükləri ilə qarşınızdayıq:
- ‘’C /C++’’ilə işləmək üçün tərtibçilər və kitabxanalar cəmiyyəti mövcuddur.
- ‘’C / C++’’ digər proqramlaşdırma dilləri tərəfindən blok edilmiş və ya gizlədilmiş obyektlərə daxil olmağı asanlaşdırır.
- ‘’C / C++’’ üzərində əksər proqramlaşdırma dillərinə nisbətən proqramların daha sürətli icrası mümkündür.
- ‘’C / C ++’’ daha mürəkkəb proqramlaşdırma dillərini başa düşmək üçün əsas yaradır
- ‘’C / C++’’da çox cihazlı, çox platformalı tətbiqetmənin inkişafı üçün seçim dili vardır.
- Böyük bir ‘’daşınma dərəcəsi’’ni təklif etmə funksiyası mövcuddur.
- ‘’C/C++’’da bir qrup funksiya modulu və blok ilə prosedur yönümlü dilin mövcudluğu proqramları ayırd etməyi, sınaqdan keçirməyi və sazlamağı asanlaşdırır.
- ‘’C/C++’’da proqramlar daha səmərəli və başa düşüləndir.
- ‘’C/C++’’ zəngin funksiyalı kitabxanası ilə xidmətinizdədir.
- ‘’C/C++’’ ’’Sistem aparatına ‘’yaxın işləyir və buna görə aşağı səviyyədə abstraksiya təklif edir.
‘’JavaScript’’ proqramlaşdırma dili
JavaScript- “frontend” proqramlaşdırma dilidir və ‘’interactive frontend application’’lərin dizaynlaşdırılmasında daha cox rast gələ bilərik. Bu günlərdə əksər təşkilatlar, xüsusi ilə ‘’startup’’lar NodeJS-ni istifadə edirki, elə o da ‘’run-time environment ‘’ ə əsaslanmış ‘’JavaScript’’-dir.
“Frontend” proqramlaşdırma dili olan ‘’JavaScript’’-aşağıdakı önəmli funksiyaları var:
- Müştəri yönümlü ‘’JavaScript’’ çox sürətlidir və tərtib tələbi olmadığı üçün dərhal ‘’the web browser’’ daxilində işləyir.
- ‘’A website’’üçün daha zəngin bir ‘’ interface’’ verir.
- ‘’JavaScript’’həm də universaldır və ‘’web’’ proqramlaşdırma dilidir.
- ’’ECMA’’dəqiqləşdirmə yolu ilə mütəmadi olaraq yeniləmə baş verir.
- İşləmə qabiliyyətini uzatmaq üçün ,bir neçə’’add -ons’’ olunması.Buna ‘’Greasemonkey’’ misal gətirə bilərik.
- Sadə tətbiqlərin mövcudluğu.
- Digər proqramlaşdırma dili ilə olduqca yaxşı işləyir
‘’Go’’ proqramlaşdırma dili
Go və ya Golang Google-da Google-un mühəndisləri və digər proqramçılar tərəfindən yaradılmışdır GO-nun öyrədilməsini vacib edən amillər aşağıdakı kimi xarakterizə edə bilərik:
- Go statik tipli kompilyasiya olunan dildir.
2. O, GoRoutine-lərin köməyi ilə daxili paralelizmi dəstəkləyir.
4. Go-da sətrlər susmaya görə UTF-8 ilə kodlaşdırılmışdır.
5. Digər kompilyasiya olunan dillər ilə müqayisədə Go daha sadə sintaksisə malikdir.
6. Go-da proqram təminatı bir fayla kompilyasiya olunur.
‘’R’’ proqramlaşdırma dili
‘’R’’ proqramlaşdırma dili ‘’Data Analysis’’ və ‘’Machine Learning’’üzrə istifadə olunan proqram dillərindən biridi. R nəinki yüksək səviyyəli çərçivələrlə həmçininin ’’Machine Learning algorithm’’lərin güclü inkişafı üçün daxili kitabxanalarla təmin edir . R eləcə də, qrafiklər də ümumi ‘’statistical computing’’ üzrə istifadə edilir. R müəssələr tərəfindən yüksək formada qəbul edilmişdir.
‘’R’’ proqramlaşdırma dilinin üstünlükləri:
1.Müxtəlif əməliyyat sistemlərində problemsiz işləmə bacarığı
2.Hərtərəfli statistik analiz dili
3.Güclü paket ‘’ecosystem’’-i
4.Yüksək səviyyyədə ‘’uzadıla bilmə’’ funksiyasına malikliyi.
5. Fəal ‘’ mushrooming’’ toplumu olması.
6. ‘Açıq mənbəli və ’’tweak’’etmə qabilliyi.
‘’PHP’’ proqramlaşdırma dili
PHP -‘’backend’’ proqram dilləri arasında ən məşhurudur. PHP- nin üstünlüklərini bu cür xarakterizə etmək olar:
- PHP kod HTML kodun içərisində belə işlənə bildiyindən, PHP də yazılan veb səhifələr tez yüklənir
- PHP Açıq Kod Sistemınə malik bir proqramlaşdırma dilidir
- PHP çox asan dil olduğundan , yeni başlayanlar üçün də sərfəli bir dildir
- PHP Windows,Linux,Macintosh və s. kimi əməliyyat sistemlərində işlənir
- Əgər sizin php scriptiniz düzgün yazılıbsa ,onda proqramın kodu istifadəçilər tərəfindən görsənməyəcək ( Gələcəkdə özünüz bunun şahidi olacaqsınız)
- PHP demək olar ki, yalnız web proqramistin fantaziyası ilə məhdudlaşır. Webə aid nə istəsəniz, php nin köməyi ilə edə bilərsiniz.
‘’Swift ‘’proqramlaşdırma dili
Swift ‘’ iOS application’’ larının inkişafında əvəzsiz rol oynayan və öyrənilməsi vacib proqram dilidir . ‘’iOS’’ əsaslı qurğular onun popluyarlığıni daha da artırdı. Bu proqram dilində yen xüsusiyyətlər əlavə etmək çox asandır .Swift eyni zamanda ‘’developer’’ləri aydın və oxunaqlı kod yazmağa cəsarətləndirir
1. Avtomatik yaddaş idarəetmə, yaddaş sızmasının qarşısını alır.
2.’’Apple‘’ tərəfindən dəstəklənir.
3. Mükəmməl ‘’scalability’’ imkanının olması asanlıqla məhsula funksionallıq əlavə etmək və ya əlavə inkişaf etdiricilər gətirmək imkanı verir.
4.Yeni xüsusiyyətlər əlavə etmək asandır.
5.’’ Developer’’-ləri aydın və oxunaqlı kod yazmağa təşviq edir.
6.İngilis dilinin zəngin sintaksis quruluşu onu çox oxunaqlı hala gətirir.
7.’’ Objective-C’’ilə qarşılıqlı əlaqəlidir.
8.Hər hansı bir texnologiya ilə ‘’Server-side Swift’’-i birləşdirmək mümkündür.
9.Həm ‘’frontend’’, həm də ‘’backend’’-in inkişaf üçün istifadə edildikdə, kod mübadiləsini daha yaxşı və inkişaf prosesini daha sürətli edir.
10.Digər populyar proqramlaşdırma dilləri ilə müqayisə etdikdə, (məsələn, ‘’Objective-C’’ və ‘’Python’’ kimi) çox sürətli və daha mükəmməldir.
‘’C#’’proqramlaşdırma dil
‘’C#’’ nəyinki ‘’Microsoft’’ firmasının inkişaf etdirdiyi yeni nəsil proqramlaşdırma dilidir, eyni zamanda ‘’Microsoft’’ tərəfindən inkişaf etdirilmiş olan ‘’NET’’ texnologiyası üçün təkmilləşdirilmiş bir dildir.’’C#’’ proqramlaşdırma dili ‘’Window’’ mobil telefon tetbiqlərinin və oyunlarının qurulmasında və‘’backend programming’’üzrə çoxşaxəli istifadə edilir.
‘’C#’’proqramlaşdırma dilinin yüksək keyfiyyətli özəlliklərini bu cür xarakterizə edə bilərik:
1.Paylaşılan ‘’codebase’’ ləri ilə işləmə bacarığına malikdir..
2.Avtomatik ölçülən və yenilənə biləndir.
3. ‘’Component-oriented’’, və ‘’object-oriented’’ proqramlaşdırma dilidir.
4.’’NET ‘’kitabxanasının bütün tipləri üçün idealdır.
5.Windows inkişafının bütün növləri üçün idealdır
6.format təhlükəsizliyini dəstəkləyir
7.Tez tərtib və icra müddəti mövcuddur.
Comments are closed, but trackbacks and pingbacks are open.