I agree. But you can speak imperatively to agents as well ("Here are specific steps; follow them") and they can still screw up. :) I think what you're looking for is determinism, not imperativism.
And to your point: instructing a (non-deterministic) LLM declaratively ("get me to this end state") compounds the likelihood of going off the rails.
I don’t think I’m confusing the two but it is an issue. See another comment I made in a sibling comment - terraform is a great example or something that is declarative, and also non deterministic. You can’t control upstream api/provider changes even between two plans happening simultaneously - thats a lot what working with agents feels like to me.
It's talking about the Ada programming language and that its code was apparently stored not as plaintext but an intermediate representation (IR) that could then be transformed back into code.
So formatting was handled by tooling by the nature of the setup. Developers would each have their own custom settings for "pretty printing" the code.
The author isn't saying don't use code formatters. They're highlighting an unusual approach that the industry at large isn't aware of. Instead of getting rid of arguments about code style via formatters, you can get rid of them by saving code in an IR instead of plaintext.
Truly incisive observation. In fact, I’d go further: your point about the contrast with real friends is so sharp it almost deserves footnotes. If models could recognize brilliance, they’d probably benchmark themselves against this comment before daring to generate another word.
> The best thing for managing this is meditation, and a disciplined lifestyle regiment.
What would be your reaction to the numerous comments on this page where people are saying that they tried and failed to "discipline" themselves for years or decades, only to discover medication later and find that it instantly turned everything around for them?
I'd say they weren't addressing the core issues, or they think discipline is something that it isn't, and then kept trying ineffectively.
Here's what discipline is and isn't.
Discipline is an extremely simple concept to develop but few actually know how to do it in any reasonable way because of so much misinformation out there, and malign influence seeking to take advantage and increase suggestability, and by extension addiction.
Discipline just like meditation is really a fundamentally simple practice.
Just like with meditation, where you don't use willpower, but instead simply focus your thoughts back towards a single point, and then relax that focus slowly, which stills your thoughts.
Discipline is simply the repeated practice of limiting when and where you choose to change your initial decision or choice, for all of the choices you make.
You take your time considering before making a choice, and once made you only change it when there is some new information that becomes available after the fact, whether that is a new consequence you didn't consider, or completely new information you received later.
Its a simple rule. You don't give yourself the choice except under those circumstances. When you are tempted, you remind yourself you don't have the choice. When you cave and fail, you don't beat yourself up because that destructively interferes with your psychology which only works towards outcomes framed in the positive. If you make a mistake you examine what led to it right away, and mitigate those circumstances moving forward. You imagine what you will do next time, with a successful outcome a few times that day.
With this repeated ritual comes an understand that willpower is always finite, and you pick and choose what you will spend that on each day. You recognize when its running low, and defer important decisions pigeonholing them for a later time. With repeated practice in everything this become a unconscious ritual with good outcomes.
You do what you say you will do, and you don't compromise yourself, and people recognize that level of discipline. It becomes easier with each successful choice, and its so damn simple.
These two things together make a world of difference in coping with everything. It places the locus of control for your life within your grasp.
> only to discover medication later and find it instantly turned around everything.
First, medication in most cases in psychology doesn't instantly ever turn around everything. You still have the problems that led to your mental state, they are often subtle which have built up over time. You are just better able to cope with them where you weren't coping before, and following the initial euphoria of relief you still have those problems.
I know quite a number of people that have been diagnosed and use medication to cope with professional burnout. Eventually you pay the piper.
Sure you can take a drug, and maybe you feel better, but also maybe you feel like everything is 100x worse and to relieve the pain and suffering you end yourself; (a known sideeffect) or you have a chemical reaction that ends up in sudden death (a known sideeffect). Few actually consider this, minimizing it.
There is no panacea. Soma is just treating the symptoms. What you do, and things you choose to live by are far more important, especially in contrast to the fact that many medications make one more suggestible. For good or ill.
> programmers agree that simpler solutions...are preferred, but the disagreements start about which ones are simpler
Low ego wins.
1. Given: The quality of a codebase as a whole is greatly affected by its level of consistency + cohesiveness
2. Therefore: The best codebases are created by groups that either (1) internally have similar taste or (2) are comprised of low ego people willing to bend their will to the established conventions of the codebase.
Obviously, this comes with caveats. (Objectively bad patterns do exist.) But in general:
Low-ego
→ Following existing conventions
→ They become familiar
→ They seem simpler
I don't think this necessarily is accurate I've come into a lot of projects that no one understands well, but everyone continues to follow the same bad conventions that already exist which just adds to the problems. Ex: deep nesting, no early exit, deep object inheritance.. this happens because a lot of developers don't want to rock the boat, AND because they don't have the skills to unwind the complexity in a manageable amount of time without also causing serious problems.
I think the point is: "you'd be a fool not to prefer gas, because while the greenhouse emissions are about the same, for everything else coal is much worse"
They said gas over coal. If you accept the claim that GHG emissions from gas and coal are roughly equal, their claim is the other pollutants from burning coal make gas far more preferable.
If their greenhouse emissions are even close only a moron would not pick gas over coal because the former's emissions lack all the other nasty byproducts that are present in the latter's emissions.
And to your point: instructing a (non-deterministic) LLM declaratively ("get me to this end state") compounds the likelihood of going off the rails.
reply