Pythonda nimalar qila olaman? Boshqalar nima qilishyapti?

Pythonda nimalar qila olaman? Boshqalar nima qilishyapti?

Pythonda nimalar qila olaman?

Python – yuqori darajali, obyektga yo’naltirilgan, interpretatsion til.

Hozirgi vaqtgacha butun dunyo Pythonni asosan nimalar uchun ishlatyapti?

Xo’sh, eng avval ko’zga tashlangan mashhur kompaniyalar miqyosida ta’riflar keltiramiz.

  • Google

Pythonda nimalar qila olaman? Google

Pythonda nimalar qila olaman? Boshqalar nima qilishyapti? 8

Pythonni u paydo bo’lgan vaqtlardanoq qo’llab keluvchi kompaniya. Tilni server tarafda ishlovchi dasturlar uchun keng qo’llashadi. Vaziyatni Google xodimi bir jumla bilan tushuntiradi: «Qayerdaki qo’llash mumkin bo’lsa – Python ishlatamiz, agar majbur bo’lsak – C++ ishlatamiz». Xotira boshqaruvi, tezlik muhim bo’lgan jarayonlarda C++ dan foydalaniladi. Pythonning soddaligi va prduktivlikning yuqoriligi sabab u orqali mahsulotlarni qisqa fursatlarda tayyorlashga erishish mumkin. Aynan mana shu Google dasturchilarini dastlab Javada yozilgan Spider’ni Pythonda to’liq qaytadan yozib chiqishga majbur qilgan (spider – veb saytlardan ma’lumotlarni ajratib olishda qo’llaniladi). Python asoschisi Guido Van Rossum 2005-2012-yillarda Googleda ishlagan.

  • Instagram

Pythonda nimalar qila olaman? instagram

Pythonda nimalar qila olaman? Boshqalar nima qilishyapti? 9

Instagram butunlay Pythonda yozilgan (mobil dasturlari emas). Ya’ni, uning server qismida Django qo’llanilgan. Dunyoning media gigantlaridan birini Pythonning tirik misoli sifatida bemalol ko’rsatish mumkin. Ma’lumot uchun: Instagram oylik 1 milliarddan ortiq aktiv foydalanuvchilarga ega va mana shuncha odamga Python xizmat ko’rsatadi. 2017-yilgacha Instagramda Python2 ishlatib kelingan, shu yili juda ko’p qismlar sekinlik bilan Python3 bilan almashtirib boshlangan.

  • Spotify

Pythonda nimalar qila olaman? Spotify

Pythonda nimalar qila olaman? Boshqalar nima qilishyapti? 10

Bu musiqa giganti Pythonni asosan 2 xil maqsadda qo’llaydi: servislar o’rtasida aloqani ta’minlash (ZeroMQ ni qo’llagan holda, u Python va C++ da yozilgan) va foydalanuvchilarga qo’shiqlarni tavsiya qilishdagi yirik ma’lumotlarni analiz qilish uchun.

  • Netflix

Pythonda nimalar qila olaman? Netflix

Pythonda nimalar qila olaman? Boshqalar nima qilishyapti? 11

Spotify kabi Netflix ham ma’lumotlarni analiz qilishda Pythonga suyanadi. Qo’shimchasiga Netflixdagi ‘Central Alert Gateway’ deb nomlangan dasturda Pythondan foydalanishgan. Uning asosiy vazifasi tizimdagi har qanday ogohlantirish xabarlarini aniqlab, kerakli odamlar, guruhlarga vaqtida yetkazish. Mana shu tizim sababli Netflix nosozliklar, noqulayliklarni juda tez aniqlaydi va o’z o’rnida bu mijozlardan tinimsiz qo’ng’iroqlar kelishining oldini oladi.

  • Reddit

Pythonda nimalar qila olaman? Reddit

Pythonda nimalar qila olaman? Boshqalar nima qilishyapti? 12

Reddit dastlab Lispda yozilgan. Sayt ishga tushganidan 6 oy o’tgach butun boshli tizim Pythonda qaytadan yozib chiqilgan. Bunga asosiy sabab qo’llash mumkin bo’lgan kutubxona dasturlarning ko’pligi va dasturlashning oson kechishi bo’lgan, deyiladi.

  • Tesla

Pythonda nimalar qila olaman? Tesla

Pythonda nimalar qila olaman? Boshqalar nima qilishyapti? 13

Mashina ishlab chiqaruvchi bu Amerika startup’ining Pythonga nima aloqasi bor? Gap shundaki, Tesla avotomobillarini Python boshqaradi, ya’nikim, avtopilot funksiyasi aynan Python yordamida tayyorlanadi. Albatta, bu jarayonni to’liq Python hal qilmaydi, tilning bu ishdagi o’rni – yirik ma’lumotlarni analiz qilish.

Pythonni ishlatuvchi kompaniyalar juda ko’p, hammasini sanab chiqa olmaymiz. Yuqoridagi ro’yxatdan Pythonning darajasini biroz bo’lsada his qildingiz, degan umiddaman.

Yana nimalarda qo’llash mumkin?

Xo’sh, ko’rinishidan butun dunyo Pythonni server dasturlari uchun qo’llayapti. Ammo bu Pythonning imkoniyati chegarasini emas, uning nimada kuchliroq ekanligini ko’rsatadi. Pythonda mana bu kabi ishalar ham qilish mumkin (qavs ichida Pythonda yozilgan kutubxonalar va freymvorklar ko’rsatib o’tiladi):

  • Kompyuter (Desktop) dasturlari (PyQt, PyGTK, PyJamas-Desktop, Toga, Tkinter, wxPython …)

  • Mobil dasturlar (Kivy)

  • O’yinlar tayyorlash (PyGame, Pyganim, Albow, OcempGUI, Pyglet, Arcade, cocos2d, Gloopy, PyOpenGL …)

  • Saytlardan ma’lumotlar ajratib olish (bs4, spider …)

  • Saytlar tayyorlash (Django, Flask, TurboGears, web2py …)

  • ‘Machine Learning’ & Ma’lumotlarni analiz qilish (Pandas, NumPy, SciPy, Matplotlib, Seaborn, Scikit-Learn, TensorFlow, Keras, NLTK …)

  • Rasmlar & videolar bilan ishlash (Pillow, scikit-image, OpenCV-Python, SciPy, SimpleCV, Mahotas, SimpleITK, pgmagick, Pycairo, video-processing, vidgear, moviepy …)

  • Audio bilan ishlash (PyAudio, Nsound, PyAudiere, Pydub, Snack …)

  • Mana shu ro’yxatga kritilmagan ko’plab boshqa ishlar…

Ro’yxat bu bilan tugamaydi. Pythonda kundalik ishlarni avtomatlashtirish, ko’ngilochar dasturlar tayyorlash va yana ko’plab boshqa ishlarni do’ndirish mumkin. Pythonda C/C++ kodlarni ham ishlata olish imkoniyatining mavjudligi uning qilishi mumkin bo’lgan ishlari ro’yxatini juda uzoqlarga cho’zib ketadi (bu haqida batafsil o’rganishingizni tavsiya qilaman, sizda google bor).

Nimalar tavsiya etilmaydi?

  • Android dasturchi bo’lmoqchimisiz? Pythonda qilsa bo’lar ekan, degani, shunda qilish kerak, degani emas. Android uchun Java/Kotlin eng yaxshi tanlov. Nega Python emas? Python qurilmalar bilan ishlashda haligacha juda yuqori natija ko’rsata olgan emas, bu ustida ayni vaqtgacha ishlar olib boriladi, biroq hozircha o’z davrining sinalgan tillarini ishlatgan ma’qul.

  • iOS dasturchi bo’lmoqchimisiz? Python umuman siz uchun emas. Swift – mana bu sizning tanlovingiz bo’lishi lozim.

  • Desktop developer bo’lmoqchimisiz? Yaxshi, bunda Pythonni qo’llash ham mumkin, biroq, undanda yaxshiroq tanlovlar talaygina… Siz esa dastur yaxshi chiqishi uchun o’sha yaxshiroq tanlovlarni amalga oshirishingiz zarur.

  • Yirik o’yinlar tayyorlamoqchimisiz? Keling qisqa qilamiz: Python GUI (grafik) dasturlarda nisbatan sekin ishlaydi, o’yinlarda esa tezlik muhim. Demak, Python yaxshi tanlov emas. Biroq onlayn o’yinlarning server qismini Pythonda yozish o’yinning grafikasini yozishga nisbatan to’g’riroq qaror bo’lishi mumkin.

  • Qurilmalar bilan ishlamoqchimsiz? Pythoning qurilmalarda juda bir yuqori darajada ishlay olmasligini ta’kidlagandim. Oxirgi vaqtlarda bu bo’yicha ishlar olib borilayotganiga qaramasdan (masalan, MicroPython), unaqa dasturlarda Pythonni qo’llash tavsiya etilmaydi. Nega? Qurilmalar, sxemalar darajasida ishlash uchun xotira boshqaruvi va tezlik muhim, Python bu jihatdan nisbatan kuchsizroq.

Muallif: Future Dreams

Manba: Python FAQ

Mohirdev