4 comments

  • Surac38 minutes ago
    Problems solved nothing learned. Poking my problems into a black box and getting numbers let me only learn how to poke numbers into black boxes
    • Arainach12 minutes ago
      You learn how to use tools to solve problems and what kind of problems those tools can solve.<p>Using a database or 3D Printer isn&#x27;t bad because you don&#x27;t learn anything about the internals.
    • NooneAtAll34 minutes ago
      to be fair that&#x27;s the general experience with such solvers<p>step 1: insert the problem<p>step 2: ???<p>step 3: profit
    • amelius15 minutes ago
      It&#x27;s still better than using AI, where even the authors of the black box don&#x27;t really know what they&#x27;re doing.
  • jebarker26 minutes ago
    I wonder how often interviewers object to the approach of solving their dynamic programming problem using a constraint solver?
  • wren69911 hour ago
    Z3 struggles with larger problems. CVC5 or Bitwuzla do a lot better once you get into anything complex.<p>If you&#x27;re familiar with the Z3 Python API, you&#x27;ll find the CVC5 one familiar.<p>Caveat: I mostly do logic design, maybe there are some software verification tasks where Z3 comes out ahead. I&#x27;ve never seen one though.
  • amelius1 hour ago
    If the tutorial uses Rust, why didn&#x27;t they use a solver written in Rust? Z3 was written in C++.
    • suddenlybananas1 hour ago
      What solver would you have them use? Z3 is very mature and the Rust bindings are pretty good in my (limited) experience.
      • amelius1 hour ago
        I would write the tutorial in C++, for a more direct experience.
        • Arainach9 minutes ago
          There&#x27;s nothing &quot;more direct&quot; - the different APIs for different languages call into the same underlying library, and most of them are more accessible and easier to work with than C++.<p>Z3 is presumably written in C++ for performance, but without data I am very confident the vast majority of programs that use Z3 consume it via one of the other APIs.
        • volemo1 hour ago
          I personally like to avoid the “writing in C++” experience. :&#x2F;
          • amelius1 hour ago
            The authors of a powerful solver package thought differently.
            • onair4you47 minutes ago
              It might have more to do with the first release of Z3 being in 2012, with the first stable Rust release being in 2015. Rather than the authors of Z3 passing some kind of judgment on Rust…
              • amelius35 minutes ago
                Z3 uses a sophisticated and fast garbage collection scheme internally that doesn&#x27;t mesh well with Rust idioms.
        • suddenlybananas1 hour ago
          The author might not know C++ and you don&#x27;t need to use C++ to effectively use z3.