3 ms·
I am not so sure if the determinism offered by programming languages is more meant for a human requirement or not - if it is, making programming languages more
by ixaxaar 3y ago
I am not so sure if the determinism offered by programming languages is more meant for a human requirement or not - if it is, making programming languages more "natural" will actually backfire because a human ultimately needs to read it and understand.
Code is meant to be mostly read not written. And no, LLM explanations are shit useless, a language model simply cannot handhold a human to make them understand logic line by line, you NEED to read it, and hence code has to be "readable", which to an engineer means "precise".
- anonzzzies 3y ago> LLM explanations are shit useless, For you and for me maybe, but by now I know a lot of people I met at meetups who never programmed but who are creating SaaS etc systems now just by having a chat with chatgpt. They cannot code without, they have the llm explain line by line. They don't understand when they read it (mostly Python/React/JS) without the llm explaining. And my worst nightmare (as someone who likes precise, static typing, strong typing and even formal proofs now and then) which seems to rapidly becoming reality; read/see no code at all; it's just nanoservice blackbox (just single endpoints) stuff written by chatgpt and the 'programmer' never sees the code, just the input and output.
- dkersten 3y agoHow well does this work for them in practice? Try as I might, the great I could get ChatGPT to generate was what I would consider student quality code. Good enough for learning, maybe ok as a starting point, but would never pass code review at my day job and it also tended to break in subtle and not so subtle ways when additional requirements or bug fixes were prompted for. I did find it was good at explaining code, but I was also able to read the code alongside its explanations since I have been programming for two decades, and I did find it useful for familiarising myself with unknown codebases (although the tooling for this needs to be worked on). I also find it’s quite capable at little self contained code snippets (useful for bits of data mungeing in Python for example, but not quite able to build a full product). Presumably these people are generating snippets of stuff and gluing them together. I guess that can work, but I can’t imagine the output is particularly good or bug free.
- eep_social 3y ago> the output is particularly good or bug free The same could be said about most of what is sold as “enterprise” software. With LLM assistants the floor has simply become lower to the point where one need not even pretend to be able to code to produce something useful.
- dkersten 3y agoThat’s fair. I’ve had a similar argument with a friend about AI and creativity where he was aging that AI just produces mashups of existing work, but unless you’re a top author, the best that the vast majority of us can expect to produce is a mediocre mashup of existing ideas and AI can produce work that’s as good as or better than that. So in the same light, I suppose it’s fair to say that AI can produce code that is certainly better than what the average person can produce and if it can do something useful, well, most people will be happy with the results. Not everyone needs top quality software and as you say even a lot of professionally produced software is garbage. So, yeah, fair point.
- anonzzzies 3y ago> but I can’t imagine the output is particularly good or bug free. It’s terrible, but so is most human written software. I had to debug nextjs because something was broken in the app router, deep inside. Most of the code is terrible and yet it’s one of the most popular things there is. It wouldn’t matter much if it was written by students, AI or these ‘senior programmers’; it’s neither good nor bug free.