> Because the GC is infectious. As soon as your dependency needs it (and IIRC even parts of the standard library did/do), it becomes painful if not impossible for you to avoid it.
Isn't this the same for Nim? The standard library doesn't provide pure functions for parsing strings, it provides functions which generate exceptions. Exceptions use the heap, it's hard to get programs to compile with the garbage collector turned off, so everyone just recommends using ARC.
I don't know Nim, maybe it's the same? If it is I guess that would probably also explain why Nim hasn't replaced C or C++ either.
Though do note that (academic discussions notwithstanding) refcounting is not what people usually mean by GC in these contexts. Having to put up with refcounting is one thing (people already do it manually anyway), but having to put up with a generational or other complex GC is quite something else.
Pacman works when updating all packages simultaneously. However when updating only a requested package it can break by failing to pull in other packages which need to be updated simultaneously. For instance, pacman can break pacman and sudo by updating OpenSSL to a newer version than the currently installed version of pacman and sudo expect.
Pacman will happily break pacman and sudo without warning if the user requests updating openssl without upgrading the entire system. When updating a package it does not pull in all of the other packages which will break if not updated simultaneously.
Indeed, pacman does not know which library versions are necessary for any particular app version. And almost all of the applications are dynamically linked.
Archlinux repo holds only a single latest version. There are some community maintained repos that contain older versions (and those can be easily fetched through downgrade utility).
When updating Archlinux, upgrade everything and then reboot. This way it should not break.
With economic rents the dilemma is not simply between doing stuff and having stuff. It's between having something which others can have as well (through reciprocal property rights) vs. claiming to own things which actually belongs to someone else (surplus labor resulting from enclosure of the commons) and then pledging what you don't own as collateral for loans.
The author of the original "Tragedy of the Commons" paper lamented that he did not title it "Tragedy of the Unmanaged Commons", later writing a follow-up by that name: https://pubmed.ncbi.nlm.nih.gov/21236819/
i guess there's one situational intersection, alluded to by @randbox, between the tragedy of the commons and economic rents, which is when someone (illegally) takes control of the commons and literally charging rents for assets they don't actually own.
offhand, i can't think of a practical and contemporary example of this though.
The annoying part is that there are many changes which federal & state governments can make to the financial system to ensure wage growth better tracks inflation without sacrificing growth. Such as capping federally backed mortgages at 150% of the labor replacement cost of material fixtures whenever that's lower than the comparable sales price. Or replacing federal payroll and income taxes on earnings under $100,000 with a national excess property tax on property comparable sales values minus 50% of fixture labor replacement costs. Or provide local public banks which appraise excess property values separately from labor replacement costs and spending publicly collected interest payments back into circulation on public works.
If both the comparison function as well as the sort function which the comparison function is passed to are declared 'static inline' and available in a header, the compiler is smart enough to figure it out and inline the code, provided optimizations are turned on.
It's not necessary to use macros. Just make both the sort function which the comparison function is passed to, as well as the comparison function itself, both "static inline". The compiler is smart enough to figure it out.
Material production still requires accounting, installation, transportation, delivery, disposition, optimization. Financial parasitism more clearly occurs when someone pledges something to lenders which they do not actually own. For example in the 19th century when JP Morgan lent to planters on security of chattel slaves, the planters pledged the bodies of other people as collateral. Arguably loans should only be issued on security of personal property which does not deny the personal property rights of others. This might exclude leveraged lending of money on security of money (arguably lending on security of state property) and excess real values due to land scarcity (arguably lending on security of common property).
> There is a middle ground between banning and a free for all.
Providing basic banking as a public utility so most deposits by individuals, local governments, and small businesses are not stored with investment banks engaged in speculation. Public banks can be limited to originating loans on 100% security of material personal property such as crops, livestock, cheese, gold, lumber, steel and prohibited from originating loans on security of state property such as money (which might be obtained via leveraged loan from another lender) or on security of common property such as excess real estate values attributable to land scarcity.
> banks can be limited to originating loans on 100% security of material personal property such as crops, livestock, cheese, gold, lumber, steel
The problem isn't getting loans on one's crops. It's transferring the price risk to someone better able to bear it.
Farmers want a guaranteed profit when they plant. Loans don't address that. Futures do. (It's why they were invented, in the 17th century, by the Dutch and Japanese.) The only real alternative is government guarantees. Those bring their own host of problems.
futures don't guarantee a profit, only a price. it's up to the farmer to decide whether the price is worth the planting (regardless of profit). and the pricing function only works well in an uncorrupt market.
the problem isn't the existence of the futures markets, but the same kind of over-consolidation that corrupts every laissez faire market, making them inefficient and brittle in the long-run. if regulation encouraged primarily mid-sized firms, rather than a few large ones, we'd have better informed and more efficient markets, albeit less lucrative since the firms wouldn't have undue (read: corrupting) influence.
note that insurance is another alternative to futures or gov guarantees, though i'd question the need to externalize risk, which manifests a critical market-shaping signal.
You mean growth dependence. When you are forced to grow every year and you can't grow by getting new customers you must steal existing customers from other companies by acquiring them.
'growth dependence' is just a symptom of greed, which is also the root driver of over-consolidation/corruption in markets. that's why a thoughtful regulatory stance is essential to high-functioning markets (e.g., anti-trust, not price controls), rather than the slapdash shit we have now, where parts of markets are highly over-regulated to ensure regulatory capture, while other parts are highly under-regulated to externalize risk.
> The problem isn't getting loans on one's crops. It's transferring the price risk to someone else. When a farmer plants, they want a guaranteed profit. Loans don't address that problem. Futures do. (It's why they were invented, in the 17th century, by the Dutch and Japanese.)
The problem is excess credit available to financial firms engaging in leveraged speculation and financial services investment, resulting in financial sector employment and compensation that is super-proportionate to any real savings generated for non-financial producers. This leverage is enhanced by the lack of free (zero-fee) public alternative for basic banking services. It is not necessary for public banks providing basic banking services to guarantee profits for farmers. Provide savings, transfers, and liquidity loans at present values at what an option to sell existing previously planted crops would be worth might be sufficient to reduce deposits held by banks engaging in leveraged speculation. Providing basic banking as a public utility is the middle way the parent commenter advocated because it does not require banning anything.
Isn't this the same for Nim? The standard library doesn't provide pure functions for parsing strings, it provides functions which generate exceptions. Exceptions use the heap, it's hard to get programs to compile with the garbage collector turned off, so everyone just recommends using ARC.