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.
@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.