Putting aside the speed uv has a bunch of features that usually require 2-4 separate tools. These tools are very popular but not very well liked. The fact these tools are so popular proves that pip is not sufficient for many use cases. Other languages have a single tool (e.g. cargo) that are very well liked.
uthredii
If you do multi stage builds (example here) it is slightly easier to use venvs.
If you use the global environment you need to hardcode the path to global packages. This path can change when base images are upgraded.
Sure, but in the case where you upgrade python and it affects python packages it would affect global packages and a venv in the same way.
upgrading your base image wonβt affect your python packages
Surely if upgrading python will affect your global python packages it will also affect your venv python packages?
you can use multi stage builds to create drastically smaller final images
This can also be done without using venv's, you just need to copy them to the location where global packages are installed.
I don't think they have anything to do with each other, it looks like prefix.dev uses conda packages.
Yeah it is, eventually they want UV to have feature parity with rye and rye will basically just be a pointer to UV
Early on uv was only trying to replace pip. This latest update is a big step towards becoming a poetry (and pyenv/pipx) replacement too.
Yeah I agree, I am sure they are missing some obscure stuff. But in practise it has everything that I use and there has been no need for me to touch flatpak/appimage/snap
object oriented
Python does have OOP but you are not at all forced to use it. You can write code in a functional or even procedural style.
typing
I do hate that python doesent have proper support for typing but I think weakly typed variables will actually help beginners as it is less to think about to start off with.
indentation
I think there are pros and cons here. In other languages it is considered good style to use indentation anyway.
I'm sure it is difficult to teach a large class like that though. It was hard enough for me to learn with a much more favourable teacher to student ratio than you probably have. Sorry but honestly I do sympathise with admin as well.
yep, I mean a GUI based software centre
NixOS:
- Largest and most up to date package repository (no need for flatpack/appimage/snap ect)
- Reproducible
- Declarative
- Rollbacks you can select at boot time
- No dependency conflicts
I think it will easily be the number 1 distro if/when they can :
- the steep learning curve (e.g. have a gui installer EDIT: As in a GUI software centre)
- documentation
- have more tools use nixos and have nixos in mind (e.g. there are a couple of tools that didn't work for me because of specific C libraries not beeing present/configured on nixos that are present on other distros. some libraries implicitly expect these to be present).
You should check out zig, its compiler can even be used for c/c++. If you have time to listen to an interview, this developer voices interview on zig explains some of the advantages of this: https://www.youtube.com/watch?v=5_oqWE9otaE&t=3970s