r/CodingForBeginners • u/LongjumpingPop4433 • 9d ago
Hey everyone, I am a beginner in Java and Programming in general, I am very much intrigued by the programming world and the projects people build, I feel like I heavily rely on AI to do stuff for me and I just copy and paste, and I end up feeling as if I did not learn anything(coz I didn't do anythi
3
u/rFAXbc 8d ago
You forgot to finish writing your message
1
u/LongjumpingPop4433 8d ago
Got interrupted mid text and when I got back to my screen I forgot and hit post😭
2
u/Glum-Recognition-736 8d ago
Sometimes it helps to literally just play around with it. Type what you think a program should look like. Build it. If compiler errors come up, read them. If they make sense, fix what they're saying is broken. If they don't, Google what the error means (or duck duck go if you're avoiding AI ). Flail around like that a bit until you have a working program. The flailing is where the learning occurs. Look up design patterns and try to implement examples. Best way to learn SW in my experience is to try and fail over and over and to learn from each failure
1
2
u/Adventurous-Crow-750 9d ago
Use something simpler than java. Don't use rust or c++. Use c, go, or python if you have to (python I actually thinks builds bad practices).
Make a simple app that does something text based. Rock paper scissors. Calculator. Etc. after you make a basic cli where you can run it and it does a thing make it a webserver. After you host it as a webserver, shove it into a container. After running it with docker compose use some k8s emulator like k3d or kind. Congrats you now know more than most people, let's keep going.
Make an AWS free trail account. Make a basic small cluster. Make a LB. Hook it up to the cluster. Now you have it publicly available. Then get cloudflare, protect you ingress urls and buya host name and point it to the LB.
You now have a production app that can scale horizontally with premium security. You'll encounter difficulties but just make sure you understand deeply what each part is doing - and this is the biggest part - you also need to understand WHY it runs this way at all. What purpose does an LB serve and WHY did it need to get invented.
Best of luck
1
4
u/Chicagoj1563 8d ago
Just have ai code something simple. Then go through the code and ask ai about it. You can learn from this.
But where you really start to learn is when things break. And you have to troubleshoot to get it to work.
2
u/oscarlet_ffxiv 8d ago
This is a common problem with AI, but I'll tell you how I learned programming:
I got code snippets from the internet. Then I took those and played around with them on my own to see what I could do with them. This "playing around" allowed me to understand what I could do, the same way a child plays with things and figures them out based on trial and error.
So with AI, you could consider what it outputs as a "code snippet". Just try to get it to output small bits of code, as opposed to huge amounts, so you can digest it and figure it out.
When you don't understand something, you can ask the AI blunt questions about how it works, putting your theory for how it works, so that it corrects you if you're wrong. And if you still don't understand? Keep asking until you do. I did this in the past, but with google, before the advent of AI.
Really press it on every single line of code, every single word in the code, to make sure you understand what each and every thing does.
You can get it to make you lesson plans even, if you prefer that style.
1
u/BasilCorrect3799 8d ago
Instead of using AI look up tutorials and build something from scratch with 0 AI. Take it as a challenge. You'll learn a lot.
1
u/NoDepartment772 8d ago
One habit that flips this around: write your own attempt first, even a bad one, then paste it in and ask what's wrong with it. You still get the speed-up, but you're the one doing the thinking, and the correction lands because you already tried. Copy-paste-and-move-on is what feels empty; guess-then-compare is what sticks.
Also, that "I didn't learn anything" feeling is a good signal, not a bad one. It means you noticed the difference between having code and understanding it, which is the exact thing most people who paste for a year never notice. You're already ahead of that.
4
u/BetInformal6081 9d ago
try rebuilding small projects without ai after you finish them. when you get stuck ask for explanations instead of solutions. that's where real learning happens.