Although generative AI and large language models have been pushed as direct replacements for certain kinds of workers, plenty of businesses actually doing this have found that using this new technology can cause more problems than it solves when it is given free reign over tasks. While this might not be true indefinitely, the real use case for these tools right now is as a kind of assistant to certain kinds of work. For this they can be incredibly powerful as [Ricardo] demonstrates here, using Amazon Q to help with game development on the Commodore 64.
The first step here was to generate code that would show a sprite moving across the screen. The AI first generated code in all caps, as was the style at the time of the C64, but in [Ricardo]’s development environment this caused some major problems, so the code was converted to lowercase. A more impressive conversion was done in the next steps, as the program needed to take advantage of the optimizations found in the Assembly language. With the code converted to 6502 Assembly that can run on the virtual Commodore, [Ricardo] was eventually able to show four sprites moving across the screen after several iterations with the AI, as well as change the style of the sprites to arbitrary designs.
Although the post is a bit over-optimistic on Amazon Q as a tool specifically for developers, it might have some benefits over other generative AIs especially if it’s capable at the chore of programming in Assembly language. We’d love to hear anyone with real-world experience with this and whether it is truly worth the extra cost over something like Copilot or GPT 4. For any of these generative AI models, though, it’s probably worth trying them out while they’re in their early stages. Keep in mind that there’s a lot more than programming that can be done with some of them as well.
I find, in my work, that the first, and possibly hardest part of the programming work is understanding the problem and its interrelated factors, and what kind of approach you want to the solution. I really don’t think AI will ever substitute for a human.
Oh it will probably give you a solution but it’s very unlikely right now to be anywhere near optimal or even as good as a slightly dim human could do.
The optimal solution isn’t even a fixed solution since it’s necessarily based on the desires and priorities of the person or company asking for the solution. Strictly as a relatable, topical example, Biden and Trump would ask very different things on a new software suite for ICE. Their priorities are simply not the same.
It may not be optimal or what a slightly dim human is capable of with sufficient research, but it may be good enough, and if the goal is tinkering with an unfamiliar architecture in between projects you have more time and intellectual to devote to then it’s quite possible that this sort of approach could be the optimal one. I realise that it’s possible to trap yourself into only approaching problems this way, and one’s mileage will vary considerably in terms of results, but I’ve been contemplating doing similar for briefly tinkering with some bits of vintage hardware that I really can’t justify devoting the time to learn properly. Also, there is some potential value in using this sort of effort as an excercise in efficient use of existing code and technical documentation with LLMs in order to generate more useful responses in order to generate good enough code in other similar contexts.
Perhaps I’m letting my ADHD and limited engineering talents show, and attempting to make a virtue out of a vice, but shortcuts to a superficial familiarity with many types of project are something I find more engaging than a perfectionist slog in the pursuit of more elegant solutions to a few.
Ah, see, I’d feel cheated. I mean that’s what hobbies are for, killing time in an enjoyable manner. Learning how to go down to bare metal on something that I have no real reason to is my hobby. Like I can do everything building a new house from the concrete to the shingles, make beer, wine, liquor, black powder, dynamite, or a katana. From scratch. And I mean all the way from scratch. Like growing the barley or making the chemicals that I can’t go out and pick up from nature. Picking up a new language or a new architecture is just another aspect of that for me.
It comforts me to know that if I were ever transported back to 1060 AD that I could rule the world in under a decade.
But would you have unlimited rice pudding?
I think perhaps where we differ is in the extent to which we intrinsically value the acquisition of skills. I’m only interested in doing so as a necessary evil to realise an idea, be that a crucial problem in my life or a passing fancy. As soon as that idea has been realised, my enthusiasm for practicing the skill diminishes greatly, and as soon as there is an easier (in an end to end sense, and mindful of the sunk cost fallacy) I’m more interested in that. Any perfectionism on my part is in the realisation of the idea, and the ideas which I tend to have (or at least those which are of any merit) are abstract rather than concrete. If I found myself playing with 6502 assembler, it would be much more likely to be in the service of telling an elaborate joke or because a restoration job took an unexpected turn than out of a fundamental desire to acquire a comprehensive understanding of the architecture or a foundation for future work of the same type, in fact (and while I certainly respect the skills and preferences of those who do and feel otherwise) both of these fill me with a certain degree of dread, I’d certainly need to seek out a renewed prescription for stimulants in order to maintain sufficient enthusiasm.
To get the AI started on the programming project, you have to be able to tell it what you want. My point above is that that in itself can be a major hurdle. You can’t tell it what you want if you haven’t even figured that out yet. AI could do the small, non-nebulous things like give you a 6502 routine to multiply two 24-bit variables; but the overall project won’t be so simple.
History doesn’t repeat, but it rhymes. I remember when a hot topic of discussion was whether C compilers would ever generate code as good as (in terms of execution speed and compactness) what a person could produce.
I used an AI to validate an electronics design, analyze it, provide value estimates for current, recommended resistor values, and provide formulas for each I could validate.
Bouncing ideas off an AI works wonders for collecting your thoughts and restricting your problem space to the most likely positive results.
Worth it.
Never say never the field is in its infancy after all.
But I agreed with the idea, the best result I’ve had was when I wrote out the structure or functions with comments and made the AI fill it in
Worked really well.
Also when working with existing code based asking if to rewrite functions or add new ones for specific ends.
The fact it can write some code from scratch already is stupendous.
AI for professor, did you hear about vector database. This concept is a famous in mathematical, it called mapping. Basically, the language is a mapping itself, when i say , the co