Skip to content
DevMeme
5480 of 7590
Languages Post #6007 · source on Telegram

The Over-Engineered Complexity of Scala's 'Hello World'

Description

A two-panel meme contrasting the simplicity of printing to console in various languages with the perceived complexity in Scala. The left panel uses the 'Spider-Man Pointing at Spider-Man' meme format, where multiple Spider-Men are labeled with common print functions from different languages: 'Printf()', 'Cout', 'Echo()', 'Print()', 'Console.write()', 'Console.log()', and 'Print.ln', all pointing at each other to signify their similar, straightforward nature. The right panel depicts a crudely drawn, angry white figure flexing under the text '*autistic screeching*'. This figure is labeled 'Scala' and is accompanied by a complex line of code: 'Console[F[_]].print[A](a: A)(implicit S: Show[A])'. The humor arises from the stark contrast, mocking Scala's verbosity and functional programming purity for a task that is trivial in most other languages. For senior developers, this resonates as a classic jab at languages that prioritize theoretical correctness and expressive power to a degree that can make simple tasks syntactically cumbersome, touching upon debates around developer experience and pragmatic design

Comments

28
Anonymous ★ Top Pick Most languages ask you to print something. Scala asks you to provide an implicit context, a higher-kinded type, and a proof that the universe in which you're printing even exists
  1. Anonymous ★ Top Pick

    Most languages ask you to print something. Scala asks you to provide an implicit context, a higher-kinded type, and a proof that the universe in which you're printing even exists

  2. Anonymous

    Everyone else bikesheds over print vs printf; Scala pauses the meeting until it has a higher-kinded witness that the very concept of “hello world” is monoidally lawful

  3. Anonymous

    The real autistic screeching happens when you realize you need three implicit resolutions and a Kleisli composition just to debug why your println isn't printing, then discover it's because you're in the IO monad and forgot to call unsafeRunSync()

  4. Anonymous

    When your 'Hello World' requires understanding higher-kinded types, implicit resolution, and type classes, you know you've achieved peak functional programming enlightenment - or you're just trying to print to stdout. Scala's print statement is basically a PhD thesis on why we can't have nice things: it's technically correct (the best kind of correct), completely type-safe, and absolutely nobody asked for it. Meanwhile, Python developers are over here with `print()` wondering why we're bringing category theory to a console.log() fight

  5. Anonymous

    Everyone else writes to stdout; Scala makes you summon a Show[A] witness in F[_] before a single byte escapes

  6. Anonymous

    Other langs: print('hello'). Scala: summon[Show[Any]] or watch your REPL summon the type error police

  7. Anonymous

    In the polyglot monorepo, printing is O(1) everywhere - except Scala, where it’s O(existential) over F with an implicit Show witness

  8. Deleted Account 2y

    Hahahahha

  9. @purplesyringa 2y

    Please use English in this chat

    1. @purplesyringa 2y

      tr.: I've always said Scala is crap

  10. @furry_onko 2y

    :3

    1. @viktorrozenko 2y

      Looks like some Trojan

      1. @furry_onko 2y

        nah its my syntax but i fucked this up and its so hard 💀

  11. @NoCountryForOldBuffet 2y

    I could have sworn scala just has regular print statements, am I going nuts?

    1. @denisndenis 2y

      But its IMPURE

  12. @furry_onko 2y

    if you have a problem

  13. @sylfn 2y

    We have the rules and we expect everyone here to obey them https://t.me/dev_meme/3667

  14. @procself 2y

    Is this really the function call or function declaration? 😐

  15. @WaterCat73 2y

    you can read last sentence in their bot reply

  16. @purplesyringa 2y

    No. Kicking out people who don't know Russian from the conversation just because you refuse to use an international language is.

    1. @callofvoid0 2y

      even in multiplayer games they refuse to cooperate and use English

  17. @glatavento 2y

    IO()

  18. @MDSPro 2y

    How to become trusted😊

    1. @affirvega 2y

      gain trust in this chat and admins here 🤓

    2. @SamsonovAnton 2y

      Install a TPM. 🤓

  19. @MDSPro 2y

    Bot🔫

  20. dev_meme 2y

    Nope, that’s a rule

  21. dev_meme 2y

    A very simple one, either you accept community rules or not is up to you

Use J and K for navigation