How we build Software -
This is the first blog entry of the “how we build software”(HWBS) series, with which we want to present our techstack. We’re showing you, why we use what technology and solution, so you’ll get a look in our DevOps processes and technology aspects. In this entry we’ll present our main development language Go or Golang.
Go is a programming language, which tackles the challenges of increasingly complex applications. It achieves that through combining an easy development process of an interpreting and dynamic typing language with the efficiency and stability of an static typing and compiling language. In short: It’s a language, which lets developers write complex applications, which can be executed either interpreted or compilied -> Community opinion: It’s as “easy” as Python and so “powerful” like C/C++
Why did we choose Go?
Especially when most of the applications for IT Security are written in Python?
Especially the minimalism of Go did convince us, which simplifies the development process extremply in comparison to C++ projects. In modern applications is parallelization essential. Go offers natively Go Routines and Channels, which are easy, safe and stable to use. Furthermore offers Go integrated testing and a package manager for libraries and github repositories.
When we founded Vulidity, we knew, that we absolutely need a stable, safe and solid code base. We observed at other startups/organisations that the code frequently grows uncontrolled and then tends to cripple the complete development process. That’s why we created immediately with the help of go packages, a environment which won’t let us hanging when we went full speed.
We choose Go over Python, because Go projects are immediately compilable and we achieve therefor a stable and efficient deployment process.
For who do we recommend Go?
Fundamentally we do recommend every developer to take a look at the concept and syntax of Go. At first glance you can immediately recognize, that it’s a modern and comfortable syntax (based on the C family), which is built on solid concepts. The popularity rises steadily especially in the web development sector.
The language itself is still “relative” young, but organisations like Google are constantly developing and improving it. But also Netflix, Uber, Medium did discover Go for themselves.
We’re estimating that Go will be used way more in projects, startups and companies in the next years and maybe even surpass the current frontrunners at some point.