CommunityNews
Revisiting interface segregation in Go
Object-oriented (OO) patterns get a lot of flak in the Go community, and often for good
reason.
Still, I’ve found that principles like SOLID, despite their OO origin, can be useful
guides when thinking about design in Go.
Recently, while chatting with a few colleagues new to Go, I noticed that some of them had
spontaneously rediscovered the Interface Segregation Principle (the “I” in SOLID) without
even realizing it. The benefits were obvious, but without a shared vocabulary, it was harder
to talk about and generalize the idea.
Read in full here:
Popular Backend topics
Tails is a minimal, fast Forth-like interpreter core. It uses no assembly code, only C++, but an elegant tail-recursion technique inspire...
New
This blog post walks you through how to implement a time-series database engine based on what I’ve learned from my experience of writing ...
New
In this episode, we look at some common functionality that we got with Rails UJS and what it looks like to reimplement these with Hotwire...
New
TLDR; the future of ML is Julia. If you are looking for a quick answer, there you have it. If you want the well reasoned explanation, sti...
New
GitHub - deadpixi/wasm-maze-generator: A simple WASM maze generator in Go.
A simple WASM maze generator in Go. Contribute to deadpixi/wa...
New
Haskell in Production: Freckle.
In this interview, we talk with Pat Brisbin, a Principal Engineer at Freckle, a company that helps teach...
New
GitHub - clojure-rs/ClojureRS: Clojure, implemented atop Rust (unofficial).
Clojure, implemented atop Rust (unofficial). Contribute to c...
New
Introducing Trilogy: a new database adapter for Ruby on Rails | The GitHub Blog.
We’ve open sourced Trilogy, the database adapter we use...
New
Learn Step-by-Step from a Hands-On Project
9 comprehensive modules taking you from beginner to building production-ready SaaS applicatio...
New
Hi! I’m Ellen, but you probably know me as duckinator or puppy.
I really wish I didn’t have to write this, but I feel the Ruby community...
New
Other popular topics
A thread that every forum needs!
Simply post a link to a track on YouTube (or SoundCloud or Vimeo amongst others!) on a separate line an...
New
Which, if any, games do you play? On what platform?
I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it.
Does your monitor have eye p...
New
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
Think Again 50% Off Sale »
The theme of this sale is new perspectives on familiar topics.
Enter coupon code ThinkAgain2021 at checkout t...
New
Intensively researching Erlang books and additional resources on it, I have found that the topic of using Regular Expressions is either c...
New
Hi folks,
I don’t know if I saw this here but, here’s a new programming language, called Roc
Reminds me a bit of Elm and thus Haskell. ...
New
Author Spotlight
Erin Dees
@undees
Welcome to our new author spotlight! We had the pleasure of chatting with Erin Dees, co-author of ...
New
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /emacs
- /haskell
- /svelte
- /typescript
- /onivim
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /flutter
- /elm
- /ash
- /vscode
- /html
- /opensuse
- /zig
- /centos
- /deepseek
- /php
- /scala
- /react-native
- /lisp
- /textmate
- /sublime-text
- /nixos
- /debian
- /agda
- /deno
- /django
- /kubuntu
- /arch-linux
- /nodejs
- /spring
- /revery
- /ubuntu
- /manjaro
- /julia
- /lua
- /diversity
- /markdown
- /quarkus









