Nii Python kui ka Ruby on kõrgetasemelised serveripõhised skriptikeeled, mis keskenduvad peamiselt suure jõudlusega krõbedamatele koodidele ja mida kasutatakse laialdaselt veebirakenduste ja prototüüpide arendamisel. Nad on ka kogukonna seas eelistatuimad parima programmeerimiskeele kandidaadid. Ruby alustas Jaapanis 1993. aastal ja suurima versiooni väljalase oli USA-s 2001. aastal. Pythoni mõtles välja 1980. aastate lõpus Guido van Rossum ja selle juurutamist alustati 1989. aasta detsembris koos suurema versiooni väljaandmisega 1995. Skriptikeeled on muutunud uskumatult on aastate jooksul populaarne ja kõik pole ühe skriptikeelega rahul. Python on viimase paari aasta jooksul saavutanud märkimisväärse veojõu ja ka Ruby on pälvinud palju tähelepanu alates Ruby on Rails ilmumisest. Siin on lühike võrdlus kahe populaarse skriptikeele vahel.

Mis on Python?

Python sai alguse Guido van Rossumi lemmikloomaprojektina 1980. aastate lõpus ja viidi ametlikult ellu 1989. aasta detsembris CWI-s Hollandis. Seejärel asus ta töötama uue skriptikeele kallal, kasutades süntaksi, mis sarnanes ABC programmeerimiskeelega, kuid parandatud jõudlusega, et kõrvaldada ABC puudused. Lõpuks tutvustas ta esimest programmeerimiskeele ametlikku versiooni 1991. aastal. Aja jooksul sai sellest kogukonna seas üks populaarsemaid ja laialdasemalt kasutatavaid programmeerimiskeeli. See on võimas ja kõrgetasemeline programmeerimiskeel, mida on siiski lihtsam õppida ja haarata. Pythoni võimsust võrreldakse sageli Perliga, kuid selle süntaks on palju lihtsam ja kood on hästi loetav. Parim osa on Python avatud lähtekoodiga, mis tähendab, et igaüks saab lähtekoodi muuta, allikat edasi anda või kasutada, kui ta ei takista teisi sama tegemast.

Mis on Ruby?

Ruby on dünaamiline, kõrgetasemeline, objektorienteeritud skriptikeel, mida kasutatakse peamiselt üldotstarbeliseks programmeerimiseks. See on ilus ja osav keel, mis keskendub inimkeele programmeerimisele ja sellel on potentsiaal asendada kõikvõimas Perli. Nagu moto ütleb: “Selle saavutamiseks on paremaid viise”, on ka Rubyga sama asja tegemiseks alati hulgaliselt võimalusi. Algselt kavandas see programmeerijate tootlikkuse suurendamise vahendina 1990. aastate keskel Yukihiro “Matz” Matsumoto Jaapanis. Sellel on lisaks puhtale objektorienteeritud programmeerimiskeelele (OOP) palju funktsioone, mis on sarnased, kuid võimsamad kui Perl. Lisaks paindlikkusele on seda lihtne välja mõelda. Ja Rubyl on tapjarakendus nimega Ruby on Rails - veebirakenduste raamistik andmebaasidega veebisaitide kiireks ja probleemivabaks tootmiseks.

Pythoni ja Ruby erinevus

  1. Keel

- Ehkki nii Python kui ka Ruby on kõrgetasemelised serveripõhised skriptikeeled, eriti esimesed keeled, ja kogukonnas kõige populaarsemad, kuid neil on erinev filosoofia. Mõlemad on objektorienteeritud, dünaamilised programmeerimiskeeled. Pythoni võimsust võrreldakse sageli Perliga, kuid selle süntaks on palju lihtsam ja kood on hästi loetav, samas kui Rubyl on palju funktsioone, mis on Perliga sarnased, kuid võimsamad. Pythonit eelistatakse enamasti arvutusülesannete jaoks, samas kui Ruby võimaldab teil teha asju paljudel viisidel, mitte ainult ühel viisil, nii et saate seda oma teed.

  1. Instantiseerimine

- Instantimine on protsess, mille kaudu objektiklass luuakse objekti esinemisjuhu järgi. Ruby esinemismuutujad on rangelt privaatsed, neile pääseb juurde ainult meetodite kaudu, seega on vaja meetodi väärtust. Eksemplarimuutujad määratlevad atribuutidele juurdepääsu saamiseks meetodid „getter“ ja „setter“, esimene neist on atribuudi nimi, viimane on suletud võrdusmärgiga. Instantimine on üsna vähem funktsionaalne kui Pythonis, kus klassi peetakse objekti tagastava funktsioonina. Selle asemel on klassid ise objektid, nii et eksemplari ja objekti kasutatakse vaheldumisi.

  1. Mutuvus

- Python esindab kõiki oma andmeid objektidena, millest loend ja sõnastikud on muudetavad, mis tähendab, et neid saab muuta pärast nende loomist või nende identiteeti muutmata. Muud sisseehitatud tüüpi objektid, näiteks int, hõljumine, täiendid, stringid ja Unicode, on muutumatud, mis tähendab, et nende sisu ei saa muuta. Ruby keeles on vahetatavus eksemplari, mitte kogu klassi omadus. Erinevalt Pythoni versioonist on stringid Rubiinis muudetavad, kuid neid saab muuta külmutamismeetodi abil. Tegelikult on Rubinis praktiliselt kõik vaikimisi muudetav ja neid saab muuta.

  1. Raamid

- Mõned kõige levinumad, ent populaarsemad Pythoni täisversioonid on Django, Flask, web2py, Bottle, Google App Engine, TurboGears, CherryPy ja palju muud. Kõik need on populaarsed veebiraamistikud veebirakenduste kirjutamiseks, kuid Django on populaarseim Pythoni veebiraamistik, mis aitab teil minimaalse vaevaga üles ehitada kvaliteetseid veebirakendusi ja laseb teil vastavalt vajadusele töötada väljaspool raamistikku. Ruby on Rails on kõige populaarsem ruby ​​keeles kirjutatud veebiraamistik Ruby ja seda mainitakse sageli muude kodeerivate keelte (nt HTML ja CSS) kõrval, kuid see ei kuulu kodeerimiskeele kategooriasse üldse.

Python vs Ruby: võrdlusdiagramm

Kokkuvõte Python vs Ruby

Nii Python kui ka JavaScript on kõrgetasemelised serveripõhised skriptikeeled, mida kasutatakse veebirakenduste arendamiseks, kuid millel on erinevad filosoofiad. Ruby on pigem tõlgitud kui kompileeritud keel, tegelikult võite Rubyks nimetada skriptikeelt, objektorienteeritud keelt ja värskendavat keelt. Üks parimatest Ruby aspektidest on selle kokkusobivus. Python on kõrgetasemeline avatud lähtekoodiga serveripoolne skriptikeel, mis on võimas, kuid seda on lihtsam õppida. Selle võimsust võrreldakse tavaliselt Perliga, kuid selle süntaks on palju lihtsam ja kood on hästi loetav, samas kui Rubyl on palju funktsioone, mis on Perliga sarnased, kuid võimsamad. Mõlemal keelel on tugevad kogukonnad, Pythonil aga mitmekesisem.

Viited

  • Kujutise krediit: https://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Ruby-logo-R.svg/500px-Ruby-logo-R.svg.png
  • Pildikrediit: https://commons.wikimedia.org/wiki/File:Lozingle_10032014.jpg
  • Nguyen, Quan. CAD skriptikeeled. Cupertino, CA: Ramacad Inc., 2008. Prindi
  • Fitzgerald, Michael. Ruby õppimine: keel, mis jõuab. Sebastopol, CA: O’Reilly Media, 2007. Prindi
  • Flanagan, David ja Yukihiro Matsumoto. Ruby programmeerimiskeel. Sebastopol, CA: O’Reilly Media, 2008. Prindi