Applied to AI I think it would be something like - ease of development increases the complexity attempted.
2,516 karma · joined April 15, 2009
Applied to AI I think it would be something like - ease of development increases the complexity attempted.
Sometimes it is called a fluent-interface in other languages.
I used this single line to generate a 5 line Java unit test a while back.
test: grip o -> assert state.grip o
LLMs have wide "understanding" of various syntaxes and associated semantics. Most LLMs have instruct tuning that helps. Simplifications that are close to code work.
Re precision, yes, we need precision but if you work in small steps, the precision comes in the review.
Make your own private pidgin language in conversation.
Key takeaway, LLMs are abysmal at planning and reasoning. You can give them the rules of planning task and ask them for a result but, in large part, the correctness of their logic (when it occurs) depends upon additional semantic information rather then just the abstract rules. They showed this by mapping nouns to a completely different domain in rule and input description for a task. After those simple substitutions, performance fell apart. Current LLMs are mostly pattern matchers with bounded generalization ability.
My nuanced take is that typing is an economic choice. If the cost of failure (MTTR and criticality) are low enough it is fine to use dynamic typing. In fact, keeping the cost of failure low (if you can) gives you much more benefit than typing provides.
Erlang, a dynamic language used to create outrageously resilient systems, is a great example of that for the domains where it can be used.
I'm not a dynamic typing zealot (I like static typing a lot) but I do think that dynamic typing is unfairly maligned.
The cost argument brings the decision down to earth.
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a...
Layers work to the degree that they are trivial, but we really only need them when they are non-trivial.
When people become very skilled at programming they have the urge to scratch their own itch, either writing tools to solve software development problems or creating something with a technology that they want to use. They are uninterested in mundane, boring, vertical applications, but that's often where the money is.
The guy in the article did some development tools but some other things too. At the end of the day, imagining a market is no substitute for finding one.
https://michaelfeathers.silvrback.com/prompt-hoisting-for-gp...
> The primary means for shifting computation is the condenser. A condenser is a component that transforms a program, yielding a program that is semantically equivalent under a stated set of constraints (e.g., “class X will not be redefined”), but may be smaller, faster, or better suited to a particular execution environment.
https://michaelfeathers.silvrback.com/microservices-and-the-...
Hire better. Pithy response, but that's how responsibility aggregates.
I agree but the same could be said about decision-making.
The alternative to analogies is to name the shared structures.
I've never seen an argument against APL that wouldn't also apply to Kanji and Chinese script - notations with billions of readers.