java-vs-go-decision

Featured

Use when starting a backend task that could be built in either language - decide Go vs Java (Quarkus/Spring) from the task's shape and the repository's existing stack

AI & Automation 91 stars 13 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 89/100

Stars 20%
65
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Java vs Go Decision ## Overview You write both Go and Java. The wrong choice is not a style preference — it fights the grain of the problem and the repository for the life of the code. Decide deliberately, at the start of the task, before writing anything. **Core principle:** The repository's existing language wins by default. Only greenfield services or the analiz task's explicit direction open the choice. ## The Decision ```dot digraph decide { "Repo already single-stack?" [shape=diamond]; "Follow the repo's language" [shape=box]; "Analiz task names a language?" [shape=diamond]; "Use it" [shape=box]; "Task shape?" [shape=diamond]; "Go" [shape=box]; "Java (Quarkus first)" [shape=box]; "Repo already single-stack?" -> "Follow the repo's language" [label="yes"]; "Repo already single-stack?" -> "Analiz task names a language?" [label="no / greenfield"]; "Analiz task names a language?" -> "Use it" [label="yes"]; "Analiz task names a language?" -> "Task shape?" [label="no"]; "Task shape?" -> "Go" [label="perf / concurrency / latency / simple service"]; "Task shape?" -> "Java (Quarkus first)" [label="rich domain / OOP / heavy business rules"]; } ``` ## Choose Go when - The task is performance-, throughput-, latency-, or concurrency-sensitive (high-QPS API, streaming, fan-out, background workers). - The service is small and mostly I/O plumbing over a datastore. - The repository is already Go — always. ## Choose Java when ...

Details

Author
makifbaysal
Repository
makifbaysal/tasktrooper
Created
1 weeks ago
Last Updated
today
Language
Go
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category