this post was submitted on 01 Sep 2023
337 points (96.2% liked)

Programming

17503 readers
6 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 1 year ago (1 children)

Python, and dynamically typed languages in general, are known as being great for beginners. However, I feel that while they’re fun for beginners, they should only be used if you really know what you’re doing, as the code can get messy real fast without some guard rails in place (static typing being a big one).

[–] [email protected] 1 points 1 year ago (1 children)

Disagree on this one, even though I can see where you are coming from. I first learnt programming in Java, and it gave me massive problems to understand the structure and typings. Obviously Java isn't the most beautiful language anyways, but once I picked up python it started to click for me on how to solve problems, because I didn't have to think about that many things. I could just go for it. Yes, my code was messy in the beginning, but I wasn't working on any important projects. It was just for fun.

So I think learning how to solve problems is as important as writing clean code. And python really helped me with that.

[–] [email protected] 1 points 4 months ago* (last edited 4 months ago)

I'd actually argue Python stops people learning how to solve problems.

I love teaching juniors and have done so for 10 years but I've noticed in the last 4-5 years since Python became the popular choice at universities Graduates aren't learning anything about Static Types, Memory Management, Object Oriented Programming, Data Encapsulation, Composition, Service Oriented Architecture, etc..

I used to expect most graduates to have a mixed grounding in those concepts and would find excuses for them to work on a small UI projects. I would do this as it gets them used to solving a small problem and UI's give instant feedback. As Python became dominate university teaching language the graduates aren't spending their time learning Typescript, Angular, HTML, etc.. but instead getting overwhelmed by the concept of types.

Those concepts I want them to learn were created to help make solving problems easier and each has their strengths and weaknesses but most graduates are coming through only knowing how to lay out a small amount of procedural logic using Python and really struggling to move beyond that.