Programmering

Årets teknologi 2018: De beste maskinvaren, programvaren og skytjenestene

Var 2017 året hvor hvert produkt under solen ble markedsført som kognitivt, maskinlært eller kunstig intelligent? Vel ja. Men ikke hate dem alle. I mange tilfeller, maskinlæring faktisk gjorde forbedre funksjonaliteten til produkter, noen ganger på overraskende måter.

Kritikerne våre ga ingen premier for innlemme AI, men plukket ut de mest fremtredende verktøyene for å bygge og trene modeller. Disse inkluderer de dype læringsrammene TensorFlow og PyTorch, den automatiserte modellbyggingspakken H2O.ai Driverless AI, og den solide verktøykassen for maskinlæring Scikit-learning.

MLlib-delen av Apache Spark passer også inn i denne gruppen, i likhet med det 25 år gamle (!) R-programmeringsspråket, som vår anmelder sier om: "Uansett maskinlæringsproblemet, det er sannsynlig en løsning i CPAN , det omfattende depotet for R-kode, og med stor sannsynlighet ble det skrevet av en ekspert på domenet. ”

2017 var også året da du kunne velge en database uten å inngå store kompromisser. Trenger du SQL, geografisk distribusjon, horisontal skalerbarhet,og sterk konsistens? Både Google Cloud Spanner og CockroachDB har alt dette. Trenger du en distribuert NoSQL-database med et utvalg av APIer og konsistensmodeller? Det ville være Microsofts Azure Cosmos DB.

Serverer du data fra flere sluttpunkter? Du vil sannsynligvis bruke GraphQL til å spørre dem, og du kan bruke Apollo Server som driver hvis klienten din er et Node.js-program. Tar en mer graforientert visning av data, ser en GraphQL-spørring ut som en JSON-struktur med dataene utenfor.

Når det gjelder grafdatabaseservere, bør du vurdere Neo4j, som tilbyr svært tilgjengelige klynger, ACID-transaksjoner og årsakssammenheng. Leter du etter en GPU-basert SQL-database i minnet som kan oppdatere geospatiale skjermer av milliarder av steder i millisekunder? MapD er det du trenger.

To kommende programmeringsspråk gjorde kuttet, for helt forskjellige domener. Kotlin ser ut som en strømlinjeformet versjon av objektorientert Java, men det er også et fullverdig funksjonelt programmeringsspråk, og viktigst av alt eliminerer faren for nullpekerreferanser og letter håndteringen av nullverdier. Rust tilbyr derimot minnesikkerhet i et alternativ til C og C ++ som er designet for bart metall og systemnivåprogrammering.

Når det gjelder sikkerhet, hilser vi også to sikkerhetsprodukter - det ene for å gjøre det enklere for utviklere å bygge sikre applikasjoner, det andre for å utvide sikkerhetsforsvar til moderne applikasjonsmiljøer. GitHub-sikkerhetsvarsler varsler deg når GitHub oppdager et sikkerhetsproblem i en av GitHub-prosjektavhengighetene dine, og foreslår kjente reparasjoner fra GitHub-fellesskapet. Signal Sciences beskytter mot trusler mot sky- eller containerbaserte webapplikasjoner og APIer.

Hvis du har begynt å distribuere Docker-containere, vil du før eller senere ønske å orkestrere og administrere klynger av dem. For det vil du mest sannsynlig ha Kubernetes, enten alene eller som en tjeneste i AWS, Azure eller Google skyene. Honeycomb går utover overvåking og logging for å gi dine distribuerte systemer observerbarhet.

Nylig har de tunge Angular- og React-rammene dominert diskusjonen om JavaScript-applikasjoner. Det er et enklere rammeverk som får tankegang, men: Vue.js. Vue.js bygger fortsatt en virtuell DOM, men det får deg ikke til å lære ikke-standard syntaks eller installere en spesialisert verktøykjede bare for å distribuere et nettsted.

Microsofts forhold til Linux har vært vanskelig gjennom årene, for å si det mildt. For eksempel kalte Steve Ballmer i 2001 Linux for en "kreft". Behovet for Linux i Azure-skyen endret alt det, og Windows Subsystem for Linux lar deg kjøre et ekte Ubuntu- eller Suse Bash-skall i Windows 10, slik at du kan installere og kjøre legitime binære Linux-apper fra standardregister, inkludert Azure Bash-kommandolinjen.

Les om alle disse vinnende produktene, og mange flere, i vår omvisning av vinnerne av prisen Award of the Year 2018.

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