Fascinating.
Tell me again when it’s done and released…
Fascinating.
Tell me again when it’s done and released…
To address this concern, CISA recommends that developers transition to memory-safe programming languages such as Rust, Java, C#, Go, Python, and Swift.
If only it were that easy to snap your fingers and magically transform your code base from C to Rust.
guy_butterfly_meme.jpg is this unbiased journalism?
Why the heck would 2 projects share the same library?
Coming from the olden days, with good package management, infrequent updates and the idea that you wanted to indeed save that x number of bytes on the disk and in memory, only installing one was the way to go.
Python also wasn’t exactly a high brow academic effort to brain storm the next big thing, it was built to be a simple tool and that included just fetching some library from your system was good enough. It only ended up being popular because it is very easy to get your feet wet and do something quick.
The difficulty with python tooling is that you have to learn which tools you can and should completely ignore.
Unless you are a 100x engineer managing 500 projects with conflicting versions, build systems, docker, websites, and AAAH…
Why is it like this?
Isolation for reliability, because it costs the businesses real $$$ when stuff goes down.
venvs exists to prevent the case that “project 1” and “project 2” use the same library “foobar”. Except, “project 1” is old, the maintainer is held up and can’t update as fast and “project 2” is a cutting edge start up that always uses the newest tech.
When python imports a library it would use “the libary” that is installed. If project 2 uses foobar version 15.9 which changed functionality, and project 1 uses foobar uses version 1.0, you get a bug, always, in either project 1 or project 2. Venvs solve this by providing project specific sets of libraries and interpreters.
In practice for many if not most users, this is meaningless, because if you’re making e.g. a plot with matplotlib, that won’t change. But people have “best practices” so they just do stuff even if they don’t need it.
It is a tradeoff between being fine with breakage and fixing it when it occurs and not being fine with breakage. The two approaches won’t mix.
very specific (often outdated) version of python,
They are giving you the version that they know worked. Often you can just remove the specific version pinning and it will work fine, because again, it doesn’t actually change that much. But still, the project that’s online was the working state.
In a different time, under different assumptions, meritocracy can happen. Working and working a lot in that kind of environment, enriches yourself, your company and society, without a downside.
Overtime you put in, may be more work, but it’s temporary, necessary, because you in your job doing the overtime, helps orders of magnitude more, in critical situations, than other people can, or maybe there is actually nobody else to do the job and the job doesn’t get done. E.g. specialized surgeons saving lives. And that effort and overtime would be recognized and rewarded under those assumptions as well.
Somebody who has worked extraordinary amounts, would have put in extraordinary effort. They would be community champions.
It’s important to recognize that clash of assumptions.
seek so much escapism to be away from dealing with the bleak, always-gloomy mentality of work.
His words, or yours?
Here is one of my favorite exceptions:
https://www.oglaf.com/assorted-fruits/