ARK is quickly becoming an all around development tool with a vast list of programming language integrations. Making ARK available to more and more developers as we build our ecosystem. These integrations enable a wide range of development to be built effectively using ARK for any applications wanting to utilize the power of the ARK Ecosystem!

Our latest in this series of language implementations is named GoARK, a library for the Go (GoLang) programming language developed by Google. This will be our 4th native language implementation (in addition to Java, Python and .NET) on top of our Javascript Delegated Proof of Stake blockchain.

GoARK on ARK GitHub: https://github.com/ArkEcosystem/ark-go

Golang was explicitly engineered to thrive in projects built by large groups of programmers with different skill levels. Go’s trade-offs are not unique, but it’s a good set of trade-offs and thanks to them, Go is happening.

Look at how GoARK works in action : https://asciinema.org/a/5yndxl794ncfpmjoqftuaiodm?t=8

This is a demo app built using the GoARK library. A cross platform build is also available.

What is GO?

The goals of the Go project were to eliminate the slowness and clumsiness of software development at Google, and thereby to make the process more productive and scaleable. The language was designed by and for people who write, read, debug, and maintain large software systems [Source].

Golang is gaining a lot of traction. It is used by globally recognized projects from companies like Google, Netflix, SoundCloud, Dropbox, MongoDB, and Docker, to name a few.

Go can be treated as the result of a rather conservative language evolution from languages such as C and C++. Go is already a big player in server software, and is continuing to extend its reach. Go overcomes some of the limitations of those languages, like lack of parallel computation support, shortcoming on multi-core support, and memory management, to name a few examples. The high performance is in large part due to the static compilation of the statically-typed Go code.

The Internet of things powered by ARK-GO

The Internet of Things framework requires a robust and dependable programming language. Looking at many of the tools today, you really have 2 or 3 popular options in this space: do barebones C/C++ or have a NodeJS integration. GOLang implementation provides answers to IoT challenges and strengthens it with the power of the ARK Blockchain. It is made to run and co-exist with ARK.

Cross compilation with Go

Golang has cross compilation support built right into the core system. Just by setting the right parameters and running the command “go build”, you get one executable file that can be run on multiple platforms. For example:

set GOARCH=amd64 set GOOS=linux //we can also set windows, darwin… go build

Simple. No overhead of installing frameworks and other supported libraries, this is where the statically typed simplicity and natural language evolution shows its core strengths.

Concurrency and GO on Mobile Systems

“Go-routines” in Go, enables concurrent function processing. These channels are used for components to communicate with one another and synchronize the execution. Go also supports application development softwares like Android and iOS. An application written in Golang can directly be launched into both Android and iOS. It is an active supporter of Android NDK (parts of the application are implemented in native language such a C++/C ).

Golang is awesome, and using it spreads the wings of creativity, with high rate of efficiency and performance for the developers and users.

GoARK was developed by chris (click to DM him on Slack). If you have any GoARK related questions please don’t hesitate to contact him on our Slack.

Are you a developer, innovator, marketer, designer UX/UI, want to get more involved in Ark and bring something unique to ARK, get some funding or bounty for it? Look no further :

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —