惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
小众软件
小众软件
博客园_首页
博客园 - 聂微东
V
V2EX
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
SegmentFault 最新的问题
J
Java Code Geeks
Last Week in AI
Last Week in AI
The Cloudflare Blog
月光博客
月光博客
雷峰网
雷峰网
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
博客园 - Franky
腾讯CDC
Jina AI
Jina AI
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
量子位
爱范儿
爱范儿
美团技术团队
T
Tailwind CSS Blog
博客园 - 【当耐特】
D
Docker
IT之家
IT之家
V
Visual Studio Blog
P
Proofpoint News Feed
L
LangChain Blog
Engineering at Meta
Engineering at Meta
C
Check Point Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
Recorded Future
Recorded Future

Dizzy zone

Pangolin Private Resources With Domain Https About Redis is fast - I'll cache in Postgres n8n and large files Malicious Node install script on Google search Wrapping Go errors with caller info BLAKE2b performance on Apple Silicon State of my Homelab 2025 My homelabs power consumption On Umami ML for related posts on Hugo Probabilistic Early Expiration in Go SQLC & dynamic queries Enums in Go Streaming Netdata metrics from TrueNAS SCALE SQL string constant gotcha Moving from Jenkins to Drone My new server: MSI Cubi 3 Silent My thoughts on Ansible® Profiling gin with pprof How I host this blog, CI and tooling Refactoring Go switch statements OAuth with Gin and Goth I made my own commenting server. Here's why. Why I hate OpenApi(swagger) IDE for GO Jenkins on raspberry pi 3 How I started my professional career Kestrel vs Gin vs Iris vs Express vs Fasthttp on EC2 nano Go's defer statement Self-hosted disqus alternative for 5$ a month Speeding hexo (or any page) for PageSpeed insights Starting a blog with hexo and AWS S3
Why I like go
Vik · 2018-01-06 · via Dizzy zone

A Russian mascot of Go.

I’ve been using Go as my main programming language at work for the last 6 months. Here’s why I absolutely adore the language.

It’s simple

Go is remarkably simple. It’s an object oriented programming language but instead of the more typical classes you find in C# or Java it only has structs. Structs cannot inherit, meaning you can’t end up in inheritance hell. I won’t go into detail why inheritance is bad, but if you want an explanation Inheritance is Inherently Evil is a good read on that. All you want to achieve with inheritance can instead be done through composition and the use of interfaces. It also gets rid of generics. This means that the code you read will be clear and simple. It might be more verbose than many other languages but you also carry more control.

It has a great standard library

The standard library is pretty damn good. Rarely do I ever need to step out of it. The usual suspects here are the ORM and testing/mocking frameworks. I will add that testing and logging are pretty sub-par compared to other standard lib packages, as Or Hiltch states in his article but hopefully will be improved on sometime in the future. If these are improved, I will only need to use external libraries for exotic projects.

It’s fast

Go is a compiled language. It’s not as fast as C or C++ but in many cases it’s faster than Java. I’d expect it to become even quicker once it becomes more mature. For a comparison versus other languages, you can take a look here. I know that benchmarksgame is not an authority in any regard but it’s probably as close as we can get to a reliable benchmark at the moment. With the Go’s excellent performance and easy to understand syntax it’s a pleasure to develop applications that are rather quick.

It has a great concurrency model

Making code concurrent can be pretty daunting in many languages. Even if it’s not too hard to achieve it will come with the caviat of using a lot of memory per thread. Go was designed for this, meaning that goroutines are both inexpensive and easy to add to your code. Golangbot has a nice short tutorial on goroutines if you’re curious to see how they work. The built in concurrency capability of go makes for an excellent experience when writing concurrent code. It does take some time to get used to but once you get the hang of it - it starts happening naturally in the code you end up writing.

It’s backed by Google

Many open source projects fail a few years after their initial launch. Having a serious backer like google behind Go makes me certain that the language is here to stay. What is more the process for making software is demanding both in time and money. Even more so for large caliber projects such as a programming language.

It’s growing in popularity

Opensource.com has an excellent article on why Go is growing in popularity. What this means is that as time passes more and more companies are going to look to hire Go developers. Having a head start here will make me a potentially better candidate than those who will not have the prior experience.

It’s easy to cross-compile

The ability to cross compile allows to build the binaries on any machine for any target, allowing for easy deployments and no headaches related to OS or architectures.

It has a great mascot

I mean… just look at it.

Mascot of Go.

Makes my day every time I see it.

Why do you like/dislike Go? Let me know in the comments below.