Bør dataforskere lære JavaScript?

Fordeler og ulemper ved å bruke nettets # 1 språk for datavitenskap

Hvis du har fulgt teknologilandskapet de siste årene, har du sannsynligvis lagt merke til minst to ting.

For det første har du kanskje lagt merke til at JavaScript er et veldig populært språk i disse dager. Det har vokst i popularitet helt siden Node.js tillot JavaScript-utviklere å skrive koden på serversiden.

Mer nylig har rammer som Electron, Cordova og React-Native gjort det mulig for JavaScript-utviklere å bygge innfødte apper over et bredt spekter av plattformer.

Du har sikkert også lagt merke til at det er mye spenning rundt datavitenskap, spesielt maskinlæring. Nylige fremskritt innen teori og teknologi har gjort dette en gang esoteriske feltet mye mer tilgjengelig for utviklere.

Du kan da spørre om de lager en naturlig sammenkobling? Bør dataforskere vurdere å lære JavaScript?

De fleste dataforskere jobber med en kombinasjon av Python, R og SQL. Hvis du er ny i feltet, er dette språkene du bør mestre først .

Dataforskere kan også spesialisere seg på et annet språk som Scala eller Java. Det er mange grunner til at disse språkene er så populære.

Men relativt få dataforskere spesialiserer seg på JavaScript.

Men gitt JavaScript allestedsnærværende og datavitenskapens popularitet, hvor mye kan dataforskere ha nytte av å lære selv det grunnleggende om språket? Og hva med JavaScript-utviklere som vil utforske datavitenskap?

La oss starte med å se på noen viktige innvendinger, og deretter gjennomgå noen argumenter til fordel.

Imot

  • Funksjonalitet - JavaScript har bare ikke rekkevidden av datavitenskapspakker og innebygd funksjonalitet sammenlignet med språk som R og Python. Hvis du ikke har noe imot å gjenoppfinne hjulet, kan dette være mindre av et problem. Men hvis du trenger å kjøre mer sofistikerte analyser, vil du gå tom for alternativer ganske raskt.
  • Produktivitet - En annen fordel med Python og Rs omfattende økosystemer er at det er mange guider og veiledninger som er tilgjengelige for nesten alle datavitenskapelige oppgaver du ønsker å gjøre. For JavaScript er dette egentlig ikke tilfelle. Du vil sannsynligvis ta lengre tid å finne ut hvordan du kan løse et datavitenskapsproblem i JavaScript enn du ville gjort i Python eller R.
  • Multitrading - Det er ofte nyttig å behandle store datasett eller kjøre simuleringer parallelt. Node.js er imidlertid ikke egnet for beregningsintensive, CPU-bundne oppgaver. For slike oppgaver har språk som Python, Java eller Scala overtaket over JS. Men sjekk ut Microsofts Napa.js-prosjekt. Det gir en flertrådet JavaScript-kjøretid som kan utfylle Node.js.
  • Mulighetskostnad - Kanskje hovedårsaken til at dataforskere har en tendens til ikke å lære mange språk utover Python og R, skyldes 'mulighetskostnad'. Hver time brukt på å lære et annet språk er en time som kunne vært investert i å lære et nytt Python-rammeverk eller et annet R-bibliotek. Mens disse språkene dominerer arbeidsmarkedet for datavitenskap, er det mer insentiv til å lære dem. Og fordi datavitenskap er et så raskt bevegelig felt, er det alltid noe nytt å lære.

Til

  • Visualisering - JavaScript utmerker seg ved datavisualisering. Biblioteker som D3.js, Chart.js, Plotly.js og mange andre gjør kraftig datavisualisering og dashboards veldig enkle å bygge. Sjekk ut noen gode D3-eksempler!
  • Produktintegrasjon - Flere og flere selskaper bruker webteknologier med en Node-basert stabel for å bygge sitt kjerneprodukt eller -tjeneste. Hvis din rolle som dataforsker krever at du jobber tett med produktutviklere, kan det ikke skade å 'snakke' det samme språket.
  • ETL - Databehandlingsrørledninger implementeres vanligvis på et generelt språk, som Python, Scala eller Java. JavaScript ser ofte ikke inn. Dette kan imidlertid være urettferdig. Node's filsystemmodul 'fs' gir en flott API som lar deg ringe standard filsystemoperasjoner enten synkront eller asynkront. Node spiller også fint sammen med MongoDB og mange andre populære databasesystemer. Streams API gjør det veldig enkelt å jobbe med strømmer av store data - en annen potensiell fordel for ETL. Som nevnt ovenfor, se Microsofts Napa.js-prosjekt for multitrading og parallellbehandling.
  • Tensorflow.js - Hvem sier at JS ikke kan gjøre kule maskinlærings ting? Tidligere i 2018 ble Tensorflow.js utgitt. Dette bringer maskinlæring til JavaScript-utviklere - både i nettleseren og på serversiden. Tensorflow er et populært maskinlæringsbibliotek, utviklet av Google og laget åpen kildekode i 2015. Gestgjenkjenning, objektgjenkjenning, musikkomposisjon ... du heter det, du kan sannsynligvis ha det. Det beste du kan gjøre akkurat nå er å ta en titt på noen demoer.

Konklusjon

Så skal dataforskere lære JavaScript?

Å lære JavaScript vil ikke skade ditt CV. Men ikke lær det som erstatning for andre språk.

Som førstespråk er det beste rådet å lære en av enten Python eller R. Du bør også bli komfortabel med å bruke noe databasespråk, for eksempel SQL eller MongoDB.

Men når du først er kjent med det grunnleggende, kan det være lurt å spesialisere deg videre. Kanskje du vil lære Apache Spark for å jobbe med gigantiske, distribuerte datasett. Eller kanskje du foretrekker å lære et annet språk som Scala, eller MATLAB eller Julia.

Hvorfor ikke vurdere JavaScript? Det vil vise seg å være verdifullt hvis du vil spesialisere deg i datavisualisering, eller hvis din rolle krever at du jobber tett med et produkt bygget med JavaScript eller en relatert teknologi.

JavaScript's maskinlæringsfunksjoner utvikler seg raskt. For noen brukssaker er det kanskje allerede et sterkt alternativ til de vanlige datavitenskapsspråkene.

Til syvende og sist er avgjørelsen både praktisk og personlig. Det avhenger av hvilke aspekter ved datavitenskap du synes er mest interessante, og hvilke karrieremuligheter som begeistrer deg mest.

Men med dagens trender er en ting sikkert. I løpet av de kommende årene vil JavaScript åpne flere dører enn det lukkes.