What It's Like Developing Critical Web APIs in Golang as a Backend Developer

preview_player
Показать описание
Golang appears as a main bet in the emerging technologies lists still nowadays, even though it was released 10 years ago. From all the promises the language makes in the context of Web APIs, which ones really prove to impact the efficiency of our servers and of our work as backend developers? And what part of it annoys us in our daily activities? With the experience of some years running Golang in some of our most important microservices, I bring what we learned and our perspectives for it

Speaker: Alessandra Anyzewski, Senior Software Engineer, VTEX

CONNECT DIGITAL 2020
FRIDAYS IN JUNE | JUNE 5, 12, 19 | ANYWHERE

WWCode is taking its signature inclusive developer conference online so you can safely join from anywhere. We’re making the conference free for everyone to ensure that you can stay connected when you need it most.

At WWCode CONNECT Digital, you’ll experience all of the great things you’ve come to expect from a WWCode conference, including a digital swag bag, opportunities to connect with your community, and great technical talks from industry leaders, experts, and peers who are changing the world through technology everyday. Explore topics like blockchain, mobile, web development, cloud, datascience, security, and AI/ML through talks, workshops, code labs, and demos. Get actionable advice, share best practices, and meet people who are using their tech superpowers for good.

Experience tech, reimagined at WWCode Connect Digital.
Рекомендации по теме
Комментарии
Автор

Golang is very simple as a language and learning curve and entry point are much lower than in C# or Java for me. Or maybe it's because I know Java and it was easier to learn another language. But anyway, Go does not have that much keywords which is cool. I highly recommend it.
But it also has cons like you said: error handling, no generics, no community.
Error handling is annoying when you have to do if err != nil every time, but even worse thing is that error is an interface which has Error() string which makes this error type a string in my opinion, which is hard to handle later on, especially when working with web api, for example when one method (database for example) can return error because of not found or because the sql query was incorrect and so on, and when one error occurs you want to return 404 code and another time you want to return 500 code. But you just returned error type and it's a stringo! Of course, you can make a type MyError, which implements error and then cast error to MyError and so on, but it's not efficient, and makes your code ugly. And there is something like errors.As() and you can wrap them and other things, but I don't like it. Try catch, some error handling Java-like, would be nice, but of course - slower.
And no community is sometimes painful. People should use golang more :D

krzysztofszulc
join shbcf.ru