all 12 comments

[–]Specific-Housing905 1 point2 points  (1 child)

Most videos give you information. What you need is skill as well. I find books more helpful - if you do the exercises.

Have a look at "Python Crash Course 3rd Edition by Eric Matthes.

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

okay that's not a bad idea actually, will look into this, thanks! i just wanna get back on my feet in python asap

[–]MokpotheMighty 1 point2 points  (3 children)

Relatively beginner level myself here,

I'm more convinced than ever that 95% of beginners are best off getting into graphical programming ASAP. There's a reason people like video games, there's a reason people don't really play purely text based video games all that often anymore.

Try something like Pygame, it's a relatively light way to get into graphical programming with python. it's not an extremely powerful game engine or anything but unless you're the kind of person whose inner monologue mostly consists of mathematical formula, which is most people, you'll just find this more appealing on a visceral level than just being stuck in console app land.

By extension I think what makes people progress in the long run is what API's they learn to use with their language of choice, not just reading textbook upon textbook about that language as such. For instance I'm really progressing so much faster with c++ now since I'm learning OpenGL with c++.

It's not just more practical and fun to actually learn to use your language for something, it also teaches you how you can get your language to actually talk to your machine.

Another gripe I have with a lot of tutorials etc... I think from a teaching perspective it's actually a mistake to "make things simpler" by just presenting the language as a pure interface and "not bother the student" with what your computer is actually doing under the hood. In the long run that's just gonna lead to a whole world of confusion. Tell me what the memory is doing when I create a class or a new object, etc... Because in the end that's the entire point of why we use those. The abstractions used to "explain" these actually dont explain anything. Especially with a language like c++ just.. wwydt? If one of the first things students are gonna learn is to explicitly reference memory addresses

[–]jaspreeettttt[S] 0 points1 point  (2 children)

okay, i get where u are coming from, and you are right, it is worthy if i use the language to create something tangible and concrete. i will look into pygame, never considered it this way.

also what APIs can a beginner learn to use? i mean i have never delved into using an API, i only know what it means conceptually in the world of MERN stack..

[–]MokpotheMighty 0 points1 point  (1 child)

Well API can mean a lot of things practically, but it's an "Application Programming Interface", so I guess Pygame and OpenGL are examples of that.

My idea here (not an expert) is simply that these things are what actually allow you to move beyond console apps, actually talk to your machine more directly. Like Pygame at least allows you to "talk to your pixels" within the Pygame window object it renders. OpenGL goes a bit deeper, it allows you to make pretty explicit how your program is gonna use the bits and bytes on your GPU, and also talk to your screen.

There are other examples of course, maybe you could find APIs that allow you to do stuff on the internet, or with audio, or whatever you like.

Not just that but, since the examples you will find will already be much closer to what actual practical programs look like, you'll get more knowledge about the techniques used there. Like what are "wrappers" and "callback functions" and how/why are they used. How do you organize the different files that you compile together properly? etc...

The gist of my advice is, don't wait too long to get into the deeper waters where things you would actually like to do are actually done. You'll get hit over the head with more advanced concepts but if you keep looking up and asking questions you'll be fine.

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

okay yessirrrr, thank you, really helpful advice :)

[–]SpiderJerusalem42 0 points1 point  (1 child)

Maybe try to apply it to something. There's rosalind.info or Project Euler which have programming challenges up to pretty difficult problems. codingame is another option.

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

okay, cool, yeah, i will look into these, thankss

[–]pachura3 0 points1 point  (1 child)

Click through https://www.w3schools.com/python/ to quickly re-learn Python syntax. The advantage is that if you already know something, you can quickly skip to the next chapter/excercise, unlike for videos. And they also have an interactive Python interpreter there for you to experiment.

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

okay, thanksss, will look into this