Needs advice
on
PythonPythonJavaScriptJavaScript
and
GoGo

We are converting AWS Lambdas from Java due to excessive cold start times. Usage: These lambdas handle XML and JSON payloads, they use s3, API Gateway, RDS, DynamoDB, and external API's. Most of our developers are only experienced in java. These three languages (Go, Node.js, and Python) were discussed, but no consensus has been reached yet.

READ LESS
3 upvotes·149K views
Replies (5)
Senior Software Engineer at EasyPost·
Recommends
Go

Go would provide the easiest transition for Java programmers -- its IDE/tooling is second to none (just install Goland) and the deploy/distribution story is extremely clean and lends itself to work well in lambda: single, static binaries with quick startup. No need to set up a full environment or package dependencies on your lambda AMIs, just copy a file.

READ MORE
2 upvotes·2 comments·147.5K views
Jordan Gregory
Jordan Gregory
·
January 16th 2020 at 9:01PM

I will disagree only with the recommendation of Goland. If you are already invested in the Jetbrains ecosystem, then yes, by all means continue, but I've found Goland to abstract too much away from the actual environment setup so that it's twice as hard to use anything other than Goland in the future. VSCode works well for me and is less heavy on the machines I run it on and is less "language specific" which works really well for me because I am constantly switching languages. Also, VSCode is free :D

·
Reply
Jason Scheirer
Jason Scheirer
·
January 16th 2020 at 9:28PM

I use VS Code myself, but if they’re coming from the Java world they’re likely already familiar with JetBrains

·
Reply
Sr. Software Engineer at Granular·
Recommends
Go

I've worked with all three of these languages and also with Java developers converting to these languages and far and away Go is the easier one to convert to. With the improved cold-start times and the ease of conversion for a Java developer, it is a no-brainer for me.

The hardest part of the conversion though is going to be the lack of traditional Classes so you have to be mindful of that, but Go Structs and interfaces tend to make up for what is lost there.

Full Disclosure: I'm a 95% Go convert (from Python) at this point in time.

READ MORE
4 upvotes·147.9K views
View all (5)
Avatar of Jason Scheirer

Jason Scheirer

Senior Software Engineer at EasyPost