Golang Project Structure

Tutorials, tips and tricks for writing and structuring code in Go (with additional content for other programming languages)

James Smith (Golang Project Structure Admin)

Author

Rob Pike’s Go Proverbs (Part Three)

A man with his legs crossed and his eyes closed. He is deep in meditation. The man is wearing a blue gown.

This is the third and final part of a three-part series on the Go proverbs that were devised by Rob Pike. We shall discuss and explain each of the remaining proverbs in turn. In this final instalment, we shall consider the remaining proverbs, discussing their meaning and their practical application. Each proverb reflects a core […]

Building Real-Time Applications With Go and WebSockets

A professional woman working on a laptop while sitting cross-legged on a bed in a hotel room.

Real-time applications (RTAs) have become an important part of modern software development. From live chat applications to stock market updates and online gaming, users now expect instant interaction with all kinds of services. While traditional HTTP request-and-response models may work well for many projects, they often fall short when it comes to implementing real-time communication […]

Who Owns Golang?

A confident and rich businessman standing in modern city, surrounded by skyscrapers. He has been successful in business, and he is wearing a suit and sunglasses.

In the world of open-source software, the question of ownership can be surprisingly complex. This is especially true for Go, a language that began as an internal project at Google but has since evolved into a global phenomenon, supported by a vast and passionate community of developers. It’s easy to assume that because Go originated […]

What Does It Mean to Say That Go Is Garbage Collected?

A dumpster on a street. It is filled with garbage, waste and trash. The dumpster is used as a visual metaphor for the importance of garbage collection in programming languages.

Memory management is critical in any programming language. In traditional languages like C and C++, developers manually manage memory through the allocation and deallocation of resources. However, in modern programming languages like Go, memory management is automatically handled by a garbage collector (GC). This feature is one of Go’s greatest strengths, since it allows developers […]

Understanding Huffman Coding and Its Implementation in Go

David Huffman depicted around the time that he developed the algorithm for Huffman coding as a young man.

Huffman coding is a widely-used algorithm for lossless data compression. By assigning variable-length codes to an input string’s characters, it ensures that the most frequently seen characters have shorter codes, while less frequently seen characters have longer codes. This technique minimizes the overall size of the data to be transmitted or stored. In this blog […]

Rob Pike’s Go Proverbs (Part Two)

Rob Pike, one of the creators of the Go programming language.

This is the second part of a three-part series discussing the Go proverbs that were devised by Rob Pike. (The original post is available to read, if you haven’t already. UPDATE: And the third and final post is now available to read too.) gofmt’s Style Is No One’s Favourite, Yet gofmt Is Everyone’s Favourite The […]

Should Go Be Used for Machine Learning?

An computer rendering of a brain made from metal with wires and lights attached. It is supposed to symbolize artificial intelligence and machine learning.

Go is widely known for its simplicity, concurrency model and performance in large-scale distributed systems. But when it comes to machine learning (ML), the most dominant programming languages have traditionally been Python, R and C++. These languages have become almost synonymous with machine learning due to the wide range of mature libraries, frameworks and communities […]

COBOL in the 21st Century

Grace Hopper, an American computer scientist, mathematician, and United States Navy rear admiral.

This blog post will attempt to provide a basic introduction to the COBOL programming language for complete beginners. We will cover the language’s history, syntax, features and applications. Then we will provide some practical examples to help you understand better how COBOL code works. What Is COBOL? Common Business-Oriented Language, known usually as COBOL, is […]