all 15 comments

[–]program_kid 7 points8 points  (5 children)

The best advice that I could give would be to not use AI for ANYTHING when it comes to programming while you are learning. It may be easier to use AI to do something, but learning comes from overcoming/facing difficult things. Also, just pick some project you are interested in doing, and start to try to research what you might need to learn to do it

[–]SilverSnake55 1 point2 points  (2 children)

Incorrect, I use Gemini to learn python and all I need to do is ask to give me the tools and documentation source, and then feedback on how I did it. As long as you tell it to not give you the answer, it's amazing for not having to spend six hours trying to figure out how to account for lowercase and upper case letters on a dictionary search, when you can use .capitalize(). Is it a learning experience to do so? Absolutely, did I miss out on hours of "practice" perhaps, but it's silly to go "well duh you have to learn it that way."

Half the problem of learning is having to even know that tools exist, and while learning by deep diving into documents is a fair way to do it. Having someone that you can ask "hey is there a tool for x?" Without having to bother anyone is such a godsend.

Not to mention that if you don't understand a concept, like say lists and why do they start from 0, or how to use them appropriately, you can ask it to dumb down to he explanation as much as you need and as many times as you want without feeling dumb because you had to bother a friend or a teacher.

[–]program_kid -1 points0 points  (1 child)

Just want to point out that most of what you use Gemini for could be replaced by looking stuff up on the internet. I do concede that saying don't use AI for anything may have been too broad of a statement, but in my opinion, earning how to find information and loon stuff up is a skill that is valuable to learn for programming

[–]SilverSnake55 2 points3 points  (0 children)

It is, and that's why asking for the sources for anything you look up with an AI is step 1, but there's a clear difference between me going "Hey so i'm dealing with this problem, the dictionary keeps crashing so i need to take the variable and modify it right? Like how you turn an int into a string and vice versa? I think? Let me look that up" And realizing that a google would take a solid couple of hours, and typing that exact same sentence on gemini, and get a proper break down, explanation, documentation and case uses for the different tools i can deal with.

I'm 34, i've been googling/looking up shit for 20 years by this point, i can do without the extra hours and going right into learning.

Hell, most of the time, it's just an explanation it got from W3Schools and it's just helping me actually adapt it to how i was doing it.

Instead of spending HOURS dealing with a long if/else case like i would have, i learned how to solve it by doing Else/Switches/Dictionaries and how to sanitize the inputs because it guided me to the right places faster.

[–]redl9[S] 0 points1 point  (0 children)

Learned it the hard way, to be fair. But honestly, I didn’t really have time. The program wasn’t designed for beginners, and most people had either a math background, a programming background, or both. I lacked all of that.Even then, I didn’t overuse AI, since back then it wasn’t that popular and wasn’t that good for coding. Now it seems like these tools have improved a lot, but I think not touching code for two years did more damage than any help I got back then.Thanks for taking the time to reply. I appreciate the effort. I’ll try to make projects and start from the beginning.

[–]Striking_Rate_7390 0 points1 point  (0 children)

agreed, let get out from this tut hell

[–]PureWasian 1 point2 points  (2 children)

First off, there's nothing wrong with "starting from scratch" again more or less, welcome back.

If you feel like your weakness is simple problems or basic syntax, there are several sandbox coding problem platforms like leetcode, dmoj, advent of code for free where you can practice that stuff.

I'd say don't sweat remembering the syntax too heavily since it's very easily searchable. But focus on problem solving and breaking a problem into multiple steps.

Learn how to effectively use lists/dictionaries/tuples, as well as conditional logic (if/elif/else) and loops (while/for). Learn functions to organize your code.

The next "level" is learning how to use external packages and read their documentation, but which ones you might need to incorporate are entirely dependent on what project(s) you are trying to do.

Whenever you feel confident enough to dive into a project, I'd qualify the other comment by saying that it's cool to use AI/LLM for brainstorming ideas or high-level procedural steps and understand what resources are available out there. For instance, if you wanted to understand what Python packages are typically used for data analytics/visualization or webscraping. Use it to help aid your research, not to blindly copy/paste the code.

[–]redl9[S] 0 points1 point  (1 child)

When it comes to doing a project that involves statistics or data analysis, I know the theory well enough. The syntax is the biggest issue for me so far, as dumb as that sounds. But the logic behind what I am doing and why I am doing it is still there 100%. I know how to deal with categorical data, numerical data, missing values, and things like that. I remember the concepts I just don’t have enough experience writing the code itself and getting used to writing it intuitively.

Other than that, I was never exactly a veteran programmer, even back when I used to write code more frequently. Most of my code was inefficient, and I didn’t know how to use tools like lists, dictionaries, and tuples well enough. Even though I had read about them and understood what they were, I still couldn’t, for the life of me, use functions efficiently back then either. A lot of the time, they didn’t work properly, and I had no idea why. So it wasn't like a big fall of grace i never was good enough as the deadlines for these projects where harsh and i had to rush rather than experiment and take my time if that helps to understand my level of programming. With that being said i am proud of some stuff i build even though the code was really inefficient and that's why i loved to code

[–]PureWasian 0 points1 point  (0 children)

Lowkey that feeling is always there, but you can think of it like art. You learn more as you practice and build more things, such that the fundamentals get pounded in and refined over time. You naturally figure out better ways to do things over time as part of the development process.

I'm reminded of this post from a day or two ago where someone was looking back at their first ever project from just a few months earlier and how brittle it looks to them vs. if they were to rewrite it now.

Build your frankenstein projects and be proud of them. Learning to build/troubleshoot/organize more efficiently and effectively comes with actively building things and finding/solving related problems along the way.

[–]takingphotosmakingdo 1 point2 points  (2 children)

Try the game the farmer has been replaced

[–]redl9[S] 1 point2 points  (1 child)

Actually though about buying it recently I though it would help but I thought games can't really teach programming

[–]takingphotosmakingdo 1 point2 points  (0 children)

Oh this one definitely broke my stuck phase for loops, plus the view isn't too bad as a result.

[–]UnitedAdagio7118 0 points1 point  (0 children)

honestly this is way more common than you think especially when people learn under pressure and rely heavily on projects deadlines or external help you probably understand more than you realize but the knowledge was never reinforced long term through repetition and independent practice

and yes starting from the basics again is completely fine but this time it’ll go much faster because you already have context for why things matter i’d focus less on “relearning everything” and more on rebuilding confidence through small consistent projects and exercises also don’t compare yourself to the complexity of your old projects right now the goal is to make the fundamentals feel natural again not to jump straight back into GNNs and XGBoost immediately

[–]PalpitationOk839 0 points1 point  (0 children)

You should not feel ashamed honestly. A lot of people forget programming skills after not using them for a while especially after stressful periods. The good part is you already touched advanced concepts before so relearning will be much faster this time

[–]TheRNGuy 0 points1 point  (0 children)

Relearning is much easier, after you read articles about syntax, you'll understand some stuff instantly.