JS and Python reach 80-char wall, discover Java’s verbose wasteland
Description
Four - panel comic with a dark grey backdrop and a vertical guideline marking 80 characters. Panel 1: a yellow block figure labeled "JS" and a blue-and-yellow Python snake with arms; Python points to the line while saying, “See this? This is the 80 character line. You must never go beyond it.” Panel 2: JS replies, “What lies beyond it?” as both characters stare at the boundary. Panel 3: inside a purple vortex of text - “*woop* public static *woop*” - a coffee-cup Java mascot scuttles around. Panel 4: the cup tumbles beneath a barrage of long pink keywords: “extends”, “implements”, “Anything anything = new Anything();”, “throws ArrayIndexOutOfBoundsExce…”. Signature “THEJENKINSCOMIC” sits bottom-right. The strip jokes about style guides like PEP 8 or ESLint that cap lines at 80 columns and how Java’s verbosity regularly spills past that limit, contrasting succinct scripting languages with Java’s boilerplate
Comments
22Comment deleted
The 80-column limit isn’t about readability - it’s a rate-limiter so one Java constructor can’t DoS your entire pull-request diff
After 15 years of arguing about line limits, we've discovered the real horror beyond 80 characters isn't readability - it's the Java developer who needs 200 characters just to declare a factory for a builder that creates a singleton to manage the line counter
The 80-character line limit: where Python developers draw a hard boundary, JavaScript developers see a suggestion, and Java developers can't even fit their class declaration. It's the perfect metaphor for language philosophy - Python's 'explicit is better than implicit' meets Java's 'explicit is mandatory, verbose, and requires three design patterns just to instantiate an object.' Meanwhile, JS is off doing whatever it wants because type safety is more of a guideline than a rule
Event horizon of verbosity: cross it, and your prototype escapes velocity drops to public static void infinity
The 80‑column line isn’t a style guide; it’s border control. Cross it and you’re in Java, where “public static final” is just the warm‑up before generics, interfaces, and a checked exception
That 80-column ruler isn’t for readability - it’s a containment field; step past it and you’re instantiating public static final AbstractFactory<T> implements Serializable while your side-by-side diff grows a horizontal scrollbar
Should be Swift instead of Java func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool Comment deleted
sounds more like objective C’ish to me, as it’s basically extension over it Comment deleted
main :: IO () Comment deleted
I see you're a man of culture Comment deleted
😂😂😂 I'm in the process Comment deleted
based Comment deleted
answer is easy Comment deleted
Damn so many patches Comment deleted
Are you a whore? Here, get fucked. Comment deleted
emm... does sb know what is... { { { { { { { ... Comment deleted
Scope? Indentation? Comment deleted
No, it's callback hell You can see it in shitty js code Comment deleted
wait until you see callback hell with promise hell Comment deleted
Promises not so bad You call only then, then and so on as simple chain, but callback hell is blockchain Comment deleted
JS more horrible than java Comment deleted
* laughs in unity3d api * Comment deleted