Mender blog

Why did we choose Golang over C?

There were many tradeoffs we considered as we began this project. We were aware that a healthy portion of our potential users were C programmers. However, we chose Golang over C for both our management server and client as we felt that Golang would best benefit the embedded Linux community due to the following:

  • Golang has more core language features and libraries that allows much faster development of applications. This means that more Mender features can be developed for the community and users much faster than if C was chosen as the language
  • The learning curve from C to Golang is very low, given the similarities in the language structures. As many already know, the co-founder of C (Ken Thompson) is also the co-founder of Golang
  • As it is a compiled language, Golang runs natively and very efficiently on embedded devices
  • Go is statically linked into a single binary, with no dependencies or libraries required at the device
  • Similar in size with C, Go binaries continue to get smaller as their compilers get optimized. For example, Go 1.7 reduced the binary size by 20-30%
  • Go provides wide platform coverage for cross-compilation to support different architectures.

We hope the decision makes sense to everyone and we look forward to developing a healthy baseline open source solution for OTA software updates for Linux-based IoT devices. Let us know if you have any questions, or simply try it out today by visiting docs.mender.io.


Best Regards,

Ralph Nguyen
ralph@mender.io
Head of Community Development

Recent articles

The differences between the US FDA’s device approval process and the EU’s medical device regulation (MDR): An essential dual-compliance framework for global manufacturers

The differences between the US FDA’s device approval process and the EU’s medical device regulation (MDR): An essential dual-compliance framework for global manufacturers

Explore the key differences between the US FDA and EU MDR approval processes for medical devices, essential for global manufacturers navigating dual compliance.
Why OTA updates are now mission critical for future-proofed device lifecycle management

Why OTA updates are now mission critical for future-proofed device lifecycle management

Discover why Over-The-Air (OTA) updates are essential for future-proofing IoT device lifecycle management, ensuring security, compliance, and continuous improvement in an evolving technological landscape.
What’s new in Mender: Server-side generation of delta updates

What’s new in Mender: Server-side generation of delta updates

Discover how Mender's new server-side delta updates reduce network costs and improve update reliability for IoT devices. Learn more about the latest features and enhancements.
View more articles

Learn why leading companies choose Mender

Discover how Mender empowers both you and your customers with secure and reliable over-the-air updates for IoT devices. Focus on your product, and benefit from specialized OTA expertise and best practices.

 
sales-pipeline_295756365