Cross-Platform Go Libraries: Options, Pitfalls, and Conclusions

After months of struggling with this problem — and spending today running yet another round of experiments — I finally came to a conclusion: there’s no clean way to build Go libraries that can be reliably consumed from other languages across all major platforms (Windows, Linux, macOS, Android, and iOS).

Long story short: I came to the conclusion that you should never create C wrappers for your Go libraries or distribute them as C-compatible libraries. It creates more headaches than it solves.

Choosing a Programming Language for Beginners

Lately, I’ve been frequently hearing the question “where should a future programmer start learning?” Which books to read, which programming languages to look at. Much has been written about books, and I don’t want to repeat it. Instead, I want to provide an overview of programming languages that, in my opinion, are relevant in 2017 for beginners to consider. Beginners can learn any language, even C++, which is rightfully considered one of the most complex. Books have been written for all languages aimed at audiences just starting to learn programming. The languages are not listed in any particular order of importance. Just a list.