A small collection of WTF code snippets sorted by language.

  • toastal@lemmy.ml
    link
    fedilink
    arrow-up
    7
    ·
    2 hours ago

    I love that the contribute is just a mailto link. I want to see more of this & less “join the Discord & create a Microsoft GitHub account today”

  • FourPacketsOfPeanuts@lemmy.world
    link
    fedilink
    arrow-up
    13
    ·
    4 hours ago

    Python item 1

    Mutable default arguments don’t get re-initialized with each function call.

    got an audible wtf from me… Been using for years, totally unaware.

  • expr@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    2 hours ago

    For Haskell:

    1. I’d say this is definitely a wtf. Tuples should have never been given Foldable instances and I’d immediately reject any code that uses it in code review.

    2. I actually didn’t know, so TIL. Not surprising since common wisdom is that a lot of the type class instances for Doubles are pretty weird/don’t make a lot of sense. Just like in any language, floating point needs special care.

    3. This is jjust expected syntax and not really a wtf at all. It’s very common for languages to require whitespace around operators.

    4. Agreed as wtf, the NegativeLiterals should be on by default. Just would be a pretty significant breaking change, unfortunately

    5. Not a wtf… What would you expect to happen? That operation is not well-defined in any language

  • vithigar@lemmy.ca
    link
    fedilink
    arrow-up
    6
    ·
    5 hours ago

    The WTF in the C# example seems to be that people don’t understand anonymous functions and closures?

    • KacarottOP
      link
      fedilink
      arrow-up
      4
      ·
      5 hours ago

      Some of the examples seem to be more “unintuitive for newbies”, but there are still some good ones in there

    • r00ty@kbin.life
      link
      fedilink
      arrow-up
      1
      ·
      4 hours ago

      Yeah. I didn’t understand what they meant by the wtf there. Seemed to me someone wondered if the Action would have a localised version of i (making this stay lowercase on a phone was harder than it should be) or if it used the same i. So made a simple test for it.

      Not really sure it’s a wtf unless they expected a different result.

      • vithigar@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        I think the explanation they provide is a bit lacking as well. Defining an anonymous function doesn’t “create a reference” to any variables it uses, it captures the scope in which it was defined and retains existing references.

  • airbussy@lemmy.one
    link
    fedilink
    English
    arrow-up
    7
    ·
    5 hours ago

    Not only funny, but also learned something today: you can use NegativeLiterals to not have to write (-123) in Haskell

  • SpaceNoodle@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    6 hours ago

    Are we supposed to be able to scroll through the examples? Also, it’s odd to see expected behavior in there.