Tietotiede ja Go-ohjelmointikieli - KDnuggets

Tietotiede ja Go-ohjelmointikieli – KDnuggets

Lähdesolmu: 2504263

Sponsoroitu Sisältö

Kommentit: Tom Miller, Northwestern Universityn tiedekunnan johtaja KTT ohjelma.

Vuosia sitten sovelletun tilastotieteen opiskelijana Minnesotan yliopistossa sain oppitunnin ohjelmoinnista korkeakouluissa. Kurssin alussa professori sanoi:

"En välitä mitä kieltä käytät tehtävissä, kunhan teet oman työsi."

Minulla oli kokemusta Fortranista, mutta opetin itse Pascalia yrittäen omaksua jäsenneltyä ohjelmointityyliä.

Professorin sanasta pitäen ohjelmoin ensimmäisen tehtävän Pascalilla, kun luokkatoverini käyttivät Fortrania. Ensimmäinen tehtävä erääntyy. Kuljen paperini (ohjelmaluettelo) huoneen eteen ja ojenan sen professorille. Hän katsoo sitä kysyvästi ja kysyy: "Mikä tämä on?"

Selitän: "Se on Pascal. Sanoit meille, että voimme ohjelmoida millä tahansa kielellä, kunhan teemme oman työmme."

Tähän professori sanoo: "Pascal. En lue Pascalia. Luen vain Fortrania."

Oppitunti: Akateemikot eivät ole erityisen avoimia uusille ohjelmointikielille.

Fortran

Fortranin kehitti John Backus IBM:llä, ja se esiteltiin vuonna 1957. Kun kuulet sen nimen, ajattele "kaavan käännöstä". Fortran soveltuu hyvin numeerisiin laskelmiin, joita tarvitaan tieteellisissä ja teknisissä sovelluksissa. Fortran on viime aikoina elpynyt uudelleen, mikä johtuu ehkä suurten tietojoukkojen ja supertietokoneiden laskentavaatimuksista.

PASCAL

Sveitsiläisen tietojenkäsittelytieteilijän Nicholas Wirthin suunnittelema ja vuonna 1970 esitelty Pascal on ALGOLin johdannainen. Pascal oli linjassa strukturoidun ohjelmoinnin liikkeen kanssa monissa yliopistoissa 1970- ja 80-luvuilla. Pascalin muunnelmia on käytetty Applen ja Microsoftin järjestelmäohjelmointiin.

 
Tietotekniikan opiskelijoilla useimmissa nykypäivän yliopistoissa olisi samanlainen kokemus, jos he lähettäisivät tehtäviä Go-, Rust- tai millä tahansa muulla nykykielellä Pythonin tai R:n sijaan.

Koneoppimissovellusten ja tekoälyn ansiosta Python hallitsee päivää. Datatieteilijät saattavat tuntea tyytyväisyyttä mukanaan Python-veneessä, jossa on pelastusaineita, kuten Nöpö, Panda, Scikit opittavaja TensorFlow niiden sivuilla.

Mutta varo. Nykypäivän datavaltameret ovat epätasaisia. Hait lähestyvät.

Muista päällikkö Brodyn sanat Quintille elokuvassa Tappajahai: "Tarvitset isomman veneen." Suosittelisin, että isompi ja nopeampi vene rakennetaan Golla.

MENE (GOLANG)

Go on kehittänyt kolme Googlen tietotekniikan tutkijaa: Robert Griesemer, Rob Pike ja Ken Thompson. Se säilyttää C:n suorituskykyedut, mutta sen kanssa on helpompi ja turvallisempi työskennellä kuin C. Go esiteltiin vuonna 2009, ja se on ollut Googlen ensisijainen järjestelmäohjelmointikieli. Monissa organisaatioissa tehtäväkriittisissä järjestelmissä Go korvaa C/C++:n, C#:n, Javan ja Pythonin. Goa kutsutaan joskus "Golangiksi", jotta se erottuisi Go-lautapelistä ja tarjoaisi luotettavamman termin hakukoneissa.

Datatieteen urat: miksi Go

Esityksessä nimeltä "Go:n syy”, Carmen Andoh seurasi tietokonekielten kehitystä vuosina 1980–2017. Hän esitti vakuuttavan argumentin Go:n käyttämisen puolesta suurissa ohjelmointiprojekteissa. Hänen väitteensä pitää paikkansa tänään.

  • Go on konetehokas. Se voittaa kielet, jotka tulkitaan, sekä kielet, jotka riippuvat virtuaalikoneen.
  • Python liittyi tietokonemaailmaan yli kolmekymmentä vuotta sitten, ennen moniytimisprosessorien yleistymistä. Python on yksisäikeinen, tulkittu kieli, joka sopii huonosti järjestelmiin, jotka vaativat samanaikaista käsittelyä.
  • Datatieteilijät saattavat kirjoittaa Pythonilla, mutta laskentaa vaativissa tehtävissä C tai C++ tekee työn. Python on vain "liima", joka pitää koneoppimisveneen palat yhdessä.
  • Ei kestä kauan löytää esimerkkejä vertailuarvoista, jotka osoittavat Go:n edut tietotieteen johtaviin kieliin Pythoniin ja R:ään nähden.

Joskus kuvataan "C for the 21st century", Go on vahvasti kirjoitettu kieli, joka kääntää suoraan konekoodiin. Se kääntää paljon nopeammin kuin C ja suorittaa melkein yhtä nopeasti kuin C.

C, C++ ja C#

C:n kehitti Dennis Ritchie Bell Labsissa ja se esiteltiin vuonna 1972. Koska se tarjoaa matalan tason pääsyn muistiin ja kartoittaa helposti koneen käskyihin, C on ollut suosittu järjestelmien ohjelmointikieli useiden vuosien ajan. C:llä on suorituskykyetuja useimpiin muihin ohjelmointikieliin verrattuna. C++ ja C# tarjoavat olio-laajennuksia C:lle, mutta säilyttävät C:n rakenteen ja suorituskyvyn edut.

Samanaikainen käsittely (ei koskaan helppo tehtävä) on Go:n luontainen ominaisuus

Go tarjoaa runsaasti työkaluja nykypäivän moniytimisisten digitaalisten tietokoneiden hyödyntämiseen. Tietotiede tarvitsee kieliä ja järjestelmiä, jotka pystyvät vastaamaan nykypäivän datavetoisen, dataintensiivisen maailman vaatimuksiin. Datatiede tarvitsee Go.

Go on ohjelmoija tehokas. Pythonin sanotaan usein olevan helppo oppia. Mutta väitän, että Go on helpompi oppia kuin Python. Go on suunnittelultaan yksinkertaista, kieli, jossa on vain 25 avainsanaa. Go on helppolukuinen, helppokäyttöinen ja helppo ylläpitää ajan myötä.

Olkaamme iloisia siitä, että Go-yhteisön johtajat ovat haluttomia lisäämään uusia ominaisuuksia. Donald knuth oli oikea idea. Kun hän pääsi versioon 3.14 TeX, hän ilmoitti, että kielestä ei tule uusia versioita, ei uusia ominaisuuksia, vain virheenkorjauksia. Ja jokaisen virheenkorjauksen yhteydessä hän lainasi toisen luvun π:stä (pi).

Go-ohjelmoijien mantra: "Pidä se yksinkertaisena. Pidä se käynnissä."

Golla on hyvin määritelty rakenne ja muotoiluapuohjelmat, jotka varmistavat ohjelmoijien yhteisen tyylin. Tyyliä kutsutaan joskus "idiomaattiseksi Goksi". Gossa on automatisoitu muistinhallinta (roskien kerääminen), joka suojaa ohjelmoijia muistivuotoja ja virheitä vastaan. Go on turvallisempi kuin C ja C++.

Go-ydinkehittäjät ovat sitoutuneet taaksepäin yhteensopivuuteen, ja Go:n moduulijärjestelmä edistää turvallisuutta varmistaen, että oikeat paketit sisällytetään jokaiseen koontiversioon käännösvaiheessa. Go seuraa ohjelmistoversioita ohjelmistopinon kasvaessa.

Ajattele ohjelmistokehitystä Jengan pelinä. Haluamme päästä käsiksi pinon alaosassa oleviin lohkoihin varmistaen samalla, että koko pino ei romahda. Anna meidän tehdä tämä.

Go yksinkertaistaa ohjelmistopinoa. Entä ohjelmistopino, infrastruktuuri?

Kun Python (jopa C:n tai C++:n tukema) ei ole tehtäviensä tasalla, datatieteilijät kääntyvät muiden kielten ja järjestelmien puoleen. Tässä on niin sanottu ratkaisu Pythonin suorituskykyongelmiin:

 
Tietotiede ja Go-ohjelmointikieli

Tietotiede ja Go-ohjelmointikieli
 

Suorituskykyisten ratkaisujen toteuttamiseksi datatieteilijät kääntyvät Sparkin puoleen, joka on rakennettu Java-virtuaalikoneesta riippuvaiseen Scalaan. Ja helpottaakseen pääsyä, nämä hyvää tarkoittavat datatieteilijät lisäävät sekoitukseen PySparkin. Onko tämä paras tapa ratkaista Pythonin suorituskykyongelmat? Ei.

Harkitse yksinkertaisempaa ohjelmistopinoa. Se on mene, mene vain:

 
Tietotiede ja Go-ohjelmointikieli

Tietotiede ja Go-ohjelmointikieli
 

GopherCon-konferenssien koodiesimerkkejä 2021 ja 2023, Daniel Whitenack näyttää, kuinka koneoppimis- ja tekoälyratkaisuja voidaan toteuttaa Gossa. Voimme käyttää Goa integroitujen, älykkäiden verkkosovellusten rakentamiseen, mukaan lukien ne, jotka vaativat generatiivista tekoälyä ja suuria kielimalleja.

Go edustaa olennaista järjestelmien ohjelmointikieltä nykypäivän moniytimisille digitaalisille tietokoneille. Go on pilven kieli. Go on hajautetun laskennan kieli. Tietotieteilijät, jotka pitivät Pythonia menneisyyden "liimakielenä", voivat nyt pitää Goa "superliimana".

Go on laajasti käytössä teollisuudessa. Yritykset arvostavat Go:n turvallisuutta, yksinkertaisuutta ja suorituskykyä. He tunnistavat myös Go:n vahvuudet taustajärjestelmän ohjelmointiympäristönä. Go soveltuu hyvin web- ja tietokantapalvelimien, sovellusohjelmointirajapintojen ja mikropalvelujen kehittämiseen. Go soveltuu hyvin skaalautuvien ja tehokkaiden järjestelmien toteuttamiseen.

Alkaen Googlesta, Gon syntymäpaikasta, monet yritykset luottavat Goon suurissa, kriittisissä järjestelmissä. Jos Go on tarpeeksi hyvä Google, Netflix, Uber, dropbox, PayPal, American Express, Capital One, Salesforce, Zillow, ja monet muut, niin Go on tarpeeksi hyvä meille muille.

If Go voi tarjota tehokkaan alustan rakentamiseen Satamatyöläinen, Kubernetes, Prometheus, grafana, Pachyderm, terraform, CrowdStrike, jne, TorakkaDB, Kutoa, Milvus, Aerospikeja monipuolinen valikoima hajautettuja järjestelmiä ja pilvipohjaisia ​​mikropalveluita, joten Go voi olla tehokas alusta datatieteen sovellusten rakentamiseen.

Tietojenkäsittelytieteen ja datatieteen opettajien tulisi oppia teollisuudesta. Heidän tulisi lisätä Go kursseilleen. Tätä teemme Northwesternissä.

Kolme kieltä tietotieteelle Northwesternissä

Go:n käyttäminen datatieteessä ei tarkoita, että meidän pitäisi luopua R:n ja Pythonin tarjoamista hyvistä asioista. Voimme olla monikielisiä.

Ei ole vaikea kuvitella projekteja, joissa datatieteilijä voisi tutkia dataa R:llä, kehittää malleja Pythonilla ja toteuttaa järjestelmiä Gossa. Kolmesta datatieteen kielestä Go on uusin. Go on nousussa ja tarjoaa huomattavia työmahdollisuuksia.

Northwesternin datatieteen ohjelma arvostaa kolmen kielen vahvuuksia tietotekniikassa ohjelman eri erikoisaloilla.

  • R, jossa on lukuisia analytiikka- ja mallinnuspaketteja, on sovellettavien tilastotieteilijöiden arvostettu. Se on erinomainen valinta tieteelliseen ohjelmointiin ja soveltavaan tutkimukseen. R on erityisen hyvä tiedon tutkimiseen ja visualisointiin. R on ensisijainen kieli useimmilla Northwesternin analytiikka ja mallinnus -erikoistumisten kursseilla.
  • Python on tällä hetkellä suosituin tietokonekieli tietotekniikassa. Se on erityisen vahva luonnollisen kielen käsittelyssä ja toimii ensisijaisena asiakkaana syväoppimisalustoille. Python tarjoaa monipuolisen ympäristön mallien kehittämiseen, ja Python on pääkieli useimmilla Northwesternin tekoälyn erikoistumisen kursseilla.
  • Go on järjestelmäohjelmointikieli, joka on suunniteltu nykypäivän moniprosessoritietokoneille. Se soveltuu hyvin skaalautuvien ja tehokkaiden tietotekniikan järjestelmien toteuttamiseen, mukaan lukien verkkosovellukset ja tietokantapalvelimet. Go on ensisijainen kieli Northwesternin tietotekniikan erikoisalalla, kuten näkyy Learning Go for Data Science -sivustolta.

Opiskelijat Northwestern Universityn online-tutkinto tietotekniikassa Ohjelma rakentaa olennaiset analyysi- ja johtamistaidot, joita tarvitaan tietojen analysointiin ja tulkitsemiseen, jotta voidaan tehdä tietoon perustuvia, vaikuttavia päätöksiä monilla eri aloilla. Kursseja johtaa alan asiantuntijoiden taitava tiedekunta. Opiskelijat kehittävät asiantuntemusta kiinnostavilla alueillaan valitsemalla yleisen datatieteen linjan tai yhden viidestä erikoistumisalasta: Analytics ja mallinnus, Analyticsin hallinta, tekoäly, tietotekniikka ja teknologiayrittäjyys. Opiskelijat oppivat osa-aikaisesti omaan tahtiinsa kokonaan verkossa. Hakemuksia otetaan vastaan ​​neljännesvuosittain.

 
Tietotiede ja Go-ohjelmointikieli

Tietotiede ja Go-ohjelmointikieli
 
 

Aikaleima:

Lisää aiheesta KDnuggets