Email or username:

Password:

Forgot your password?
Top-level
Moof is on Sabbatical

@kitten_tech @carbontwelve @david_chisnall @simon so, I’ve found a 10-20% productivity boost with Copilot, mostly when dealing with boilerplate and small stuff. I mostly code python and AL (an ERP-specific language, which doesn’t get much if any boost).

What does work: ending statements when you start them, it infers enough for me to want to let it finish the line, maybe the next two-three lines. Sometimes it gets the logic completely wrong, but then you don’t accept the suggestion. Sometimes it comes up with edge cases I hadn’t considered.

What is more dodgy: explaining what you want and getting it to write the code. That can get quite dodgy, and I rarely accept those suggestions, unless it’s boilerplate.
1/3

7 comments
Moof is on Sabbatical

That being said, I have some experience working with code submitted by less skilled programmers who blindly copy and paste stack exchange for a living, from before the prevalence of LLMs, and I am somewhat used to reviewing code of that standard. I find the longer LLM-built code is similar to review as that style of code, and in some cases is approaching that level of code quality.

I am tempted to try one of these “code your own mobile app” demo things, as it’s a platform I’m unfamiliar with, and I have some itches to scratch.

I believe both my coding style and my speed have been affected by using Copilot, both with modest boosts to productivity.

Could I work without Copilot? Absolutely! Would I want to? I think I’d miss the speed boost in a long python project

2/3

That being said, I have some experience working with code submitted by less skilled programmers who blindly copy and paste stack exchange for a living, from before the prevalence of LLMs, and I am somewhat used to reviewing code of that standard. I find the longer LLM-built code is similar to review as that style of code, and in some cases is approaching that level of code quality.

Moof is on Sabbatical

One place where my colleagues (and to a lesser extent, myself) have found LLMs to be useful is in multilingual situations.

When English is not your first language, but your coding standard requires things to be programmed in English, sometimes you can struggle to use the correct name for a variable, especially when those words are false friends, or are concepts that aren’t one word in English. The LLM can make sensible suggestions for variable and function names and the like. I’ve had to do fewer refactorings of colleague’s work due to inappropriate name use since they started with Copilot.

Similarly, pasting a description in Spanish into one of these things and asking for an outline onto which to hang your code on in English has helped, with proper code review.

This stuff is not panacea, but it can help when applied with a healthy dose of scepticism. @kitten_tech’s OP conclusion is valid, as the benefits are still marginal.

3/3

One place where my colleagues (and to a lesser extent, myself) have found LLMs to be useful is in multilingual situations.

When English is not your first language, but your coding standard requires things to be programmed in English, sometimes you can struggle to use the correct name for a variable, especially when those words are false friends, or are concepts that aren’t one word in English. The LLM can make sensible suggestions for variable and function names and the like. I’ve had to do fewer...

David Chisnall (*Now with 50% more sarcasm!*)

@moof

I am tempted to try one of these “code your own mobile app” demo things, as it’s a platform I’m unfamiliar with, and I have some itches to scratch.

I wrote my first Android app a couple of months ago. I did it in Android Studio, which didn’t have Copilot set up. It took half a day (having it touched Java for 6-8 years, and then mostly only to write test cases when hacking on the internals of a JVM). I went from nothing to a working app in under a day.

The things that took time were:

- Google’s CADT problem meant that a lot of things in the build system had changed from the time tutorials were written and figuring out the differences always annoying.
- The MQTT library I was using needed some extra things for compatibility with older SDKs and they were enabled by default, the instructions for turning them off were documented but figuring out that this was the problem took time.
- I spent ages debugging a connection problem that I assumed was a permissions issue. It turned out that the MQTT server was down (but its status page was not).

I don’t think an LLM would have helped with any of these problems.

Android development is so much worse then OpenStep development in 1992 (iOS is a cleaned up version of OpenStep tuned for touchscreens and systems with more than 8 MiB of RAM, so I presume it’s better). Adding LLMs won’t fix that, thinking about APIs before you ship a thing that you likely have to support for a decade or so would. In spite of it being a truly terrible platform for developers, it was pretty easy to build something that worked.

Twenty years ago, we were building minimal-code platforms where you could build CRUD web and desktop apps with a few dozen lines of code for your business logic. A lot of frameworks seem to have massively regressed since then. If anything, relying on LLMs to fill in the code that shouldn’t be necessary in the first place will make this worse.

@moof

I am tempted to try one of these “code your own mobile app” demo things, as it’s a platform I’m unfamiliar with, and I have some itches to scratch.

I wrote my first Android app a couple of months ago. I did it in Android Studio, which didn’t have Copilot set up. It took half a day (having it touched Java for 6-8 years, and then mostly only to write test cases when hacking on the internals of a JVM). I went from nothing to a working app in under a day.

Moof is on Sabbatical

@david_chisnall I do miss the era when you could just code up an app with minimal thinking about the common cases that were covered by frameworks. The idea that everyone needs to have their own interface developed is something that the new web era has foisted on us, and is definitely a step back. Electron and company has just made it worse. And don’t get me started on my thoughts on WASM.

I agree that LLMs will not help there. Or if they do, it shouldn’t be like that.

Either way, I feel that the best way to get a feel for a tool is to use it. You have done so, and come to valid conclusions, and I thank you for sharing.

I expect my next job to be the sort where I will have to battle pressure both from above and below for use of LLMs as a way to accelerate or replace developers. I need to have arguments that sound authoritative in order to battle the massive propaganda^Wmarketing effort being made to sell this as the best thing since Jesus fed the 5k with sliced bread

@david_chisnall I do miss the era when you could just code up an app with minimal thinking about the common cases that were covered by frameworks. The idea that everyone needs to have their own interface developed is something that the new web era has foisted on us, and is definitely a step back. Electron and company has just made it worse. And don’t get me started on my thoughts on WASM.

David Chisnall (*Now with 50% more sarcasm!*)

@moof

I need to have arguments that sound authoritative

If you're looking for plausible and authoritative-sounding pronouncements, you've come to the right place!

jincy quones

@moof What kind of boilerplate are you having to write so often that any decent snippet engine couldn't handle perfectly well without the litany of issues of an LLM? We *already have* tools for boilerplate, I don't understand why people are so entranced by LLM's ability to deal with it in an absurdly, grossly inefficient way.

Go Up