bakuninsbart
Joined 7 years ago
Joined 7 years ago
Most of us are also old enough to have had a chance to develop taste in code and writing. Many of the young generation lack the experience to distinguish good writing from LLM drivel.
Once you are very comfortable in a domain, it is detrimental to have to wrangle a junior dev with low IQ, way too much confidence but encyclopediac knowledge of everything instead of just doing it yourself.
The dichotomy of Junior vs. Senior is a bit misleading here, every junior is uncomfortable in the domain they are working in, but a Senior probably isn't comfortable in all domains. For example, many people with 10+ SE experience I know aren't very good with databases and data engineering, which is becoming an increasingly large part of the job. For someone who has worked 10+ years on Java Backends, now attempting to write Pythin data pipelines, Coding Agents might be a useful tool to gap that bridge.
The other thing is creation vs. critique. I often let my code, writing and planning be rewiewed by Claude or Gemini, because once I have created something, I know it very well, and I can very quickly go through 20 points of criticism/recommendations/tips and pick out the relevant ones. - And honestly, that has been super helpful. Using it that way around, Claude has caught a number of bugs, taught me some new tricks and made me aware of some interesting tech.
To tell a made-up anecdote: A colleague told me how his professor friend was running statistical models over night because the code was extremely unoptimized and needed 6+ hours to compute. He helped streamline the code and took it down to 30 minutes, which meant the professor could run it before breakfast instead.
We are completely fine with giving a task to a Junior Dev for a couple of days and see what happens. Now we love the quick feedback of running Claude Max for a hundred bucks, but if we could run it for a buck over night? Would be quite fine for me as well.
Since consciousness is closely linked to being a moral patient, it is all the more important to err on the side of caution when denying qualia to other beings.
That said, the models, or to be more precise, the tools surrounding it and the craft of interacting with it, are still improving at a pace where I now believe we will get to a point where "hand-crafted" code is the exception in a matter of years.
1. I want peace.
2. a) Therefore I need to be strong enough to deter any attack.
2. b) Therefore I need to be so strong that all my enemies fear me.
2. a) is sound. Nobody attacks if they believe the cost is higher than benefit. ("Believe" is doing heavy lifting here, most wars start when countries belief about cost/value is misaligned)
2. b) is incompatible with 1. Either you believe that a stronger party does not necessarily attack weaker parties, thus peace could also be maintained without supremacy, or you believe supremacy leads to wars, but then your own goal of supremacy cannot be in the name of peace.
Unless, of course, you're a race supremacist, who believes you're so much wiser and more moral than anyone else that only you can be trusted with unchecked power. An idiotic and immoral position to take.
But they can be successful if you spell out the exact specifications. And what is Figma if not an exact specification of the design you want? Within a couple of years the Frontend Developer Market might crash pretty hard.
1. Enterprise Development
Java et Al led to a generation of developers working further from the kernel and the shell. Professionalization of the field led to increased specialization, and most developers had less to do with deployment and management of running software.
Tools also got much better, requiring less glue and shifting the glue layer to configs or platform specific languages.
Later on, DevOps came for the SysAdmins, and there's just much less space for Perl in the cloud.
2. The rise of Python
I would put this down mostly to universities. Perl is very expressive by design, in Python there's supposedly only "one right way to do it". Imagine you're a TA grading a hundred code submissions; in Python, everyone probably die it in one of three ways, in Perl the possibilities are endless. Perl is a language for writing, not reading.
3. Cybersecurity became a thing
Again, this goes back to readability and testability. Requirements for security started becoming a thing, and Perl was not designed with that in mind.
4. The Web was lost to Rails, PHP, then SPAs
I'm less clear on the why of that, but Perl just wasn't able to compete against newer web technologies.
Which is the scary part of the AI revolution. Devaluing labor always leads to increased inequality in the short-to-mid term until a new equilibrium is met. But what if we have machines that can do most jobs for 10-20k a year? Suddenly we have a hard ceiling for everyone below a certain "skill level", where skill includes things like owning capital, going to the right college, and having the right parents.
In the past, when inequality became too extreme, (the threat of) violent uprisings usually led to reform, but with autonomous weapon systems, drones and droids, manpower becomes less of a concern. The result might be a permanent underclass.
I'm quite fascinated by the huge overlap of flight enthusiasts and computer nerds. Any discussion on HN even tangentially involving flight will have at least one thread discussing details of aviation. Why planes, and not cars or coffee machines or urban planning?
On a more serious note, there should almost certainly be regulation regarding open weights. Either AI companies are responsible for the output of their LLMs or they at least have to give customers the tools to deal with problems themselves.
"Behavioral" approaches are the only stop-gap solution available at the moment because most commercial LLMs are black boxes. Even if you have the weights, it is still a super hard problem, but at least then there's a chance.