Python va Ruby ikkalasi ham yuqori darajadagi server tomonidagi skript tillari bo'lib, asosan yuqori aniqlikdagi kriptografiya kodlariga qaratilgan va veb-dasturlar va prototiplarni ishlab chiqishda keng qo'llaniladi. Ular, shuningdek, jamoatchilik orasida eng yaxshi birinchi dasturlash tiliga nomzodlar. Ruby 1993 yilda Yaponiyada boshlangan, AQShda esa uning katta versiyasi 2001 yilda, Python esa 1980-yillarning oxirlarida Gvido van Rossum tomonidan ishlab chiqilgan va 1989 yil dekabr oyida 1995 yilda nashr qilingan. yillar davomida ommalashgan va hamma ham birgina skript tilidan mamnun emas. Python so'nggi ikki yil ichida sezilarli tortishishlarga erishdi va Ruby Reysda Ruby paydo bo'lganidan beri ham katta e'tiborni tortdi. Ikkala mashhur skript tillarini qisqacha taqqoslash.

Python nima?

Python 1980 yillarning oxirlarida Gido van Rossumning uy hayvonlari loyihasi sifatida boshlangan va 1989 yil dekabr oyida Gollandiyada CWIda rasmiy ravishda amalga oshirilgan. U o'sha paytda ABC dasturlash tiliga o'xshash sintaksis bilan, ammo ABC kamchiliklarini bartaraf etish uchun yaxshilandi va yangi skript tili ustida ish boshladi. U nihoyat 1991 yilda dasturlash tilining birinchi rasmiy versiyasini taqdim etdi va vaqt o'tishi bilan u jamoat orasida eng mashhur va keng tarqalgan birinchi dasturlash tillaridan biriga aylandi. Bu kuchli, yuqori darajadagi dasturlash tili, ammo uni o'rganish va tushunish osonroq. Python-ning kuchi ko'pincha Perl bilan taqqoslanadi, ammo sodda sintaksis va yuqori kod o'qilishi bilan. Eng yaxshi tomoni, Python ochiq manbali bo'lib, har kim manba kodini o'zgartira olishi yoki boshqasidan foydalanishi mumkin emasligi sababli uni ishlatishi yoki ishlatishi mumkin.

Ruby nima?

Ruby dinamik, yuqori darajadagi, ob'ektga yo'naltirilgan skript tili bo'lib, asosan umumiy maqsadli dasturlash uchun ishlatiladi. Bu go'zal va badiiy til bo'lib, u insoniy tilda dasturlashga e'tiborni qaratadi va u qodir Perlning o'rnini bosishi mumkin. Shiori singari, "buni qilishning yaxshiroq usullari bor", Ruby bilan bir xil narsani qilishning har doim ko'p sonli usullari mavjud. Dastlab 90-yillarning o'rtalarida Yaponiyadagi Yukixiro “Matz” Matsumoto tomonidan dasturchilar uchun ishlab chiqarish vositasi sifatida yaratilgan. U sof ob'ektga yo'naltirilgan dasturlash (OOP) tiliga qo'shimcha ravishda Perl-ga o'xshash, ammo yanada kuchli xususiyatlarga ega. Moslashuvchan bo'lishdan tashqari, buni aniqlash oson. Va Ruby-da "Ruby on Rails" deb nomlangan qotil ilovasi mavjud - tez va muammosiz ma'lumotlar bazasi bo'lgan veb-saytlarni ishlab chiqarish uchun veb-ilovalar bazasi.

Python va Ruby o'rtasidagi farq

  1. Til

- Python va Ruby ikkalasi ham yuqori darajadagi server tomonidagi skript tillari, ayniqsa birinchi tillar, va jamiyatda eng mashhur bo'lgan tillardir, ammo ular turli xil falsafalarga ega. Ikkalasi ham ob'ektga yo'naltirilgan, dinamik dasturlash tillari. Python-ning kuchi ko'pincha Perl bilan taqqoslanadi, ammo sodda sintaksis va yuqori kodni o'qish qobiliyatiga ega, Ruby esa Perlga o'xshash va juda kuchli xususiyatlarga ega. Hisoblash vazifalari uchun Python asosan afzal ko'riladi, Rubi esa sizga ko'p yo'llar bilan ko'p narsalarni qilishga imkon beradi, shunchaki uni o'zingizning yo'lingiz bilan topishingiz mumkin.

  1. Instantitatsiya

Instantitizatsiya - bu ob'ekt namunasi sinfdan yaratiladigan jarayon. Ruby misolidagi o'zgaruvchilar qat'iy shaxsiy ma'noga ega, ular faqat usullar orqali kirish mumkin, shuning uchun usul qiymatiga ehtiyoj bor. Namunaviy o'zgaruvchilar atributlarga kirish uchun "getter" va "setter" usullarini belgilaydi, oldingi atribut nomidan, ikkinchisi tenglik belgisi bilan qo'shiladi. Instantitizatsiya Python-ga qaraganda ancha past darajada ishlaydi, bu erda ob'ekt ob'ektni qaytaradigan funktsiya sifatida qaraladi. Buning o'rniga, sinflar - bu ob'ektlarning o'zi, shuning uchun namuna va ob'ekt bir-birining o'rnida ishlatiladi.

  1. O'zgaruvchanlik

- Python o'zining barcha ma'lumotlarini ob'ektlar sifatida taqdim etadi, ulardan ro'yxat va lug'atlar o'zgaruvchan ma'noga ega bo'lib, ular yaratilgandan so'ng yoki shaxsini o'zgartirmasdan o'zgartirilishi yoki o'zgartirilishi mumkin. Ichki, suzuvchi, bog'lovchi, torli va unicode kabi boshqa o'rnatilgan ob'ektlar o'zgarmasdir, chunki ularning tarkibini o'zgartirib bo'lmaydi. Ruby-da o'zgaruvchanlik butun sinf uchun emas, balki bir misolning mulki hisoblanadi. Python-dan farqli o'laroq, satrlar Ruby-da o'zgaruvchan, ammo muzlatish usuli bilan o'zgartirilishi mumkin. Aslida, Ruby-da deyarli hamma narsa sukut bo'yicha o'zgaruvchan va ular o'zgartirilishi mumkin.

  1. Ramkalar

- Python-ning eng keng tarqalgan va ommabop to'liq ramkalari Django, Flask, web2py, shisha, Google App Engine, TurboGears, CherryPy va boshqalar. Ularning barchasi veb-ilovalarni yozish uchun mashhur veb-ramkalardir, ammo Django eng mashhur Python veb-ramkasi bo'lib, sizga minimal shovqin bilan yuqori sifatli veb-ilovalarni yaratishga yordam beradi va kerak bo'lganda doiradan tashqarida ishlashga imkon beradi. Ruby on Rails - bu Ruby-da yozilgan eng mashhur Ruby veb-ramkasi bo'lib, HTML va CSS kabi boshqa kodlash tillari qatorida tez-tez tilga olinadi, lekin kodlash tillari toifasiga umuman kirmaydi.

Python va Ruby: Solishtirish jadvali

Python va Ruby haqida qisqacha ma'lumot

Python va JavaScript ikkalasi ham veb-dasturlarni ishlab chiqish uchun ishlatiladigan yuqori darajadagi server tomonidagi skript tilidir, ammo har xil falsafalar bilan. Ruby - bu kompilyatsiya qilingan til emas, balki talqin qilingan, aslida siz Rubyni skript tili, ob'ektga yo'naltirilgan til va tetiklantiruvchi til deb atashingiz mumkin. Rubyning eng yaxshi tomonlaridan biri bu uning moslashuvchanligidir. Python - bu yuqori darajadagi, ochiq manbali server tomonidagi skript tili bo'lib, uni o'rganish oson va oson. Uning kuchi odatda Perl bilan taqqoslanadi, ammo sodda sintaksis va yuqori kodni o'qish qobiliyatiga ega, Ruby esa Perlga o'xshash, ammo kuchliroq xususiyatlarga ega. Ikkala til ham kuchli jamoalarga ega, ammo Python boshqa ranglarga ega.

Adabiyotlar

  • Tasvir krediti: https://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Ruby-logo-R.svg/500px-Ruby-logo-R.svg.png
  • Tasvir krediti: https://commons.wikimedia.org/wiki/Fayl:Lozingle_10032014.jpg
  • Nguyen, Quan. SAPR yozuvlari tillari. Cupertino, CA: Ramacad Inc., 2008. Chop etish
  • Fitsjerald, Maykl. Ta'limni yoqut: tilni o'rab turadigan til. Sebastopol, CA: o'lchovReilly Media, 2007. Chop etish
  • Flanagan, David va Yukixiro Matsumoto. Ruby dasturlash tili. Sebastopol, CA: ko'rishReilly Media, 2008. Chop etish