Usually countries don't go to war over actual principles such as these but for self-interest. That's what I was getting at. Scare quotes indicate the position of the concept within public-facing rhetoric for an Opium War style operation (which would presumably be about profit, control and so on, the usual).
If people like Rob Pike and Linus Torvalds are on the opposite end of that spectrum, you might be interested in why that is.
I strongly suspect the older and more experienced a developer is, the more likely they are to code without syntax coloring, including large numbers who previously didn’t.
It's interesting: on balance life increases entropy.
Yet it also produces pockets of ultra-low entropy; states which would be staggeringly, astronomically unlikely to be witnessed in nature.
So perhaps what life does is increase entropy-entropy -- the diversity of entropy, versus a consistent entropic smear -- even as it increases entropy...
> So perhaps what life does is increase entropy-entropy -- the diversity of entropy, versus a consistent entropic smear -- even as it increases entropy...
Life is a rounding error in the energy and entropy balance of the solar system. And even on earth we barely amount to much.
Yes, and yet if we instead look for low-entropy peaks, I'd be shocked if anything in the solar system is even nearly as low-entropy as a single bacterium, let alone a brain.
On one hand, yes: expanding bullet points to slop makes things strictly worse.
On the other hand, if one uses AI but keeps content density constant (e.g. grammar fixes for non-native speakers) or even negative (compress this repetitive paragraph), I think it can be a useful net productivity boost.
Current AI can't really add information, but a lot of editing is subtracting, and as long as you check the output for hallucinations (and prompt-engineer a lot since models like to add) imo LLMs can be a subtraction-force-multiplier.
Ironically: anti-slop; or perhaps, fighting slop with slop.
My personal preference would be to have separate types `A` and `A?` and overload field projections to work on `A?` as you'd expect. Subtyping optional.
Putting on my theory hat, while we we can overload field projection for any monad (data structure representing a result + an effect : think result for exceptions, or a thunk for a promise), it's not the best idea.
But for what is at least morally a commutative (order doesn't matter: FAIL ; pure = pure ; FAIL = FAIL) and idempotent (FAIL ; FAIL = FAIL) monad, it works...
Which justifies fun things, like lazy projections on promises!
... or maybe in the definition of type A you can specify what
((A) null).someValue
or
((A) null).doSomething()
does at the field or method level. I guess there is the issue of how you figure out what the type is which depends of course on the language. Could be a better fit for C++ than all-virtual Java but I don't want to give the C++ any ideas to make that language more complex!
You could, but the issue is that now when I'm defining a type I need to think about it's nullable behaviour.
Versus if I instead view nullability as a way of transforming types (aka a functor) that works by reflection; this gives me some parametricity: the behaviour of my function will be the "same" regardless of which generic I slot in (though fields don't play that well with generics... something something row polymorphism something something).
Ill formed thoughts really; what I'm handwaving at is I slightly agree with the anti-complexity crowd that an operator should usually do the same thing, and yet I think it harms terseness and hence often readability and understanding to have non-overloaded boilerplate everywhere (addf64, addu32, addi16...).
Parametricity is a nice compromise for non-primitive ops, imo.
Yeah, there are two ideals I think of in terms of programming languages:
(1) As a simple set of primitive operations that I can use to build up increasingly complex operations and on that level I value "simple". Like the all-virtual method dispatch in Java as compared to whatever it is in C# or C++. In that case I value predictability and users knowing what they're going to get.
(2) As a platform for domain-specific languages such as the tactics described in On Lisp although those tactics apply well to other languages. In that case my desires as an "author of libraries" and "users of libraries" start to diverge. With that hat on I start to think (a) application programs can consist of "islands" with radically different coding styles (say in Java part of the system is comfortable with POJOs but other parts work with dynamically structured data with no schema or a schema defined at runtime) and (b) I'd like to be able to bend the language really far.
From the viewpoint of a programmer who wants to get work and have an impact on the industry I'm usually working in commercially mature languages and finding as much of those values in them as I can.
I think there's something to be said for separating disdain for the person and disdain for the institution; unfortunately the latter is used as an excuse for the former.
But actually... there really are, IMO, better ways to "buy hope", or for that matter positive feelings, many of which actually have positive EV (even if not financially), and it is in my opinion a systemic flaw that we use well-known exploits in human psychology to take money from, statistically, the people who have the least.
One of Rust's core guarantees is that a race condition in safe code will never cause UB. It might return a nondeterministic result, but that result will be safe and well-typed (for example, if it's a Vec, it will be a valid Vec that will behave as expected and, once you have a unique reference, is guaranteed not to change out from under you).
There's the concept, and then there's the painting.
AI slop from a generic prompt is not the same as "using AI to get my concept in physical form faster."
Imagine, for example, a one-man animated movie. But, like, with a huge amount of work put into good, artistic, key-frames; what would previously have been a manga. That's possible, soon, and I think that's huge and actual art.
Let's say it takes 10 units of work to build a house, and 200 units of resources to build a skyscraper; on average. Let's further assume, after a point, that skill tends to increase quality by a lot more than it decreases resource consumption, so this is "about the best you can do".
A very skilled craftsman/artist can build an amazing house with 10 units. A low quality bargain barrel contractor will build a skyscraper for 200, but it's not going to be pretty.
If new technology means you can now build a skyscrapers for 10, that means that many more exciting and experimental concepts can be tested by building a skyscraper right away, whereas previously they could only be built as a house.
- Some concepts are just better as a house. Even with infinite resources, people will still make houses to this concept; it's not like houses are devalued or less useful or less nice.
- Some concepts would be better as a skyscraper, but are very niche, so they were built as houses as a compromise. These can now be skyscrapers. This is no comment at all on the skill of the builder, only on the resources available to them (time, money, etc.)
I never said:
- houses are worse (or better)
- building houses is a skill issue
I merely said:
- the choice of what to build is not 100% based on artistic merit; resource constraints must also be taken into account
And hence concluded:
- if it becomes cheaper to build things, the choice of what to build depends more on artistic merit now
And speculated:
- since there are all kinds of things that are really cool but really expensive, meaning we often (due to resource reasons) need to substitute a cheaper thing (which can be just as good or even superior for other concepts, just not the particular concept in question), we will likely see a lot more of Really Cool Thing now that it's cheap.
In short, thinking photography will enable a new mass market of images whereas previously paintings were really expensive and difficult to make, while still respecting that:
- a master photographer can be just as skilled as a master painter
- a master painter's work is not necessarily devalued by the existence of photography
And yet noting that
- some paintings might be better as photographs, or would never be made at all because there simply wasn't enough money to paint them even if they in fact would be better as paintings
Think, for example, realistic war photography. Or realistic photography of non-privileged people and cultures. That's just... not painted very often.
Cheap is good for diversity of expression. It does not devalue what used to be expensive, except insamuch as the value was simply a shallow status signal about burning resources rather than real human expression.
Sure, it may not have infinite value, but there are plenty of far less valuable things we endure significant harm to be able to enjoy.
And I say this as someone who absolutely hates social media.
reply