Salesforce: Hvorfor vi droppet Python for Google ‘ s Go sprog i Einstein Analytics

0
131

Python ‘s stigning stiller spørgsmål af JavaScript’ s dominans
Stigning i forespørgsler drevet af interesse i Python og fællesskab af nye programmører.

Salesforce for nylig har brugt $15.7 mia på analytics selskab Tableau til at styrke sin egen Einstein Analytics platform. Klart Salesforce ser analytics som afgørende for landets fremtid.

Men før virksomheden blev lanceret Einstein Analytics i 2017, det efterset backend og genopbygget det næsten udelukkende er baseret på Googles populære Gå, eller ‘Golang’, programmeringssprog.

I henhold til Salesforce vigtigste arkitekt Guillaume Le Stum, før Salesforce lanceret Einstein Analytics, forespørgslen motoren og datasæt skabe værktøjer, der i sidste ende blev Einstein Analytics blev skrevet i C “til ydeevne” og en Python wrapper, der er fastsat funktionalitet som parsing forespørgsler, og en REST API server.

“I det væsentlige, produktet er bygget til at få det bedste fra begge verdener,” forklarer Le Stum i et indlæg på Stack Overflow.

“Python er god til hurtigt at skrive på et højere niveau applikationer, men det betyder ikke altid at levere høj ydelse, der er behov for på et virksomhedsniveau. C skaber meget højtydende eksekverbare filer, men tilføjer funktioner tager en masse mere tid.”

Python er selvfølgelig enormt populær blandt udviklere, herunder ingeniører på Netflix, der bruger Python i alle dele af sin store streaming-infrastruktur.

Men før lanceringen, Le Stum, siger de tarme af Einstein Analytics begyndt at vise resultater afmatning, fordi nogen ny funktion, der ikke var en del af kernen query engine fik læsset på Python wrapper.

Så, mens Salesforce kan hurtigt udvikle og implementere funktioner med Python, til sidst tilgang gjort det træge.

“Python ikke gøre multi-threading meget godt, så de mere indpakningen var blevet bedt om at gøre, jo værre er det, der udføres,” forklarer Le Stum.

Gå, på den anden side, er bygget til store applikationer egnet til Google ‘ s systemer til produktion, så Salesforce besluttet at flytte Einstein Analytics fra en hybrid, C-Python program til en helt Gå ansøgning.

Le Stum peger også på to mere ulemper ved at bo med Python, på trods af nogle af dens fordele.

“For det første, Python bruger løs skrive, hvilket var fantastisk for et lille team hurtigt kan udvikle nye ideer, og sætte dem i produktion –men mindre godt for en virksomhed-skala ansøgning, at nogle kunder blev betale millioner af kroner for,” skriver han.

“Det andet, vi forudså en stor afhængighed nightmare on the horizon, som anvender de rigtige Python-biblioteker, versioner, og filer vil blive en akkord. Så i 2014, besluttede vi at port Python wrapper til at Gå.”

Le Stum, siger styrken af Gå omfatter dens indbyggede værktøj, hurtig kompilere gange og er forbundet hermed, og nem fejlfinding, samt den måde, det gør koden let at forstå.

“I Python, kan du skrive super-elegant liste forståelser og smuk kode, der er næsten matematisk. Men hvis du ikke skriver koden, så der elegance kan ske på bekostning af læsbarhed”, forklarer han, at bemærke, at i virksomhedens software, ingeniører bruge mere tid på at læse kode, end at skrive det.

Gruppen havde stadig spørgsmål i løbet af Go ‘ s ydeevne sammenlignet med C for forespørgslen motoren. Dog, et proof of concept skrevet i Går gjorde det muligt for dem at gå videre, og Gå version af Einstein Analytics nået generelle ledighed i 2018.

En af de store fordele er, at Go ‘ s cross-platform-funktioner gør portering kode nemt.

“Hvis vi nogensinde skal nogen af denne kode i en mobil-app, kan vi på tværs kompilere den til iOS eller Android, og det vil bare arbejde,” Le Stum noter.

Den eneste del af Einstein Analytics, der ikke er bygget med Go cluster manager, som er skrevet i Java.

Mere om programmering sprog

Python-inspireret Nim: Version 1.0 af programmeringssprog lancerer
Microsoft Konsollog-3.7: Programmeringssprog beta lander med alle disse funktioner
Google: Tag vores gratis Kotlin programmeringssprog kurser for at opbygge Android appsMicrosoft: Vi vil have dig til at lære programmeringssproget Python gratisOracle: Programmeringssprog Java-13 er ude, vil det gøre dig mere produktivGoogle: Dart 2.5 programmeringssprog SDK ‘effektivisere’ udviklereRaspberry Pi får MIT Bunden 3 programmeringssprog til RaspbianJulia programmeringssprog: Brugere med at afsløre, hvad de elsker og hader mest om detprogrammeringssproget Python ‘ s ‘eksistentiel trussel’ er app distribution: Er det svaret?Er Julia hurtigst voksende nye programmeringssprog? Statistik diagram hurtige stigning i 2018Python vs R for data videnskab: Professor priser programmeringssprog rivalerProgrammeringssprog: Python forventes at overhale C og Java i de næste 4 år Python-udvikler, data videnskabsmand eller DevOps: Som tech job, der betaler sig bedst? Netflix: programmeringssproget Python er bag hver film du streameKunne Skrivemaskine erstatte JavaScript? Brug af programmeringssprog spin-off svæverEr Julia den næste store programmeringssprog? MIT tænker så, som version 1.0 lander TechRepublicMozilla ‘ s radikale open source flytte hjalp med at omskrive reglerne for tech CNET

Relaterede Emner:

Big Data Analytics

Cloud

Innovation

Tech og Arbejde

Samarbejde

Udvikler