January 14, 2026
Press F to translate
The Unbearable Frustration of Figuring Out APIs
From 'Hello' to hell: tokens, Apple quirks, and commenters roasting the struggle
TLDR: A developer tried to make a simple text translator but hit paywalls, weird Apple docs, and Zig-to-Swift headaches. Commenters split between “APIs are hard on purpose,” “toughen up,” and “Android is worse,” turning a tiny project into a debate on why basic tools feel so hostile.
A dev just wanted a tiny command-line tool to translate Chinese text—type a word, get “Hello.” Instead, they stumbled into an API obstacle course: tokens, rate limits, and credit card demands. They tried Zig, then jumped to Swift, only to find Apple’s Translation docs are mostly about building app screens, not simple tools. The “ghost in a jar” assistant kept hallucinating APIs, and even passing arguments with Swift became a mini boss fight. Cue community chaos.
The top hot take: APIs are hard because companies want them hard. As alexjray snarked, incentives decide how painful your life is. Meanwhile, Svoka brought the popcorn with “submarine vs airliner” analogies, roasting the idea that knowing one language (Zig) should make Swift’s quirks intuitive. On the tough-love side, blumenkraft basically yelled “stop asking for spoon-feeding,” insisting confusing docs are the old normal. The shock twist? Commenter a1o learned that the first line “swift-tools-version” comment in a file actually matters—cue “wait, the comment is magic?” memes.
Then dvh detonated the cross-platform grenade: Android APIs are worse than Windows’ old-school win32. Suddenly the thread turned into a therapy circle for people scarred by SDKs (software kits) and UI-first frameworks. The mood: dramatic, messy, and very relatable—because “From ‘Hello’ to hell” is a dev rite of passage.
Key Points
- •The author attempted to build a macOS CLI tool to translate text while learning Chinese.
- •External translation APIs often required tokens, rate limits, or payment, prompting use of macOS’s built-in Translate service.
- •An initial Zig implementation failed due to inability to call Swift async functions directly, suggesting the need for a Swift shim.
- •A Swift-based CLI was set up using swift-argument-parser, with dependencies managed in Package.swift and executed via “swift run MyCLI --input Hello.”
- •Apple’s Translation framework documentation is largely SwiftUI-focused; TranslationSession requires a known source language, complicating the intended CLI use.