Programmēšana

Kāpēc R? R valodas plusi un mīnusi

R programmēšanas valoda ir svarīgs līdzeklis skaitliskās analīzes un mašīnmācīšanās telpu attīstībai. Mašīnām kļūstot arvien nozīmīgākām par datu ģeneratoriem, var sagaidīt, ka valodas popularitāte tikai pieaugs. Bet R ir gan plusi, gan mīnusi, kas izstrādātājiem būtu jāzina.

Interese par valodas pieaugumu, kā parādīts tādos valodas popularitātes indeksos kā TIobe, PyPL un Redmonk, R pirmo reizi parādījās pagājušā gadsimta deviņdesmitajos gados un kalpoja kā S statistiskās programmēšanas valodas ieviešana. Atzīmē Rodžers Pengs, 18 gadus vecs R programmēšanas veterāns, kurš māca R gan universitātē, gan tiešsaistes platformā Coursera: "R ir vispopulārākā valoda, ko izmanto statistikas jomā".

"Man patīk [R], jo to ir ļoti viegli programmēt no vairāk datorzinātnes līmeņa," saka Pengs. Un R laika gaitā ir kļuvis ātrāks un kalpo kā līmes valoda dažādu datu kopu, rīku vai programmatūras pakotņu apkopošanai, saka Pengs.

"R ir labākais veids, kā izveidot reproducējamu, kvalitatīvu analīzi. Tam ir visa elastība un jauda, ​​ko es meklēju, rīkojoties ar datiem," saka Matt Adams, Code School, kas piedāvā tiešsaistes programmēšanas izglītību, datu zinātnieks. "Lielākā daļa programmu, kuras es rakstu R, faktiski ir tikai skriptu kolekcijas, kas ir sakārtotas projektos."

R spēcīgā paketes ekosistēma un ieguvumu kartēšana

R priekšrocības ietver tā paketes ekosistēma. "Iepakojuma ekosistēmas plašums noteikti ir viena no R spēcīgākajām īpašībām - ja pastāv statistikas paņēmiens, izredzes ir, ka tam jau ir R pakete," saka Adams.

"Ir daudz iebūvētu funkcionalitāti, kas ir izveidota statistikas speciālistiem," saka Pengs. R ir paplašināms un piedāvā bagātīgu funkcionalitāti izstrādātājiem, lai izveidotu savus rīkus un metodes datu analīzei, viņš saka. "Laikam ejot, tas ir piesaistījis daudz vairāk cilvēku no citām jomām," ieskaitot biozinātnes un pat humanitārās zinātnes.

"Cilvēki to var pagarināt, neprasot atļauju." Patiešām, Peng atgādina, ka R lietošanas noteikumi ir bijuši liela palīdzība pirms daudziem gadiem. "Laikā, kad tā pirmo reizi parādījās, lielākā priekšrocība bija tā, ka tā bija bezmaksas programmatūra. Avota kods un viss tajā bija apskatāms."

Visas R grafikas un diagrammu iespējas, pēc Adamsas teiktā, ir "nepārspējamas". Paketes dplyr un ggplot2, kas paredzētas datu manipulēšanai un zīmēšanai, "burtiski ir uzlabojušas manu dzīves kvalitāti", viņš saka.

Mašīnmācībā R priekšrocības galvenokārt ir saistītas ar R ciešajām saitēm ar akadēmisko aprindu, saka Adams. "Jebkuram jaunam pētījumam šajā jomā, iespējams, ir pievienota R pakete, kas tai jāiet kopā no sākuma. Tāpēc šajā ziņā R paliek līderpozīcijā," viņš saka. "Paketes pakete piedāvā arī diezgan izveicīgu veidu, kā veikt mašīnmācīšanos R, izmantojot salīdzinoši vienotu API." Pengs arī atzīmē, ka R ir ieviesti daudzi populāri mašīnmācīšanās algoritmi.

R trūkumi drošības un atmiņas pārvaldībā

Neskatoties uz visām priekšrocībām, R ir sava daļa trūkumu. "Atmiņas pārvaldība, ātrums un efektivitāte, iespējams, ir lielākās problēmas, ar kurām R saskaras," saka Adams. "Ir gūti un joprojām tiek veikti panākumi šajās frontēs. Arī cilvēki, kuri nāk uz R no citām valodām, varētu uzskatīt R par savdabīgu."

R pamatprincips izriet no programmēšanas valodām, kas būvētas 1960. gados, saka Pengs. "Šajā ziņā tā ir sava veida veca tehnoloģija tā, kā tā sākotnēji tika izstrādāta." Valodas dizains dažkārt var radīt problēmas darbā ar ļoti lielām datu kopām, viņš saka. Dati ir jāglabā fiziskajā atmiņā. Bet, tā kā datori ir ieguvuši vairāk atmiņas, tas ir kļuvis mazāk jautājums, atzīmē Pengs.

Tādas iespējas kā drošība netika iebūvētas R valodā, saka Pengs. Arī R nevar ievietot tīmekļa pārlūkprogrammā, saka Peng. "To nevar izmantot tīmeklim līdzīgām vai internetam līdzīgām lietotnēm." Būtībā bija neiespējami izmantot R kā aizmugures serveri, lai veiktu aprēķinus, jo tam nav drošības tīmeklī, viņš saka. Tomēr drošības problēmu ir mazinājuši tādi notikumi kā virtuālo konteineru izmantošana Amazon Web Services mākoņu platformā, saka Pengs.

Ilgu laiku valodā nebija daudz interaktivitātes, viņš saka. Tādām valodām kā JavaScript joprojām ir jāpievienojas un jāaizpilda šī nepilnība, saka Pengs. Lai gan analīzi var veikt R, rezultātus var prezentēt dažādās valodās, piemēram, JavaScript, viņš saka.

R nav paredzēts tikai progresīviem programmētājiem

Tomēr Adamss un Pengs abi uzskata R kā pieejamu valodu. "Es neesmu cēlies no datorzinātnēm, un man nekad nav bijušas vēlmes kļūt par programmētāju. Zināšanas par programmēšanas pamatiem noteikti palīdz, pievienojot R jūsu rīkjoslai, taču es neteiktu, ka tas ir nepieciešams, lai sāktu darbu," saka Adams.

"Es pat neteiktu, ka R ir paredzēts programmētājiem. Tas ir vislabāk piemērots cilvēkiem, kuriem ir uz datiem orientētas problēmas, kuras viņi mēģina atrisināt, neatkarīgi no viņu programmēšanas piemērotības," viņš saka.

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