You are on page 1of 5

5/30/2017 5thingstowatchinGoprogrammingin2017HackerNoon

Susan Conant Follow


Supervising Editor at OReilly Media, works with an editorial team that covers a wide variety of program
Jan 5 5 min read

5 things to watch in Go
programming in2017
What will innovations like dynamic
plugins, serverless Go, and HTTP/2
Push mean for your development
thisyear?
Go1.8isduetobereleasednextmonthanditsslatedtohaveseveral
newfeatures,including:

HTTP/2Push

HTTPServerGracefulShutdown

Plugins

DefaultGOPATH

Whichofthesenewfeatureswillhavethemostimpactprobably
dependsonhowyouandyourdevelopmentteamuseGo.SinceGo1.0
releasedin2012,itsemphasisonsimplicity,concurrency,andbuiltin
supporthaskeptitspopularitypointedupandtotheright,sothe
answerstoWhatisGogoodfor?keepmultiplying.

HereIlloffersomethoughtsonafewthingsfromtheupcoming
releaseandelsewhereintheGoworldthathavecaughtmyeye
recently.Itshardlyanexhaustivelist,soletmeknowwhatelseyou
thinkisgoingtobeimportantinGofor2017.

Gos super deployability + plugins =


containers, anyone?
The1.8releaseplannedfornextmonthhasseveralfolksIvetalked
withwonderinghowtheadditionofdynamicpluginsforloading
sharedlibrarieswithcodethatwasntpartoftheprogramwhenitwas
compiledwillaffectthingslikecontainers.Dynamicpluginsshould
makeitsimplertousehighconcurrencymicroservicesincontainers.

https://hackernoon.com/5thingstowatchingoprogrammingin201739cd7a7e58e3 1/5
5/30/2017 5thingstowatchinGoprogrammingin2017HackerNoon

Youllbeabletoeasilyloadpluginsasexternalprocesses,withallthe
addedbenefitsofmicroservicesincontainers:protectingyourmain
processfromcrashesandnothavinganythingmessingaroundinyour
memoryspace.Dynamicsupportforpluginsshouldreallybeaboon
forusingcontainersinGo.

ForsomeexpertliveGotraining,signupforGoBeyondthe
Basics.

Cross-platform support will keep


pulling in developers
Inthe7yearssinceGowasopensourced,ithasbeenadoptedacross
theglobe.DanielWhitenack,adatascientistandengineerwho
maintainstheGokernelforJupyter,toldmeherecentlygaveadata
scienceandGotraininginSiberia,(yes,Siberia!And,yesdatascience
andGomoreonthatinabit...)andwasamazedtoseehowvibrant
andactivetheGocommunitywasthere.Anotherbigreasonfolkswill
continuetoadoptGofortheirprojectsiscrosscompilation,which,as
severalGoexpertshaveexplained,goteveneasierwiththe1.5release.
DevelopersfromotherlanguagessuchasPythonshouldfindthe
abilitytobuildabundled,readytodeployapplicationformultiple
operatingsystemswithnoVMontargetplatformsakeydrawfor
workinginGo.

Pairthiscrossplatformsupportwithprojected15%speed
improvementsincompiletimeinthe1.8release,andyoucanseewhy
Goisafavoritelanguageforstartups.

InterestedinthebasicsofGo?CheckouttheGoFundamentals
LearningPathforguidancefromOReillyexpertstogetyou
started.

A Go interpreter is in the works;


goodbye Read-Eval-Print-Loop
SomereallysmartpeopleareworkingonaGoInterpreter,andIwill
definitelybewatchingthis.Asmanyofyouknowtoowell,thereare
severalReadEvalPrintLoop(REPL)solutionsouttherethatcan
evaluateexpressionsandmakesureyourcodeworksasexpected,but
thesemethodsoftenmeantoleratinginconvenientcaveats,orslogging
throughseveraltofindtheonethatfitsyourusecase.Arobust,
consistentinterpreterwouldbegreat,andassoonasIhearmore,Ill
letyouknow.

https://hackernoon.com/5thingstowatchingoprogrammingin201739cd7a7e58e3 2/5
5/30/2017 5thingstowatchinGoprogrammingin2017HackerNoon

WorkingwithGocomplexitiesinyourdevelopment?Watchthe
IntermediateGovideotrainingfromOReilly.

Serverless for Gowhat will that


looklike?
Yes,theresalotofhyperightnowaroundserverlessarchitecture,
a.k.a.functionasaservice(FaaS).Butsometimeswheretheressmoke
theresfire,sowhatshappeningintheGospacearoundserverless?
CouldweseeaserverlessservicewithnativesupportforGothisyear?

AWSLambdaisthemostwellknownserverlessprovider,butGoogle
alsorecentlylaunchedGoogleCloudFunctions.BothoftheseFaaS
solutionsletyouruncodewithoutmanagingserversyourcodeis
storedonaclusterofserversmanagedforyouandrunonlywhena
triggeringeventcallsit.AWSLambdacurrentlysupportsJavaScript,
Python,andJava,plusyoucanlaunchGo,Ruby,andbashprocesses.
GoogleCloudFunctionsonlysupportsJavaScript,butitseemslikely
thatbothJavaandPythonwillsoonbesupported,too.AlotofIoT
devicesalreadymakeuseofaserverlessapproach,andwithGos
growingadoptionbystartups,serverlessseemsalikelyspotfor
growth,soImwatchingwhatdevelopstosupportGointhese
serverlesssolutions.

TherearealreadyseveralframeworksthathaveGosupportunderway
forAWSLambdas:

GordonCreate,wireanddeployAWSLambdasusing
CloudFormation

ApexBuild,deploy,andmanageAWSLambdafunctions

SpartaAGoframeworkforAWSLambdamicroservices

TheresalsoanAWSLambdaalternativethatsupportsGo:

Iron.io:BuiltontopofDockerandGolanguageagnostic
supportsGolang,Python,Ruby,PHP,and.NET

Formoreonserverlessarchitecture,watchMikeRobertskeynote
fromtheOReillySoftwareArchitectureConferenceinSan
Francisco:AnIntroductiontoServerless.

Go for Datanoreally!

https://hackernoon.com/5thingstowatchingoprogrammingin201739cd7a7e58e3 3/5
5/30/2017 5thingstowatchinGoprogrammingin2017HackerNoon

Ihintedatthisatthebeginningofthisarticle:perhapssurprisingly,a
lotofpeopleareusingGofordatascienceandmachinelearning.
Theressomedebateaboutwhetherthisisagoodfit,butbasedon
thingsliketheannualAdventPostsforGopherAcademyfor
December2016,whereyoullnoteatleast4ofthe30postsareonML
ordistributeddataprocessingofsomekind,itshappening.

MyearlierpointaboutGoseasydeployabilityisprobablyonekey
reasondatascientistsareworkingwithGo:theycanmoreeasilyshow
theirdatamodelstoothersinareadableandproductionable
application.PairthiswiththebroadadoptionofGo(asImentioned
earlier,itspopularityispointedupandtotheright!),andyouhave
datafolkscreatingapplicationsthatworkandplaywellwithothers.
AnyapplicationsdatascientistsbuildinGowillspeakthesame
languageastherestofthecompany,oratleastfitverywellwith
modernarchitectures.

FormoreonGofordatascience,DanielWhitenackhaswrittenan
excellentoverviewthatexplainsmoreabouthowitsbeingused:
DataScienceGophers.

Originallypublishedatwww.oreilly.com.

https://hackernoon.com/5thingstowatchingoprogrammingin201739cd7a7e58e3 4/5
5/30/2017 5thingstowatchinGoprogrammingin2017HackerNoon

https://hackernoon.com/5thingstowatchingoprogrammingin201739cd7a7e58e3 5/5

You might also like