🎵 Now Playing: Team Rocket Hideout - Pokémon Gold/Silver/Crystal 🎵

LLMs in Programming

I'd like to preface this blog by saying it's 100% human-written, with the only "AI" in this being Grammarly. I am only using its grammar checker to replace spelling mistakes and remove unnecessary punctuation marks, not its Generative AI feature.

By this point in writing this blog, I am now starting my fourth and hopefully final year at my university in Information Technology with a specialization in Web Development. So I have spent at least 3-4 years of my college to get a degree in programming; It's fair that I have a say in this matter. Recently on Twitter (now called X), there have been discussions of AI in programming.

Recently, the creator of the git software (and Linux), Linus Torvalds, has been AI-neutral lately, saying it isn't perfect, but at the same time those who criticize it should also realize that they too aren't perfect.

Here is his full quote:

"And no, AI isn't perfect. But Christ, anybody who points to the problems at AI had better be looking in the mirror and pointing at themselves at the same time." [1]

I don't blame him for that type of mindset; he's very neutral about it and sees AI as this tool that we can use, but at the same time a very painful to use. I have used AI in my code for mundane tools like making my readme actually readable to everyone and not just a shity txt file, but at the same time it adds unnecessary shit like emojis and ASCII art that have nothing to do with the damn project. You have to fine-tune these things JUST for it to work, and sometimes it worsens the project rather than improving it.

Notch and Vibe-Coding

Next, here is a known transphobe and creator of Minecraft, the best game I ever played yet the most unoptimized software I have known, Marcus Person a.k.a. Notch, has been a bit of a sudden advocate for vibe-coding, at first stating to reject AI [2], then one week to try AI [3] now I personally don't mind him trying out vibe coding. But then another week he decided to finally convert to it fully because… it can convert TypeScript to JavaScript and has a mini ASCII sometimes…[4] Notch, you dumbass. TypeScript compiles to JavaScript, and even if you do want to convert it, you use a transpiler!

Like I can get it if it's some tech illiterate thinking programming is just typing shit, but no you have millions from programming Java! You know how to program!

Like programming isn't just typing a program; that's half of it. The other half of it is finding the problem, what's the problem in those problems, and coming up with a solution. That's how a lot of software is born because they solve an issue, or the maker wants to show something off.

gen1recomp

Last one before I actually give you my full opinion on it. I think it's not that obvious that I am a big fan of the Pokémon series, but I am updated most of the time and follow projects, such as SPEE [5], Celia's stupid ROM hack [6], Insurgence [7], and my latest interest, FRLG.ips [8]. Enough about me gushing about Pokémon; I have a wip blog for that. Our main topic is the gen1recomp [9], ohh yeah baby another gen 1 port, now the decomp I don't really mind due to it just being a decompilation. My issue here is that the guy lied about it being a recomp instead of what it actually is, a Love2D port! An actual recomp should be a file that translates the decomp into a true pc port rather than a source port.[10]

The creator hid that they have used AI for the port and lied about it being a recomp rather than a port. Also, some of the fucking battle system suck ass that even Sword/Shield era graphics look better

gen1recomp battle screenshot

Like deadass, I'm not gonna play this

Sword/Shield era battle graphics

This makes sense

Full of life battle graphics comparison

Worse even, this looks full of life; the first one is just full of slop.

My actual opinion on AI in programming

Look, as a programmer, my job is to make everyone's job easier and smoother; if I have to use AI for it, sure, why not. But I won't allow myself to rely on such tools, as being a developer is more than just typing code into a program. It's mapping out the wants and needs of the client. You solve problems in the code; you design the systems that many people will use. You have to plan for the worst-case scenario and how to ensure that the worst-case scenario brings minimal damage to the system and the data it has. You collaborate with people, not swap systems and just prompt better. This is a skill; yes, I will use AI on my code, but I won't turn a blind eye and say Corporations are rotting us to rely on slop machines. I think we as a society should also learn to be more tech-literate, as not all AI is created equal; some are just basic algorithms built by machine learning, some suck the life of the planet by being a datacenter so that you can build the shittiest flyer known to man. Look, use it with discretion, and know when you're just using an algorithm vs a life-sucking machine.

Reject Pax Silica btw.
https://www.change.org/p/reject-nakakapaxshit-silica-in-the-philippines

-Ultima out!

References:

[1] Linus Torvalds on AI - LKML

[2] Notch rejects AI

[3] Notch tries AI

[4] Notch converts to vibe-coding

[5] SPEE - Super Pokemon Eevee Edition

[6] Celia's Stupid ROM Hack

[7] Pokémon Insurgence

[8] FRLG.ips

[9] gen1recomp - GitHub

[10] LJSTAR on gen1recomp


Glossary:

LLM - An LLM is a large language model, a type of artificial intelligence trained on vast amounts of text to understand, summarize, translate, and generate human-like language.

Vibe-coding - a software creation style where you use everyday language to direct AI tools to build applications instead of writing code manually.

Transpiler - a tool that converts high-level source code into another high-level language or an updated version of the same language. Key examples include TypeScript, Babel, and CoffeeScript.

Return to Home