6 ms·
I wonder if you misunderstood what mise is based on your mention of "packaging challenges". mise deals with language runtimes and dev tools—it doesn't manage de
by jdxcode 2y ago
I wonder if you misunderstood what mise is based on your mention of "packaging challenges". mise deals with language runtimes and dev tools—it doesn't manage dependencies or package anything.
I often hear suspicion about mise for this reason from people that haven't used it. I suppose it's not surprising. That said, I have spent over a decade in the developer productivity space as well as hundreds if not thousands of hours working on mise in the last 2 years—if there is someone that can build this I'm probably the right guy for the job.
Particularly with dev tools, it's long been the case that mise has solved this problem. Improvements are continuing to be made with things like improving supply chain security and ergonomics with python—though it's not like the python community itself has its DX figured out.
Of course I'm still fixing bugs pretty regularly and that probably won't ever change but there are hundreds of thousands of developers out there using mise (kind of a guess, but I'm pretty sure) and it's working great for them. It's in the top #100 tools in homebrew now: https://formulae.brew.sh/analytics/install-on-request/30d/ https://formulae.brew.sh/analytics/install-on-request/30d/
This definitely isn't some scrappy project—I've devoted much of my life to this problem and I think all evidence points it it being a resounding success.
- nlh 2y agoI have to say, I've been reading your replies here (and your big reply in the just thread) and I'm super super impressed with your dedication to this project. I can tell just in how you write, the volume of responses in this thread, and your tone that this is a real passion project and you're deeply serious about this. I love seeing this. Thanks for your dedication! (And now I'm off to go try mise....)
- jdxcode 2y agoI really appreciate that. It's definitely something I get a ton of satisfaction about of building. Drop by our discord and let me know how it goes!
- BiteCode_dev 2y agoIn all scripting language, packaging problems mostly stem from bootstrapping. Nvm shims break, python path confusion, gem installed on the wrong ruby interpretters, etc. Maybe you managed the impossible. But in 20 years of python I've seen only one tool doing bootstrapping in the right direction, all the other ones have failed. So I'm suspicious of something that does multiple languages. In the case of mise, it delegates this complexity to the user. E.g: for python, you have to know the config choices, and choose the right backend like asdf, pyenv, or indygreg. Then you better understand the consequences of that choice. To me, that's alreay a leak of the abstraction.
- arcanemachiner 2y ago> But in 20 years of python I've seen only one tool doing bootstrapping in the right direction, all the other ones have failed. Which tool is that?
- BiteCode_dev 2y agoSpecifically for Python, right now, uv is showing the most promises (and mise has an uv backend, btw) for bootstrapping. They have carefully avoided 90% of the mistakes of all other tools, and I have a long list. They don't live in a bubble. uv still has problems (like indy greg builds not having headers) and it's still below v1 so I can't recommend to use it yet. But I've been testing it in different contexts for months now, and it's doing exceptionally well. I usually take a year of testing before recommending a tool, because I need to see it in action in Windows shops, in Unix shops, with beginners, with non coders, with startup, in a corporate settings, with grey beards, etc. Python versatility means the user base is extremely diverse and you find it in the weirdest envs. I also interviewed Charlie Marsh: https://www.bitecode.dev/p/charlie-marsh-on-astral-uv-and-the https://www.bitecode.dev/p/charlie-marsh-on-astral-uv-and-th... and it gave me a lot of confidence that he is actually not trying to do everything at once, but quite the opposite, nail to the death very specific problems. I've tried everything in the Python world, with a good hundred of companies envs, and about a thousand people in trainings. Pyenv, poetry, pipenv, pdm, nix, pyflow, pdm, rye, you name it. The number of ways they can fail is astonishing. The uv team quickly identifies when there is friction, and fix it at astonishing speed. They just announced they took ownership of the WHOLE python-build-stand-alone project, and they contribute the improvement to it to cpython upstream. Their dedication to a good doc and great error messages is quite amazing as well. I'm impressed.