Wat is Go?

Go, ook wel Golang genoemd, is een programmeertaal die sterk gericht is op eenvoud, performance en concurrency. De taal voelt voor mij heel robuust aan en leest prettig, juist omdat er relatief weinig syntactische ruis in zit.

Waar Java en Kotlin veel mogelijkheden bieden om uitgebreide abstracties en domeinmodellen neer te zetten, dwingt Go je sneller om terug te gaan naar de kern van het probleem.

Dat maakt de taal voor mij vooral sterk wanneer je snel iets werkends wilt bouwen, zonder direct veel complexiteit mee te nemen.

Hoe ik naar Go kijk

Go is voor mij geen vervanger van Java of Kotlin. Ik zie het als een sterke aanvulling voor services en applicaties waarbij eenvoud, snelheid en efficiëntie belangrijk zijn.

Wat ik vooral sterk vind aan Go:

  • Simpliciteit: de code blijft overzichtelijk en makkelijk te volgen.

  • Performance: applicaties zijn snel en hebben relatief weinig overhead.

  • Robuustheid: de taal voelt voorspelbaar en degelijk aan.

  • Snel prototypen: je kunt snel van idee naar een werkende applicatie.

  • Concurrency: goroutines maken parallel en asynchroon werk heel natuurlijk.

Vooral die laatste vind ik belangrijk. Goroutines werken naar mijn ervaring heel vloeiend. Je kunt concurrency toevoegen zonder dat je meteen een groot technisch construct hoeft op te zetten. Dat maakt het prettig voor services die veel taken tegelijk moeten verwerken.

Go voor AI-applicaties

Ik heb Go ook veel gebruikt voor het realiseren van AI-applicaties en prototypes.

Juist daar vind ik de taal interessant. Bij AI-projecten wil je vaak snel kunnen experimenteren, een integratie bouwen en vervolgens direct kunnen meten of een idee werkt. Met Go kun je relatief snel een kleine, efficiënte backend neerzetten die API-calls, processing en gelijktijdige taken goed afhandelt.

Dat maakt Go voor mij sterk voor:

  • AI prototypes

  • API-integraties met AI-modellen

  • achtergrondprocessen

  • parallelle verwerking

  • kleine AI-services

  • applicaties waarbij snelheid en resourcegebruik belangrijk zijn

Je kunt snel iets bouwen dat niet alleen een proof of concept is, maar direct behoorlijk efficiënt en stabiel draait.

Hoe ik Go gebruik

Mijn gebruik van Go zit voornamelijk in compacte backend services met een duidelijke verantwoordelijkheid.

Een concreet voorbeeld is een SaaS-platform dat ik heb ontwikkeld met vijf event-driven microservices en Kafka. Binnen die architectuur gebruikte ik het Saga Pattern om gedistribueerde processen consistent af te handelen.

Daar heb ik een aparte Go-service ontwikkeld die de verschillende processen en events bijhield. Het doel was simpel: inzicht houden in welke processen actief waren en waar deze zich binnen de flow bevonden.

Daarnaast gebruik ik Go graag voor AI-toepassingen waarbij ik snel van idee naar prototype wil, maar wel verwacht dat het prototype technisch degelijk en performant is.

Wanneer kies ik voor Go?

Ik zou Go vooral overwegen wanneer ik een zelfstandige service bouw die:

  • veel concurrent werk uitvoert

  • snel moet reageren

  • relatief weinig zware domeinlogica bevat

  • eenvoudig te deployen moet zijn

  • efficiënt met resources moet omgaan

  • snel van prototype naar productie moet kunnen groeien

Voor complexe businesslogica kies ik zelf sneller voor Kotlin of Java. Daar vind ik het rijkere ecosysteem en de mogelijkheden voor domeinmodellering vaak waardevoller.

Voor compacte technische services, AI-applicaties en processing workloads vind ik Go juist bijzonder sterk.

Mijn ervaring met Go

Ik heb ongeveer drie jaar ervaring met Go en Go-Gin. Mijn ervaring zit vooral in backend services, distributed systems, event-driven architecturen en AI-applicaties. Mijn CV onderbouwt daarbij mijn ervaring met Go en Go-Gin binnen mijn bredere backend-profiel.

Wat ik vooral waardeer aan Go is dat de taal weinig in de weg zit. De code is duidelijk, robuust en relatief eenvoudig te lezen. In combinatie met goroutines kun je bovendien complexe concurrent processing verrassend overzichtelijk houden.

Veelgestelde vragen die ik krijg over Go

Waarom Go als je voornamelijk Java en Kotlin gebruikt?

Omdat niet iedere service dezelfde eigenschappen nodig heeft. Voor kleine, snelle en technische services kan Go eenvoudiger en efficiënter zijn.

Waarom gebruik je Go voor AI-applicaties?

Omdat ik er heel snel een prototype mee kan bouwen dat tegelijkertijd performant en robuust is. Vooral voor API-integraties en parallelle processing werkt dat erg prettig.

Wat vind je van goroutines?

Een van de sterkste onderdelen van Go. Ze werken heel vloeiend en maken concurrent processing veel eenvoudiger zonder dat je direct veel technische complexiteit introduceert.

Waar heb je Go concreet voor gebruikt?

Onder andere voor een service binnen een event-driven SaaS-platform die gedistribueerde processen en events bijhield. Daarnaast gebruik ik Go voor verschillende AI-applicaties en prototypes.

Go of Kotlin voor microservices?

Voor complexe businesslogica meestal Kotlin. Voor compacte, snelle services, AI-toepassingen en workloads met veel concurrency vind ik Go vaak interessanter.