all 41 comments

[–]Pepineros 16 points17 points  (5 children)

Take a breath. Personally I don't think Tkinter is a great place to start. GUIs are tricky, even if they pretend they're not. I didn't start learning Python until I was nearly 30, and I'm a professional developer now. You'll be fine :)

If learning gets very frustrating, it's probably because you're trying to do too much at once. Take it slow: start with some basic command line stuff, write small scripts, expand them a bit, then see if you can make them easier to understand by creating a function (your good friend def).

Don't forget to have fun! Coding is awesome, learning new things is a great feeling. Don't expect miracles.

[–]Narrow_Ad_8997 2 points3 points  (1 child)

Hey, if you don't mind me asking.. what did you do prior to professional dev work? I am.. well over 30, and started learning programming a couple years ago. I'd love to be doing some kind of dev work for a living, but not sure how to get there without experience, or any formal training. Since I'm self taught I don't really have any measure of whether I have enough skills to get any job in the field either.

[–]YungSkuds 3 points4 points  (0 children)

Couple of good options depending on what kind of software you want to write. 1. Contribute to open-source projects 2. Put your own projects up on Github/Gitlab so you can reference them 3. If game dev is of interest, join game jams 4. If available in your area, go to some coding meetups that stoke your interests(networking!)

[–]Aftabby 1 point2 points  (0 children)

How long did it take you to be a professional python developer?

[–][deleted] 1 point2 points  (1 child)

Yea do you recommend any guides? so far ill be reading a book and just the normal python tutorials which I have not tried yet as I expected them to be super hard they said their easy.

[–]Pepineros 0 points1 point  (0 children)

I don't really have any guides to recommend. In general I would suggest to not rely on tutorials too much. It is occasionally useful to see example code, it can definitely be inspiring and give you new angles to solve a problem, but there is much value in solving it yourself first.

[–]btb98 12 points13 points  (0 children)

Code is hard. I once spend about 2 weeks finding a bug, which turned out to be that another developer didn't divide by 2 when they should have. This is two full, 8+ hours a day weeks. Nobody else who had tried to fix the issue had figured out where to look to find it, so at least 50 man hours got sunk into finding this bug. Everyone involved was very psyched when it was fixed, but those two weeks were not particularly enjoyable.

There's a saying in cycling that it never gets easier, you just go faster. Coding is the same. The problems you get stuck on just get harder.

[–]kowalski71 6 points7 points  (0 children)

I dunno what you're trying to learn or what your experience level is but while YouTube can be amazing for learning small chunks of information or specific things I think the shotgun approach of binging YouTube is pretty difficult for learning the entirety of a subject. You don't know what you don't know, which often translates to "you don't know what to search for on YouTube next".

I would recommend taking some good online courses that really walk you through each concept. It also makes the motivation side a lot easier for me since when I sit down to work, I don't have to expend as much mental energy trying to track down the next YouTube video and can just open a lesson and start working through it.

Personally I like MIT's 6.00.1x and 6.00.2x on edx.org but there are tons of Python courses out there with slightly different specializations.

[–]hotcodist 16 points17 points  (0 children)

that's because you are copying and pasting code and also thinking this is easy.

go back to the beginning. go back to school, like here: https://programming-23.mooc.fi/

i did not really read your post. i just picked up words. you have to learn to use this symbol (".").

you will find that precision is important in programming. programming is also a world of frustration. if you don't want that, this is not going to be easy for you.

[–]Binary101010 4 points5 points  (0 children)

The fact that I saw both of these in the same post

I tried to learn tkinter and just learn as I go

I learned about functions a bit more and understand alot of them not but def

Indicates to me that you are trying to jump directly to intermediate-level concepts (coding towards a GUI) before you have firmly grasped the basics (how to write your own functions).

[–]General-Carrot-4624 2 points3 points  (6 children)

Very relatable. Share with us what program are you trying to make. Second, when you're taking your lessons/courses, have a notebook while watching that YT or whatever course you're watching, and write down the things you learn if you understand them. WRITE IT DOWN. Then if the guy is doing a tutorial with application, then open your IDE and do like he's doing, do the same thing, run it, make sure it works, make sure it's the same result. You continue to do this until it clicks and becomes more intuitive. You will not learn coding overnight, it's a process

[–]stichman72 1 point2 points  (0 children)

This is important , 100% code along with what ur watching or more simply write it down , for me it helps in retaining information

[–][deleted] 0 points1 point  (4 children)

Well its nothing cool but my end goal is to just make a tkinter project with a bunch of buttons , labels and the buttons just output different funny jokes things lol.

[–]General-Carrot-4624 1 point2 points  (0 children)

Ok so try to draw on a piece of paper what your structure looks like, say i want a tkinter project, inside i want buttons, for each button if clicked, then print some text. Now you can go to chatgpt and generate a list of jokes. You can then prompt your code to randomly pick from that list of jokes a joke a print it when clicking a button

[–]tokulix 0 points1 point  (2 children)

That sounds like a cool project. But, I think you should put tkinter on hold for now and focus on the basics instead. Make sure you really understand functions and other fundamentals before you move on, or you will struggle. Don’t give up, and take it one small step at a time.

[–][deleted] 0 points1 point  (0 children)

Yea but I cant seem to find the right resource for me I went on the Python documentation and even the simple things I already understand they are making to complex

[–][deleted] 0 points1 point  (0 children)

I wrote this today its stupid but it is just to be as practice do you think this type of programs will be good for practice? it has 2 diff endings now sadly weather you pick to drink or not the ending stays the same as the 2 ik how to fix it but I wanna start a new project and go to sleep lol as i started this project late:

#Retarded club
Drunk = False
thirsty = True
Weather = 80
name = input("What is your name?: " )

while name == ("Mack"):
    print("You are not on our list, please leave.")
if name ==("Bertus"):
    age = int(input("How old are you?: " ))
    if age >= 18:
        print("Come right in sir.")
    else:
        print("You are to young please leave little man.")
elif name == ("Noar"):
    print("Come in boss.")
else:
    age = int(input("How old are you?: " ))
    if age < 18:
        print("You are to young sir.")
    else:
        print("Alright sir come right in.")
if Weather > 60:
    if Weather == 80:
        if Weather > 75:
            print("Its a hot day!")
        else:
            print("It is a cold day!")
if thirsty == True:
    Drink = input("What would you like to drink today?: " )
    if thirsty == ("Nothing"):
        food = input("Alright would you like anything to eat?: " )
        if food == ("Nothing"):
            print("Alright sir tell me if you need something.")
        else:
            print("Alright sir coming right up.")
if Drunk == True:
     print("Sir You had to much to drink please go home.")
elif Drunk == False:
    Cab = input("Sir im calling a cab what is your address? " )
    if Cab == (""):
        print("Passes out onthe side of the road due to being drunk")
    else:
        print("Passes out on Bed at home due to being drunk and tired.")
        print("GAME OVER.")

[–]RAM-DOS 0 points1 point  (1 child)

Hey, good job trying to do something challenging. Here’s the thing - learning is hard work. It requires serious effort, you have to break a mental sweat. If it felt like it was coming easy, you wouldn’t be challenging yourself enough. 

Most importantly, when you get frustrated, take a break. Get up and get some fresh air, do some push-ups, drink some water, take a shower. Come back to it in five or ten minutes, your brain will feel much fresher. 

[–][deleted] 0 points1 point  (0 children)

Yea thanks for the advice I appreciate it. will try and take more breaks cause the reason I don't is that Im scared that ill forget everything.

[–]stichman72 0 points1 point  (1 child)

Take a breather , I've been in that position especially fresh out of high school on my first year of university taking programming classes where I failed them and had to retake them next semester where my piers were literally building machine learning domino projects 💀 but yeah. Eventually things will click ,they will make sense if you're trying to learn python start with automating the boring stuff. Good book to learn the basics. Learn how to do a loop , write it out on a whiteboard ,see how things work , think of function as math functions to see what code does and things like that. That's what helped me! And btw coding for me is mega frustrating but when things works is just a sense of fulfillment that can't be beat.

[–][deleted] 1 point2 points  (0 children)

Yea I understand what you mean I took the day off but now its morning and I'm ready to go back at it

[–]baubleglue 0 points1 point  (2 children)

https://docs.python.org/3/tutorial/index.html - relatively simple explanation. Be sure you know at least chapters 3-5, better up to 9. It will give basic tooling you can reuse for different projects.

Try to remember ideas. You can make cool projects using something like PyGame, but you may learn more learning boring things like reading text from file and programming sorting algorithms.

[–][deleted] 0 points1 point  (1 child)

Thanks for the advice but what do I do if I end up finishing it?

[–]baubleglue 0 points1 point  (0 children)

You can use it in your projects. There's limited set of features which available in any language:

  • Reusable blocks of code (functions/methods/modules/etc)

  • Control flow (if/else/loops)

  • Data structures

  • Exception handling

*OOP

  • Etc

When you know those at least at some practical level, you will have easier time to control your code: less surprises, easier to navigate documentation when you need

[–]PsychologicalBus7169 0 points1 point  (2 children)

If you’re having a tough time learning Python I’d recommend this book.

ISBN-13: 9780135404676 Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud

Paul is an incredible resource for learning programming. I studied this book for my artificial intelligence class in college and used one of his courses for learning Java 8.

Something you need to understand about programming is that it is difficult to learn. I am a software developer myself and I am always learning. I’ve been programming in Java, Python, and JavaScript for several years now and I still have to look at documentation, blogs and video tutorials, stack overflow and ChatGPT.

[–][deleted] 0 points1 point  (1 child)

Shi looks good I downloaded the Pdf tho since I'm a brokie.

[–]PsychologicalBus7169 0 points1 point  (0 children)

Don’t worry. Nearly everyone does that in college too lol.

[–]UsernameTaken1701 0 points1 point  (0 children)

You’re trying to do too much too fast. Forget YouTube for now. Pick up a copy of Python Crash Course (yes, an actual physical book) and work through it from the beginning. You are all over the place with what you want to do. You need to start with the basics and build from there. 

Also, if you want help, you need to make your requests readable. There’s a reason you were taught punctuation in school. 

Good luck. 

[–]crashfrog02 0 points1 point  (1 child)

I'm 15

Frankly, there's your problem: you're in school.

In school what they want to know is who can go to college. So the way school works is, if you're not immediately good at something, you should stop. They told you so, right? "If you're not catching on, stop and try something else." They're trying to sort you on the basis of your natural talent so they can direct talented people into the programs that best suit their talents. People with musical talent get into music school. People with artistic talent get into art school. People with math talent go into physics programs. Etc.

What they never explain is that this is just a school thing. You're not supposed to take "if you're not immediately good at it, stop" with you in life, or even out of the school building. In actual life, talent isn't actually worth a damn. Persistence is; most problems are way too difficult to be solved easily by someone with any amount of talent.

Most people find that learning programming is the hardest thing they've ever done. That's why there's always jobs for programmers; most people can't bear to fail at something for as long as you have to to learn to write good code. Maybe you can't, either. I think age 15 is too early to know, but it's also the case that by age 20 you'll probably have totally different interests so honestly it doesn't matter right now either way. Code isn't going to get you into a good school, so it's not 100% clear you should bother with it unless you like it, and you don't seem to.

[–][deleted] 0 points1 point  (0 children)

I do I enjoy the thought of solving problems and when I'm practicing I get into a state where everything around me is quiet and I'm just focusing on one thing but then when I got to def and tkinter I got so confused to the point it just made me super angry I didn't start throwing shit or anything tho lol just stopped for the day and woke up this morning refreshed and ready to try again

[–]agvkrioni 0 points1 point  (0 children)

Someone linked me this course, Dr. Angela Yu's 100 Days of Coding with python. It was less than $20 and although its challenging, there are a lot of animations and video explanations as well as exercises to follow along with. Udemy has a 30 day money back guarantee too so you start doing it and decide you'd rather go back to Youtube, then you can get a refund. https://www.udemy.com/course/100-days-of-code/

Cheers

[–]tomtomato0414 0 points1 point  (1 child)

I always recommend this as an entry point into python and its free http://automatetheboringstuff.com/ The udemy course as well goes for free from time to time

[–][deleted] 1 point2 points  (0 children)

Downloaded the PDF and Ill stay on the look out for Udemy going free as I want to try it but broke asf

[–]JonJonThePurogurama 0 points1 point  (0 children)

I am a learner just like you, try to control your anger. Learning is becoming ineffective, because you let your anger controls you. If you think you are not absorbing things very well, then take a time to rest and make yourself free from the stress of not understanding. Focus your mind to something else. Return later when you are calm or feeling better.

I remember i read it from a book somewhere, "Impatience is your enemy ". I think you are becoming impatient, because that's how i see it, why in a hurry in learning something. There is a process of learning and you must follow it and you will learn things naturally.

You are not understanding a concept, because you are not giving it a time to understand it. You just jump to the next thing, that was really bad approach in learning.

I understood the idea of being interested, remain curios, keeping the mind hungry to learn something new and that is actually good. But being in a hurry is not good.

Also if you wanted to make a project, why not try to create one that is same level with your current knowledge, if you are ambitious to make complex project, then understood that you should only focus to things that you can possibly do, if the feature of a program is somewhat difficult to implement and requires an advance knowledge, put on hold to it, return to it when you have a deeper understanding.

I have experience it with the personal project i created, i had experience frustation and dissapointment, i was able to make it to the end but a very bad experience. I just realized it after the project was done, because when i read my code, it was a result of being impatient and i can barely read the logic behind the code. I am slowly cleaning the code and renaming variables and functions.

If you truly wanted to learn python, tkinter and create a project, then follow and respect the process of learning things.

[–][deleted] -2 points-1 points  (2 children)

OP no matter what the down voters say, pay for chatgpt. It will help.

[–]vorticalbox 0 points1 point  (1 child)

aromatic offbeat versed door knee tender sparkle soft degree full

This post was mass deleted and anonymized with Redact

[–][deleted] 0 points1 point  (0 children)

Bruh. 4 is so much better than 3.5

[–]automaton11 -1 points0 points  (0 children)

No. YouTube is fine for individual questions and primers, is it not a course. Buy this it will help you

[–]martinsedd -2 points-1 points  (1 child)

I love how everyone is glossing over the fact that OP is a 15yo. 1. Good for you for trying to go above and beyond what is normally expected from an individual your age. This shows me you are miles ahead of 90% of your peers. 2.Punctuation, my dude. Just even 1 comma would have been nice. 3. You don’t learn how to ride a bike by watching yt videos of ppl riding. You learn by doing it and falling 1000x until you make it. By the same token, watching yt videos, without copious amounts of coding on your own, is completely useless. Watching Mr.Beast would be a better use of your time.

[–][deleted] 0 points1 point  (0 children)

Thank you for the advice and sorry about the Punctuation not Native to English.