IceCream – Never use print() to debug again

(github.com)

29 points | by gregsadetsky 17 hours ago

9 comments

  • trvv 1 hour ago
    It's neat how trivial it is to do this in C, only takes a couple of macros. https://github.com/trvv/_/blob/d4899741c4f35833b8e86d16e2163...

    Looks like the project has a linked repo that appears to do a similar thing for C but it doesn't generically format the arguments.

  • oweiler 11 hours ago
    Or use tests and/or a debugger. Which gives you all the listed benefits w/o an additional dependency.
    • ollysb 1 hour ago
      Different tools for different cases. Debuggers are great for a snapshot in time but print statements are better for seeing the execution flow.
    • pjmlp 10 hours ago
      Yeah, the amount of wasted hours with 1960's teletype debugging.

      Ah but servers and embedded, that is why telemetry, execution traces, and debugger controlled action points exist.

  • awoimbee 9 hours ago
    Debugging in python is already so easy with `print(f"{myvar=}")` and `breakpoint()`...
    • Hackbraten 6 hours ago
      This is the correct answer. `ic(foo(123))` can be written as `print(f'{foo(123)=}')` without depending on yet another third-party library which is not pulling its weight.
  • RockRobotRock 11 hours ago
    >Do you ever use print() or log() to debug your code?

    I haven't written my own code in months at this point...kind of depressing to think about

    • benj111 17 minutes ago
      So what do you actually do then?
    • squirrellous 5 hours ago
      My first thought as well. Debugging is actually a decent use case of AI.
      • vitally3643 1 hour ago
        I have a board with a logic analyzer, debug/flash probe, PSU, and multimeter on my desk being driven and debugged all autonomously by the AI.

        While the automation and systems side of my brain is thrilled that all of this id automated and integrated, developer brain is sad

  • smackeyacky 6 hours ago
    I haven’t used print for debugging for ages. Now it’s all trace on azure and hope your bug ends up in the sampled data in whatever that stupid thing is called. App insights or some rubbish. Apparently a good old log file just isn’t good enough it has to be larded up with a query language. Grep was fine guys.
  • Borborygymus 8 hours ago
    Remember COBOL's EXHIBIT?
  • IshKebab 3 hours ago
    ...use slightly fancier print() instead!
  • soizi 10 hours ago
    why another tool for that ? think standard with other team/company and use the same integrated ones.
  • imagent 7 hours ago
    [dead]