• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Attempting To Program Something Using LLMs With Zero Knowledge or Skill

olePigeon

68040
I get Google Gemini for free at work. So I've been messing around with it. Currently I am attempting to make a tiny database program using THINK C version 6 on System 7.

I attempted to start with Codewarrior, but it was a complete failure. I then tried Symantec C++ and it was a bit better, but it was just constant syntax errors. So now I'm on THINK C v6 and it's going along somewhat smoothly.

I told it to limit its knowledge to a handful of period appropriate books. Even though I tell it to use C and not Pascal, it keeps trying to sneak Pascal in there and breaks the program. I think it gets confused on the code examples it's pulling from where they give both Pascal and C examples for the same thing.

Anyway, it's coming along surprisingly far given I have zero experience. I'm also learning a bit about how C works and the Macintosh Toolbox. I guess it's just sort of a nerdy sandbox. Just playing around.
 
You may have landed on one of the relatively few genuinely helpful uses I can think of for LLMs.

I'd be lying if I didn't say I wasn't just a tiny bit curious, but I'm a Luddite who looks at this newfangled technology (and the companies behind it) very distrustfully, and I don't want to give them any of my money or information if I can help it.

If I didn't have so many qualms about it, I'd ask it to write me a stream player app for Mac OS 7 ,8 and 9 (plus a Carbonized version that can also run natively on Mac OS X 10.0.x-10.4.x) that's lighter and more purpose-built for streaming than iTunes and Sound Jam MP, easier to use than MpegDec, and can support at least a useful subset of modern security protocols and encryption ciphers so it can connect to encrypted streams. Kind of like a Spotify or Pandora app (I think someone actually has made such a thing for the former, so there's some precedent), but more platform agnostic where all you do is feed it a URL to a stream, and it simply plays it and nothing more.

Or better yet, how about a fully up to date Mozilla-like browser (kind of like Firefox, but for Classic Mac OS) running with at least basic HTML5 support, which has this facility built in?

c
 
You may have landed on one of the relatively few genuinely helpful uses I can think of for LLMs.
I agree. I’ve always been awful with programming.. just my brain will not do it. But I have been using Claude to build plugins for my Home Automation system Indigo Domotics and it’s done an amazing job. I mean.. it’s a bit of a fight.. I feel like I’m in control of an autistic toddler who’s been given a multi pack of red bull.. but when properly controlled it’s doing great work.. it’s managed to integrate things I’d never thought possible!
 
The problem is that, given a problem, writing the code to solve the problem isn't the hard bit. It's knowing whether it will break or not, and working out how, that's the hard bit.
 
The problem is that, given a problem, writing the code to solve the problem isn't the hard bit. It's knowing whether it will break or not, and working out how, that's the hard bit.
Modifying code written by an LLM is also a challenge.

I've found one really good use for them: distilling large volumes of text into something actionable. Sometimes I get LLMs to script up something for me as well, but I make sure they do it in a manner where I can visually check all the components and easily identify the stuff it just makes up and fix it -- so it saves me time, but doesn't waste my time.

Actually, I lie: along with the distilling large volumes of text, LLMs are also good at doing a first code review and suggesting things I should fix in my code -- it'll make a bunch of stuff up that I can ignore, but it can also catch some obvious and not so obvious mistakes I've made, allowing me to fix them and learn from them.
 
I think it would be very useful for an accomplished programmer who knows what they're doing and has a large repository of code they've written. The LLM can can train off that repository and produce code that the programmer is accustomed to and would find it relatively easy to follow and debug.

Writing from scratch using whatever random stuff the LLM has stolen off the internet ... not so much.
 
I write SQL for a living (which is sort of code) and while I often find LLM-generated SQL impressive, you really need to know what the right answer is, because otherwise you can't judge how useful or correct the generated SQL is.
I have thought that LLMs might be great for someone who is already well-versed in the Assembly Language used to write software up to System 6, once it can be fed in appropriate texts, code and so on.
 
I write SQL for a living (which is sort of code) and while I often find LLM-generated SQL impressive, you really need to know what the right answer is, because otherwise you can't judge how useful or correct the generated SQL is.
I have thought that LLMs might be great for someone who is already well-versed in the Assembly Language used to write software up to System 6, once it can be fed in appropriate texts, code and so on.
It can also same some time in disassembly analysis by identifying code blocks that are already well understood; however, I've found that there's a small enough body of work for pre-system 7 68k asm available that the current crop of LLMs have no clue what to do and keep on defaulting to OS X PPC/ObjC structures, and get confused about endianness and Pascal vs C structures. You'd need to do some very careful training to get a usable model there, I think. Post-2000 stuff? Yeah, it can save some time in basic scaffolding and in checking your work.
 
I write SQL for a living (which is sort of code) and while I often find LLM-generated SQL impressive, you really need to know what the right answer is, because otherwise you can't judge how useful or correct the generated SQL is.
I have thought that LLMs might be great for someone who is already well-versed in the Assembly Language used to write software up to System 6, once it can be fed in appropriate texts, code and so on.
I've been told by others that it does a great job commenting Assembly to make it easier to understand what's going on.
 
So I decided to start from scratch after a couple days of fiddling around. This time I set up parameters before I started and it's working a LOT better and producing compatible code way more often. It seems to be pulling its code almost exclusively from Julian Skidmore's "One Week Wonder" Blogpost which has a TON of posts with examples from programming in C that he'd done in the past. I really should write him an email and thank him. This program is 99% his code.

The parameters:

1. Use only C89/C90 standard for C programming.
2. Do not use Pascal.
3. Do not use Carbon.
4. Use only these following sources:
* The Macintosh C Programming Primer (Vol 1 & 2)
* Macintosh C Programming By Example
* Learn C on the Macintosh
 
Back
Top