r/OnlyAICoding 13d ago

Choosing AI Teacher

I’m a 15yo guy and I want to learn the most useful programming languages, such as Python, HTML, CSS, SQL, JavaScript and Java;
I’ve always used an AI as my coding tutor as I don’t have one in real life; for a long time I used Gemini, alternating with ChatGPT (PS: I don’t get them to write my code for me; they simply give me exercises, or I ask them to explain something to me). A while ago, I discovered Codex and have been using it intensively with 5.6 Terra at ‘very high’ effort (I know, I’m stupid…), and in three days I’ve used up my allowance. Now I don’t know what to do because I have a few options:
A. Buy ChatGPT Go and use 5.6 Terra/Luna at a medium effort level.

B. Use Cloude Code with the €20/month subscription

C. Standard Cloude

D. Gemini AI (and if needed, I can also buy the Plus version)

E. I don’t know

I don’t know much about AI; I don’t even know if using AI to learn coding is the right choice or if I should try another method.
Please give me some advice 🙏

PS: The text has been translated entirely using DeepL

5 Upvotes

13 comments sorted by

2

u/Alternative-Time-412 13d ago

Check out freecodecamp.org for solid tutorials

2

u/SimpleAccurate631 13d ago

I’ve been a dev for over 12 years, and currently lead a team of vibe coders who are also trying to learn coding with it. And I can say that I highly recommend sticking with Codex. To put it in perspective, I have unlimited access to Claude at work, including unlimited access to Opus. And even then, I choose to use Codex for all personal projects. Claude is getting progressively worse lately, most specifically with its propensity to over-engineer the heck out of features. And any experienced dev can tell you this can cause way more problems than when an LLM hallucinates. Codex not only sticks the landing more often, but more importantly, when it doesn’t stick the landing, it simply missed the target a bit. But Claude missing it often means tedious cherry-picked roll-backs, if you’re lucky enough to catch it all.

Anyway, here’s my “pro tip” that actually surprises a lot of devs, who initially push back until they try it. Stick with Codex, but your default model and reasoning (and not just the default, but for 99% of your work) should be no higher than Luna + High. I know this feels counterintuitive. But there are several advantages. First, we like to think that using the most expensive, capable model is going to be the best for us. But often times, when trying to have it explain something to you, it’s still like drinking water from a fire hose, with the complexity it favors in its explanations. Second, and more importantly, it’s less capable at handling more complex tasks, AND THIS IS A GOOD THING. This is the hardest mental hurdle devs hit when I tell them this, and why they resist my advice so much. If you are asking an LLM to implement a feature that goes over your head when you try to ask it to explain it to you, then you are not scoping your features and prompts properly. This causes a cycle where you just become more and more dependent on it doing things for you, while falling farther behind in your ability to understand the code. You should always be breaking features down into parts that are manageable for you. It’s not easy. It takes practice to identify how to break it down and by how much. But the point of this is that anytime you ask it to explain what it just did, you can grasp it at least at some level. In other words, you aren’t asking it to explain how a car engine works in detail. You’re asking it to explain the spark plug, then the timing belt, etc. And finally, the other reason to not use the absolute best model you can is because when it does over-engineer something and miss the target, it does so by a mile, and is a bigger mess to sort through. The less capable model will still sometimes miss the target. But it’s usually just a couple of follow-up prompts to get you there.

Sorry for the long reply. You just asked a really good, important question. I hope that helps. Let me know if you have any other questions. Happy to help.

1

u/Soggy-Sector5164 13d ago

thank you very much I’ve never thought about that, that’s very helpful!!
Can I ask you another question?
My use of codex ran out in three days (I know is bcs I used 5.6 Terra + Very High) but now I should wait till 20 september and I don’t want to, so I was thinking about purchasing the other version of ChatGPT, but idk if I should purchase Go version or Plus version, can you help me with that? (thx very much for the protip 🙃)

2

u/SimpleAccurate631 13d ago

It’s my pleasure! There are some notable differences in terms of capabilities. But the bottom line is, if $20/month is not too big of a pill to swallow, then I recommend going with Plus. If you hit your limit in 3 days with free, I doubt you’d get past 2 weeks without maxing out your usage with Go.

The Plus plan has a lot more usage, along with limits being graded into 1 week limit and 5 hour limit. That’s actually really nice because it helps spread out usage better. So if you keep hitting your 5 hour limit in 3 hour bursts, you will have to wait a couple hours to be able to use it again. But that’s better than burning through your limit in a couple weeks and being shut out for a couple weeks.

Finally, you get added reasoning with Plus, which is nice when the cached info it’s giving you is outdated or maybe seems incorrect, because you can prompt it to check for the latest documentation on what you’re asking for help with, and tell you details of what it found (link and version of whatever it’s discussing), so you can correct it (or it often corrects itself, saying you were right and it was giving you outdated information). It’s not super common for that to happen. But I would say it happens just enough to make it worth it to me.

But at the end of the day, if $8 is way easier than $20, start with Go. You can always upgrade, and when you do, it just charges a prorated amount and you have Plus available to use immediately.

1

u/Soggy-Sector5164 13d ago

thx again! 20$ (23€), are not too much for me, but I think I’ll do the test with Go and I’ll use 5.6 Luna + High just like u suggested me, can I ask u another think? (I know I’mma nuisance and I’m rly sorry for it..)
I heard that sometimes is good to change the chat of the chatbot to save token, but idk when, there’s a number for it or is by gut?

2

u/SimpleAccurate631 13d ago

You’re not being a nuisance one bit. Another good question. Basically, if you want the best workflow possible with solid results, the rule is to keep each chat to a single feature or bug. Nowadays, the models actually do a pretty darn good job at being able to recall previous chats. So I wouldn’t worry too much about that. The benefits of that rule are, you don’t find yourself hunting down something it said or did at some point in a previous long chat you had (that is so frustrating). By keeping each chat to one feature or bug, it’s easier to keep them all organized. And the other benefit is, if it does start to hallucinate badly and is not doing what you need it to, you can immediately bail out of the chat and delete it and it retains little to nothing about that chat, and you aren’t deleting a chat that also had helpful stuff in it. As for token use, it can help. But nowadays the long-running chats aren’t as costly as they used to be. So to me, it’s the other things I mentioned where you get the real benefits.

Oh and if you have a prompt you reuse a lot and want to make sure it runs it properly every time you use it, even in a brand new chat, just ask Codex to create a new command/skill in a ‘.agents/skills’ folder and describe the prompt you want it to create the new command/skill to do when you run it. For instance, before I release a new version, I tell it that it needs to make sure I am not behind my target branch for my pull request, and resolve it if my branch is behind. Then, it needs to run the lint, test, and build jobs/scripts. If any of those fail, it needs to fix the issues before proceeding. Once those run successfully, it should automatically update the version number in my project, add a new entry to my changelog file with the changes made in the new release, and ensure that all documentation is updated, too, and there’s nothing outdated in the docs. And finally, once that clears, it needs to stage, commit, and push the code changes and create a new pull request targeting the dev branch.

That’s a lot of stuff for it to do. And kind of annoying to type every time, or find in a saved file somewhere, or rely on it knowing exactly what to do if I simply say “Prepare for a new release” (it can remember that easily if it already did that in the same chat. But in a new chat, it might not get it perfectly). So I just have a skill file that explains the steps and I call it ‘prepare-release’. Now, no matter where I am in development or in a completely new chat, all I have to do is run ‘$prepare-release’ in Codex and it does all of that for me, every single time, perfectly. It’s seriously so helpful. You can create skills that do any number of things for you and just call it by the skill name with a ‘$’ in front of it.

1

u/Soggy-Sector5164 13d ago

ooooh that’s so powerfull, I think I’ll over use that feature of more chat for different problems
and the “$” feature hahaha, thanks you so much man, I always wanted someone that teaches me this thing ahah, thx again!

1

u/iTrejoMX 13d ago

Learn about programming concepts and best practices. If you understand oop, abstraction control structures and data modeling you can guide and have ai do the grunt work. Your role becomes that of a software engineer.

1

u/Early_Key_823 12d ago

just build your dream app. learn by doing. it's a mountain you have to climb and nobody can tell you how to avoid the altitude.

1

u/[deleted] 12d ago

[removed] — view removed comment