Programming is too abstract and I'm getting frustrated... ๐
Key Takeaways
Addresses frustration with abstract programming concepts
Full Transcript
hey I got a really intense Python question as a YouTube comic here from San Shi and I'm I'm gonna try and tackle it in this video so this is gonna be there's gonna be a challenging one and I'm not gonna read the whole thing but you know I just want to go over the key parts here and then kind of try and circle in the the question might be a little bit rambley video but what the heck maybe it's helpful for some of you alright so this is where I need my glasses okay so the question is hello Dan I'm starting to learn Python and I'm still learning the syntax and functions classes etc my problem with any kind of programming is that no one really says how it is done for example a login page has to be made for a website okay you make the program that wants to user input and it checks a DB if the user is registered registered if yes the user can click away on the website how does this process go on who implements all that on the website on the server who does the design for the page and implements the small or your small login program do you need to know all that stuff so I'm gonna skip over some things here so basically this is about programming being so abstract and in the way it's taught being very very far away from from solving real world problems so since she goes on he says in all honesty I have no idea what you guys are doing as program as a programmer and how and if you are in a team and how the work is split all the learning process for us for a syntax is clear there are rules and you just have to remember them like a foreign language but no one wants to show what they actually do with it people talk about programming like theory it's like real-life math that solves problems and it's 99% of math that is used and a 1% high class theoretical mathematics that does not even use numbers in the books okay sorry if I came across a little frustrated but I would love to really I would really love to find someone who will talk about this and bring some clarity into the whole thing yeah so okay so let me try and kind of kind of restate the question or the way I understood this question so Singhji it sounds like you are well frustrated with with learning how to program and kind of learning how to solve real-world problems using Python and that seems to be the case because the way you've been learning Python is that you feel comfortable with the syntax if I got that right and kind of the basic fundamentals but it's really hard now to make that leap and to actually you know write some software that does stuff in the real world like write a webpage or white write a web application with the Python skills you've picked up so far and this is something you know that I hear all the time from people getting into software development it's kind of this this terrible like almost like a valley of despair you have to get through where you feel like you know you've got the the basics of the language under your belt but how do you go to actually making real programs you know how do you how do you cross that how do you cross that chasm and I think that is the biggest problem in computer science or programming education today because it's very easy to go and be like oh yeah yeah yeah you know you just learn the syntax it's very easy right like you can add numbers and like this is a function in blah blah blah blah blah and then you're gonna be a programmer well whatever the definition of the word programmer is but in my mind it's it's not just about knowing the syntax it's about being able to actually use programming as a tool and to solve problems in the real world and if you just know the basic syntax of programming or if Python let's say most of the time or most people are not going to be able to make that leap on their own and and likewise what happens a lot is that you know there are great tutorials that kind of take you by the hand and they show you how to build an application and to end and the problem is if you just kind of click through that tutorial and copy and paste a bunch of code around then again it doesn't really help you with your ability to do this stuff on your own so it's very easy to kind of get get stuck in this in this valley right and in this kind of bad place where you feel like you know a lot of stuff about programming but you also don't really know how to apply it and actually become a programmer quote unquote so well I'm certainly not going to be able to solve this problem because I think it's an industry-wide problem it's it's something that I think about almost every single day right because I'm now in the business of trying to teach people how do how to get better at Python and improve their programming skills and I've got a couple of ideas there on on this topic that I'd want to touch on in this video so well the problem here is that we're trying to tell people that learning how to program is just about you know getting a couple of books reading them and maybe following some tutorials and doing that for 3-4 months and then they're a programmer where that's just not the reality and I don't think you know if you're if you're asking me I don't think we'll ever get to that point you know where the education the material is so good that this will be possible because learning how to program is freaking hard it's just the reality of it it's it's hard and it takes a lot of time and it takes just a huge investment you know in a time wise energy wise and and just a lot of practice to get anywhere good at it you know if you're compared with learning an instrument well if you're trying to learn how to play the guitar you would maybe expect to be able to play an okay sounding song after after six month or so but would you expect to be the next eddie van halen you know after six months no not really you know like i this guy like he's been practicing for four decade and you know just hanging out in his in his room and and playing scales up and down and trying to compose songs for years before he did anything kind of substantial and anything anything anything real if you will now of course you know what I like here I'm comparing someone who's like a musical virtuoso with with kind of the the that that's one extreme and the other extreme is it's just wanting to add some real value to the world using programming right so so I'm not saying like you have to spend like ten years in a basement to get anywhere near to get anywhere with programming but it's gonna be hard and it's gonna take a lot of time and that's the reason why this skill is so valuable right that's the reason why people are making six-figure incomes with this stuff because it is a rare skill and because it is freaking hard and because it takes huge sacrifice and it takes a ton of focus and it is very very hard to do and so I think it's it's um it's challenging to go around and tell people that you know they can just be awesome at programming in in in two or three weeks like that that doesn't really work like that in my experience and so to kind of reel this this rant or whatever back in what I want to say here to use Senshi is that I think you're doing okay and this is a natural you know a natural thing this feeling of where you're like right in between this knowing the basics and then not feeling ready or comfortable yet to build real-world stuff and you I would encourage you to actually try and bang your head against these problems you know to try and get get something small done to try and build up that body of knowledge and and you touched on some things you know as especially web development is crazy complex because you need to understand so many different things like you said there's databases there's the front-end stuff there's web forms their CSS there's all this stuff that is you know it it's it's just a super wide field in a super deep field as well so try like my advice here would be try and take it step by step try and see if you can solve the problem that you want to solve in some other way maybe you don't have to build a web application maybe all you need to do for starters is write a little script that store stuff in a database and pulls it out again and try and tackle these things one by one and be comfortable with the fact that this is gonna be a long term project and it's gonna take a lot of you know sweat and tears to to become a good programmer to master this skill so well I hope this wasn't too discouraging you know I definitely didn't want to do that I can definitely sense you know that you're passionate about this stuff and I think that's great and you you please keep going you know please keep going and there's always an end of the tunnel here an end of the proverbial programming tunnel and and you're gonna get there but it's gonna take time it's gonna take a lot of banging your head against the wall but it'll be worth it in the end all right super rambling answer I'd love to hear your opinion on this topic so if you're listening to this video you know everyone please leave a comment and kind of share your stories and share your perspective on this topic because I also agree it's kind of not talked about enough and I think there's strength in that in that community and just you know sharing our thoughts and and kind of hearing about everyone's programming journey alright so if you'd like me to ramble on and talk about some question that you had about software development or programming or whatever just leave a comment below and I'll try and tackle it in one of my next videos
Original Description
https://dbader.org/python-tricks โบ Learn how to write "developer style" Python, step-by-step
Discussing a longโbut interestingโquestion from a YouTube commenter:
"Hello Dan, I am starting to learn Python and I am still learning the syntax and functions classes etc. My problem with any kind of programming is that no one really says how it is done. For example: a login page has to be made for a website. OK, you make a program that wants the user input and then checks the db if the user is registered, if yes the user can click away on the website. How does this process go on, who implements all that on the website, on the server, who does the design for the page and implement your small login program? Do you NEED to know all that stuff? I had the idea to make a small GUI with Python where you can see the average weather for past 5 years for each month for my region. That is not a really big problem for a intermediate level programmer. But, do I also need to know how the sensors give input to my program so I have automated temperature stored in a list for further use? If yes, then I have to learn electrical circuits of that sensor or a system and all this systems are different. So in basic, what I am trying to say is am I useful at all without the 15 years of experience in all that, not just writing the code? Why is no one showing a complete workflow of a project, why does it have to be so abstract? When a person showed me how to manipulate a CNC machine as a user it is very simple, but programming is so abstract. In all honesty, I have no idea what you guys are doing as a programmer and how and if you are in a team how the work is split. All the learning process for a syntax is clear, there are rules and you just have to remember them, like a foreign language. But no one wants to show what they actually do with it. People talk about programming like theory. Its like real life math that solves problems and its 99% of math that is used and a 1% high class theoretica
Watch on YouTube โ
(saves to browser)
Sign in to unlock AI tutor explanation ยท โก30
Playlist
Uploads from Real Python ยท Real Python ยท 0 of 60
โ Previous
Next โ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
A better Python REPL โ bpython vs python interpreter
Real Python
Introducing large-type.com โ A Utility Website
Real Python
Reading Hacker News Without Wasting Tons of Time
Real Python
Forward References and Python 3 Type Hints
Real Python
Using Sublime Text as your Git Editor
Real Python
Python Code Linting and Auto-Complete for Sublime Text
Real Python
Make your Python Code More Readable with Custom Exceptions
Real Python
Write Better Tests with Sublime Text's Split Layout Feature
Real Python
How to Use Sublime Text from the Command Line
Real Python
Rename Variables with Multiple Selection in Sublime Text
Real Python
Sublime Text Settings for Writing PEP 8 Python
Real Python
Write Cleaner Python with Sublime Text's Indent Guides
Real Python
Sublime Text Whitespace Settings for Python Development
Real Python
Function Argument Unpacking in Python
Real Python
Python Code Review: Debugging and Refactoring "Conway's Game of Life" + Automated Tests
Real Python
Using "get()" to Return a Default Value from a Python Dict
Real Python
A Python Shorthand for Swapping Two Variables
Real Python
Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Real Python
Click & Jump to Test Failures from the Command Line (iTerm2)
Real Python
Setting up Sublime Text for Python Developers
Real Python
Sublime Text + Python Guide Overview
Real Python
Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Real Python
Type-Checking Python Programs With Type Hints and mypy
Real Python
A Shorthand for Merging Dictionaries in Python 3.5+
Real Python
Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Real Python
My Python Code Looks Ugly and Confusing โ Help!
Real Python
Setting Up a Programmer Portfolio/Developer Blog โ How To Get Started
Real Python
Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Real Python
Programmer Portfolio โ Example and Walkthrough
Real Python
How to Get Your 1st Speaking Gig at a Tech Conference
Real Python
How to Build Your Public Speaking Skills as a Developer
Real Python
The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
Real Python
Setting up Sublime Text for Python Developers โ Lesson #1
Real Python
Cool New Features in Python 3.6
Real Python
"is" vs "==" in Python โ What's the Difference? (And When to Use Each)
Real Python
Emulating switch/case Statements in Python with Dictionaries
Real Python
Python Function Argument Unpacking Tutorial (* and ** Operators)
Real Python
What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
Real Python
A Crazy Python Dictionary Expression ?!
Real Python
String Conversion in Python: When to Use __repr__ vs __str__
Real Python
Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Real Python
Optional Arguments in Python With *args and **kwargs
Real Python
Python Context Managers and the "with" Statement (__enter__ & __exit__)
Real Python
Installing Python Packages with pip and virtualenv / venv
Real Python
"For Each" Loops in Python with enumerate() and range()
Real Python
Python Code Review: LibreOffice Automation and the Python Standard Library
Real Python
Managing Python Dependencies With Pip and Virtual Environments โ Lesson #1
Real Python
Python Tutorial: List Comprehensions Step-By-Step
Real Python
Leveraging Python's Implicit "return None" Statements
Real Python
What's the meaning of underscores (_ & __) in Python variable names?
Real Python
Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Real Python
Writing automated tests for Python command-line apps and scripts
Real Python
How to find great Python packages on PyPI, the Python Package Repository
Real Python
Immutable vs Mutable Objects in Python
Real Python
PyPI vs Warehouse, the Next-Generation Python Package Repository
Real Python
pep8.org โ The Prettiest Way to View the PEP 8 Python Style Guide
Real Python
My Experience at PyCon 2017 in Portland
Real Python
Pylint Tutorial โ How to Write Clean Python
Real Python
"Reverse a List in Python" Tutorial: Three Methods & How-to Demos
Real Python
Python Refactoring: "while True" Infinite Loops & The "input" Function
Real Python
Related Reads
๐ฐ
๐ฐ
๐ฐ
๐ฐ
AI-Ready Infrastructure: A Checklist Before You Scale
Dev.to AI
How I Cut My OpenAI Bill by 97% โ The Full Migration Guide
Dev.to ยท rarenode
Your Website Passed Claudeโs Search Test. It Might Still Fail the Other Two
Medium ยท AI
AI Made Creation Free. Taste Is What's Scarce Now
Forbes Innovation
๐
Tutor Explanation
DeepCamp AI