3 ms·
>Most software is written by glueing existing code together and using libraries. AI can do this reasonably well today. >I think you're overestimating the uniqu
by thesz 3y ago
>Most software is written by glueing existing code together and using libraries. AI can do this reasonably well today.
>I think you're overestimating the uniqueness of your code. Is it really all original? You're writing everything from scratch with novel, never before seen approaches? I doubt that very much.
You can doubt that. Yes, of course.
One kind gentleman here introduced me to worst-case optimal join algorithms and I designed one myself. It uses Bloom filters represented as binary decision diagrams, really nothing fancy.
You can try asking AI to write you a Bloom filter represented as binary decision diagrams. I doubt you will get anything interesting and/or useful.
>There's a reason why design patterns exist. Many solutions can benefit from following existing patterns.
This is history repeating itself.
Functional languages do not require that much of design patterns. In fact, functional programming can hide complexity so well that uncovering it can produce exponential blow up in code size. And type systems greatly benefit writing complex systems. I know because I programmed in almost all kind of languages (typed, untyped, dynamic, static, Turing-complete, total, etc) and programing paradigms existing (including term rewriting systems).
I doubt you use Haskell for your work, which is functional and has rich and powerful type system.
The same will be with AI. You can proclaim it will change the world, but similar tools readily available for quite some time did not.
Returning to AI and VCS, the presentation that started our discussion shows a principal problem with VCS, at 7:06 or so. We can make a changeset that will provoke any merging/conflict-resolution algorithms into making a silent mistake. Pijul postpones this problem, I think, not rids of it.
AI does not report a problem, it hides it, and lies. Nobody, to my knowledge, was able to make any AI to admit it does not have a clue about thing it clearly has no clue about.
So if we certainly will have a mistake in our merging process, AI will certainly lie about it. The code after merging-with-AI shall be tested and reviewed, there is no short-cuts there.
So, why bother?