Programiranje

Zakaj R? Prednosti in slabosti jezika R.

Programski jezik R je pomembno orodje za razvoj na področju numerične analize in strojnega učenja. Ker so stroji vse bolj pomembni kot generatorji podatkov, lahko pričakujemo, da bo priljubljenost jezika samo naraščala. Toda R ima tako prednosti kot slabosti, ki bi jih morali razvijalci poznati.

Z zanimanjem za naraščajoči jezik, kot je razvidno iz indeksov priljubljenosti jezika, kot so TIobe, PyPL in Redmonk, se je R prvič pojavil v devetdesetih letih in je služil kot izvedba statističnega programskega jezika S. Ugotavlja Roger Peng, 18-letni veteran programiranja R, ki poučuje jezik R na univerzi in na spletni platformi Coursera, "R je najbolj priljubljen jezik, ki se uporablja na področju statistike."

"Všeč mi je [R], ker je zelo enostavno programirati z bolj računalniške ravni," pravi Peng. In R je sčasoma postajal hitrejši in služi kot lepilni jezik za sestavljanje različnih naborov podatkov, orodij ali programskih paketov, pravi Peng.

"R je najboljši način za ustvarjanje ponovljive in visokokakovostne analize. Ima vso prilagodljivost in moč, ki jo iščem pri obdelavi podatkov," pravi Matt Adams, podatkovni znanstvenik pri Code School, ki ponuja izobraževanje o spletnem programiranju. "Večina programov, ki jih pišem v jeziku R, so pravzaprav samo zbirke skriptov, ki so organizirane v projekte."

R-jev močan paket ekosistema in prednosti načrtovanja

Prednosti R vključujejo njegov paketni ekosistem. "Obsežnost paketnega ekosistema je zagotovo ena najmočnejših lastnosti R-ja - če obstaja statistična tehnika, obstaja verjetnost, da zanjo že obstaja paket R," pravi Adams.

"Vgrajeno je veliko funkcionalnosti, ki so namenjene statistikom," pravi Peng. R je razširljiv in razvijalcem ponuja bogato funkcionalnost za izdelavo lastnih orodij in metod za analizo podatkov, pravi. "Sčasoma je to privlačilo veliko več ljudi z drugih področij," vključno z bioznanostmi in celo humanistiko.

"Ljudje ga lahko podaljšajo, ne da bi morali vprašati za dovoljenje." Peng se dejansko spominja pogojev uporabe R, ki so bili v veliko pomoč pred mnogimi leti. "V času, ko je prvič izšel, je bila največja prednost, da je bila to brezplačna programska oprema. Izvorno kodo in vse o njej je bilo na voljo za ogled."

Vse R-jeve grafične in grafične zmogljivosti so po besedah ​​Adamsa "neprimerljive." Paketa dplyr in ggplot2 za manipulacijo podatkov in načrtovanje podatkov "sta mi dobesedno izboljšala kakovost življenja," pravi.

Pri strojnem učenju so prednosti R-ja povezane predvsem z močnimi vezmi R-ja z akademskim svetom, pravi Adams. "Vsaka nova raziskava na tem področju ima verjetno priložen paket R, ki ga lahko spremlja že od samega začetka. Torej R ostaja na tem področju najnovejši," pravi. "Paket caret ponuja tudi precej prijeten način strojnega učenja v R-ju s sorazmerno poenotenim API-jem." Peng tudi ugotavlja, da je v R. implementiranih veliko priljubljenih algoritmov strojnega učenja.

R-jeve pomanjkljivosti na področju varnosti in upravljanja pomnilnika

Kljub vsem svojim prednostim ima R svoj delež pomanjkljivosti. "Upravljanje spomina, hitrost in učinkovitost so verjetno največji izzivi, s katerimi se sooča R," pravi Adams. "Za napredek na teh frontah so bili - in se še vedno - doseženi koraki. Tudi ljudje, ki prihajajo na R iz drugih jezikov, bi lahko R imeli tudi domiselnega."

Osnovno načelo R izhaja iz programskih jezikov, zgrajenih v šestdesetih letih, pravi Peng. "V tem smislu gre za nekako staro tehnologijo, kot je bila prvotno zasnovana." Zasnova jezika lahko včasih predstavlja težave pri delu z zelo velikimi nabori podatkov, pravi. Podatki morajo biti shranjeni v fizičnem pomnilniku. Ker pa so računalniki dobili več pomnilnika, to ni več problem, ugotavlja Peng.

Peng pravi, da zmogljivosti, kot je varnost, niso bile vgrajene v jezik R. Prav tako ni mogoče vdelati R v spletni brskalnik, pravi Peng. "Ne morete ga uporabljati za spletne ali internetne aplikacije." V bistvu je bilo nemogoče uporabiti R kot zaledni strežnik za izvajanje izračunov zaradi pomanjkanja varnosti v spletu, pravi. Varnostno vprašanje pa je zmanjšal razvoj, kot je uporaba navideznih zabojnikov na oblačni platformi Amazon Web Services, pravi Peng.

Pravi, da v jeziku dolgo ni bilo veliko interaktivnosti. Jeziki, kot je JavaScript, morajo še vedno vstopiti in zapolniti to vrzel, pravi Peng. Čeprav se analiza lahko opravi v R, lahko predstavitev rezultatov poteka v drugem jeziku, kot je JavaScript, pravi.

R ni samo za napredne programerje

Kljub temu Adams in Peng vidita R kot dostopen jezik. "Ne izhajam iz računalništva in nikoli nisem želel postati programer. Poznavanje programov zagotovo pomaga pri dodajanju R v orodjarno, vendar ne bi rekel, da je to potrebno za začetek," pravi Adams.

"Sploh ne bi rekel, da je R za programerje. Najbolj primeren je za ljudi, ki imajo težave, usmerjene v podatke, ki jih skušajo rešiti, ne glede na njihovo programsko sposobnost," pravi.

$config[zx-auto] not found$config[zx-overlay] not found