Vai datu zinātniekiem vajadzētu mācīties JavaScript?

Plusi un mīnusi, kas saistīti ar tīmekļa valodas izmantošanu datu zinātnē

Ja pēdējos gados sekojat tehnoloģiju ainavai, iespējams, pamanījāt vismaz divas lietas.

Pirmkārt, jūs, iespējams, pamanījāt, ka mūsdienās JavaScript ir ļoti populāra valoda. Kopš tā laika Node.js ļāva JavaScript izstrādātājiem rakstīt servera puses kodu, tā popularitāte ir pieaugusi.

Pavisam nesen tādi ietvari kā Electron, Cordova un React-Native ļāva JavaScript izstrādātājiem veidot vietējās lietotnes visdažādākajās platformās.

Jūs, iespējams, esat arī pamanījis, ka datu zinātnes jomā, īpaši mašīnmācībā, ir daudz satraukuma. Nesenie sasniegumi teorijā un tehnoloģijā ir padarījuši šo kādreiz ezotērisko jomu daudz pieejamāku izstrādātājiem.

Tad jūs varētu jautāt, vai viņi veido dabisku pāri? Vai datu zinātniekiem būtu jāapsver JavaScript apguve?

Lielākā daļa datu zinātnieku strādā ar kādu Python, R un SQL kombināciju. Ja šajā jomā esat jauns, vispirms jums jāapgūst šīs valodas .

Datu zinātnieki var specializēties arī citā valodā, piemēram, Scala vai Java. Ir daudz iemeslu, kāpēc šīs valodas ir tik populāras.

Bet salīdzinoši maz datu zinātnieku specializējas JavaScript.

Tomēr, ņemot vērā JavaScript visuresamību un datu zinātnes popularitāti, cik daudz datu zinātnieki varētu gūt labumu, apgūstot pat valodas pamatus? Un kā ar JavaScript izstrādātājiem, kuri vēlas izpētīt datu zinātni?

Sāksim apskatīt dažus svarīgus iebildumus, pēc tam pārskatīt dažus argumentus par labu.

Pret

  • Funkcionalitāte - JavaScript vienkārši nav datu zinātnes pakotņu klāsta un iebūvētās funkcionalitātes salīdzinājumā ar tādām valodām kā R un Python. Ja jums nav iebildumu no jauna izgudrot riteni, tas varētu būt mazāks jautājums. Bet, ja jums ir nepieciešams veikt sarežģītākas analīzes, jums diezgan ātri beigsies iespējas.
  • Produktivitāte - Vēl viena Python un R plašo ekosistēmu priekšrocība ir tā, ka gandrīz visiem datu zinātnes uzdevumiem, kurus vēlaties veikt, ir pieejamas daudzas rokasgrāmatas un norādījumi. Attiecībā uz JavaScript tas tā īsti nav. Jūs, iespējams, prasīsit ilgāku laiku, lai uzzinātu, kā atrisināt datu zinātnes problēmu JavaScript, nekā jūs darītu Python vai R.
  • Daudzlīniju vītne - bieži vien ir noderīgi apstrādāt lielas datu kopas vai paralēli palaist simulācijas. Tomēr Node.js nav piemērots skaitļošanas ziņā intensīviem, ar CPU saistītiem uzdevumiem. Šādiem uzdevumiem virs JS ir tādas valodas kā Python, Java vai Scala. Apskatiet Microsoft projektu Napa.js. Tas nodrošina vairāku pavedienu JavaScript izpildlaiku, kas var papildināt Node.js.
  • Iespēju izmaksas - iespējams, galvenais iemesls, kāpēc datu zinātnieki mēdz nemācīties daudzas valodas ārpus Python un R, ir “alternatīvo izmaksu” dēļ. Katra stunda, kas pavadīta citas valodas apguvei, ir stunda, kuru varēja ieguldīt jauna Python ietvara vai citas R bibliotēkas apguvē. Lai gan šīs valodas dominē datu zinātnes darba tirgū, ir lielāks stimuls tās apgūt. Tā kā datu zinātne ir tik strauji mainīga joma, vienmēr ir jāmācās kaut kas jauns.

Priekš

  • Vizualizācija - JavaScript izceļas ar datu vizualizāciju. Tādas bibliotēkas kā D3.js, Chart.js, Plotly.js un daudzas citas padara jaudīgu datu vizualizāciju un informācijas paneļus patiešām viegli izveidojamus. Apskatiet dažus lieliskus D3 piemērus!
  • Produktu integrācija - arvien vairāk uzņēmumu izmanto tīmekļa tehnoloģijas ar uz mezglu balstītu skursteni, lai izveidotu savu pamatproduktu vai pakalpojumu. Ja jūsu kā zinātnieka loma prasa ciešu sadarbību ar produktu izstrādātājiem, tad tas nevar kaitēt, ja runājat tajā pašā valodā.
  • ETL - datu apstrādes cauruļvadi parasti tiek ieviesti vispārējas nozīmes valodā, piemēram, Python, Scala vai Java. JavaScript bieži netiek apskatīts. Tomēr tas varētu būt negodīgi. Mezgla failu sistēmas modulis 'fs' nodrošina lielisku API, kas ļauj sinhroni vai asinhroni izsaukt standarta failu sistēmas darbības. Node arī lieliski spēlē kopā ar MongoDB un daudzām citām populārām datu bāzu sistēmām. Streams API ļauj ļoti viegli strādāt ar lielu datu straumēm - vēl viena iespējama ETL priekšrocība. Kā minēts iepriekš, skatiet daudzsavienojumu un paralēlo apstrādi Microsoft projektā Napa.js.
  • Tensorflow.js - Kurš saka, ka JS nevar paveikt foršas mašīnmācīšanās lietas? Iepriekš 2018. gadā tika izlaists Tensorflow.js. Tas nodrošina mašīnmācīšanos JavaScript izstrādātājiem - gan pārlūkprogrammā, gan servera pusē. Tensorflow ir populāra mašīnmācīšanās bibliotēka, ko izstrādājusi Google un kas 2015. gadā ir izveidota kā atvērtais avots. Žestu atpazīšana, objektu atpazīšana, mūzikas kompozīcija ... jūs to nosaucat, iespējams, ka jums tas ir. Labākais, ko jūs varat darīt šobrīd, ir apskatīt dažas demonstrācijas.

Secinājums

Tātad, vai datu zinātniekiem vajadzētu mācīties JavaScript?

JavaScript iemācīšanās nekaitēs jūsu atsākšanai. Bet nemācieties to kā citu valodu aizstājēju.

Kā pirmā valoda labākais padoms ir iemācīties vienu no Python vai R. Jums vajadzētu arī ērti izmantot kādu datu bāzes valodu, piemēram, SQL vai MongoDB.

Tomēr, kad esat iepazinies ar pamatiem, jūs varētu vēlēties specializēties tālāk. Varbūt vēlaties uzzināt Apache Spark darbam ar milzīgām, izplatītām datu kopām. Vai varbūt vēlaties iemācīties citu valodu, piemēram, Scala, MATLAB vai Julia.

Kāpēc neņemt vērā JavaScript? Tas izrādīsies vērtīgs, ja vēlaties specializēties datu vizualizācijā vai ja jūsu loma prasa ciešu sadarbību ar produktu, kas izveidots, izmantojot JavaScript vai saistītu tehnoloģiju.

JavaScript mašīnmācīšanās iespējas strauji attīstās. Dažos lietošanas gadījumos tā, iespējams, jau ir spēcīga alternatīva parastajām datu zinātnes valodām.

Galu galā lēmums ir gan praktisks, gan personisks. Tas ir atkarīgs no tā, kuri datu zinātnes aspekti jums šķiet visinteresantākie un kādas karjeras iespējas jūs visvairāk aizrauj.

Bet, ņemot vērā pašreizējās tendences, viena lieta ir droša. Turpmāko gadu laikā JavaScript atvērs vairāk durvju nekā aizveras.