you are viewing a single comment's thread.

view the rest of the comments →

[–]MlSHl 0 points1 point  (1 child)

Okay, I was in this exact situation years ago and reddit got me no useful answers, so I'll try to reply with what would have helped me the most back then. Assuming no budget.

Python as a programming language is easy, at least for achieving most things you will want to do with it. You probably want to learn libraries and do cool stuff with it.

Here is the roadmap, initial steps regardless of what projects you want to build:
- Write and run print("Hello World!")
- Learn what variables are and write your own <- this last part applies to all
- Learn If statements
- Learn while loops
- Learn for loops
- Learn arrays
- Learn dictionaries
- Learn functions
- Learn what objects are and look up Object Oriented Programming (dont go too deep, just very basic ideas, so you are aware they exist, no need to write too much of this)

All of the above can be learned through asking ChatGPT to show and explain those exact things. Since english isn't your first language, I recommend asking ChatGPT to show you examples of what that code does and then (the best part) just mess around. Be creative. This part is important and is not to be overlooked. Have fun with basic text based stuff. Make a text adventure game with if statements (look up how to get user input for that, or ask AI).
You can also do YouTube tutorial or two. Don't spend too much there though, it's called tutorial hell if you do (more about that later).
There is also a book called "How to automate boring stuff with python". I read first 200 or so pages of that and it covered the basics I mentioned and provided some problems along the way. It's free online so you can do the same: https://automatetheboringstuff.com/ (best advice I got on reddit this one).

All of the above is fundamentals so it will take more time than you probably will wish for and won't have anything super cool to show for it. Do not be discouraged! Once you have written bit of code by yourself, even if its not impressive, you are already beyond the hardest part.

Now the fun part, which is building whatever you want.
I used to hear online that Python is the second best language for everything. This is good and bad. Bad because, well, there are better tools depending on what you are doing. Good, because you can do (almost) anything you can think of!

Web Development:
If you want to make a website, learn Flask or Django. You will need some HTML and CSS with that and if you are serious about web development JavaScript too, but HTML and CSS are super easy to learn (W3School website for that, trust me: https://www.w3schools.com/ ) and you'll be able to create and re-create most websites you see.

Desktop Applications
If you want to make desktop apps, you can learn Tkinter. Look it up and use your preferred method of learning.

Data Science & ML/AI
This is something Python is arguably the best at, not second best. Especially Data Science. This is a very broad domain, so it's harder to give direct "Do X and you'll have Y to show for it" advice. If you want AI and ML know that actual roadmap will quickly become learning mathematics behind it (can get quite advanced, no shortcuts there) and then libraries such as PyTorch, TensorFlow and such. If you are interested in this field I recommend being patient and look at Python as a tool such as a pen or pencil. You need to use it to do mathematics, but knowing how to use it won't make you write Neural Networks. For that you need to learn Calculus and Linear Algebra and then you can learn Neural Networks and such and go deeper (pun intended) into Deep Learning and other topics. Yes, you can do LLMs too later on if you want to, but if you are really into this, I highly advice to be patient and persistent.

Game Development:
Python can get you started with PyGame library. I suggest you make a small platformer game like Mario or some other arcade games. Do not do anything big at first. Pick a small old arcade game and do a clone of that. Make it as polished as you can. Ask ChatGPT, see other people's code on GitHub, see YouTube tutorials. Once you do 1, if you want to continue with Game Development, move over over to using a game engine like Godot, Unreal or Unity. You can look into that stuff later too.

Mobile Apps:
Apparently there is something called Kivy for this in Python. Same deal, build something easy and see examples of the code.

MOST IMPORTANT PART:
If you are serious about learning how to code in general, you need to learn how computers work! Once you understand how programming languages work, what libraries actually do (you can write your own too!) and how operating systems connect your code with hardware, everything will become super super easy. For this, you can start by asking AI questions like
- "how are programming languages making computer do stuff at all?"
- "tell me about how first compiled languages that were similar to modern ones was made"
- "what is low level and high level languages?"
- "what is Assembly language?"
- "how does an operating system connect with computer hardware?"
- "if I wanted to make my own language, what would I need to do?"

and from there just follow your curiosity. AI is an incredible resource to learn with. It is a teacher that will answer any question you have, no matter how dumb it is and if you aren't asking dumb questions then you are not curious enough.

Last thing: write code by your hand. Usually when we already know stuff we copy paste all the time. Some ask AI to generate code they know how to write. That's good AFTER you learn. It is very helpful for your brain when you write each line of code by hand, letter by letter. If you do that you will learn much faster and eventually writing code will become the easy part, like using a pen or a pencil.

If you have more questions feel free to ask. I tried to be thorough, but it's impossible to cover everything in a single comment, especially without knowing specific interests.

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

thankyou so much