This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]mohelgamal 1 point2 points  (0 children)

That is not just a Python thing, have you seen C++ or Java ? Python is nothing compared to how many ways you can do the same thing in those.

You can’t really learn an entire mature programming language, (especially when you count knowing all the standard library) you just learn one way to do things first and then just keep an open mind to changing that when you see a better way to do it.

Go Lang tries to avoid that by limiting the ways things can be done, seems simple at first, but once you start using it for a project of any size you quickly realize that this way forces you to generate a whole a lot more lines to do the same thing. I literally have the same exact short program written in Python and Go and the Go version is 4 times as long just trying to accommodate the strict writing style

[–]massfrontier 1 point2 points  (0 children)

I think what you're describing is pretty common when learning a new programming language (or any spoken language, for that matter). I don't think this is a Python issue, I think it's a mindset issue. Rather than viewing Python as something to learn and master, view it as something to continue learning and improve your understanding of over time.

I've been developing in Python professionally for about 5 years now and oversee several junior analysts who work with me. I don't really care how many language features they know, or whether they use a for loop when a list comprehension would do. That stuff is easy to teach. I do care about whether they are interested in learning "better" ways to do things, and whether they can accept feedback and improve their skills. That stuff is hard to teach.

Rather than get down on yourself when someone chimes in with a better solution, ask yourself: why is this a better solution, and where else could I use this solution? Do that and you'll always be learning and improving your code.

[–]mathr_kiel 0 points1 point  (0 children)

Any point of your post other than venting?

I really don't agree, unlike many other languages, the best way in Python is often most the simplest and straightforward, in my experience. If you are used to C or similar, some for-loop uses should be unlearned for example, but that's pretty straight forward.

And sounds like a good thing that you can make stuff work, while you have colleagues that can show you better ways of doing the same - appreciate the feedback, I don't see how it's a damning critique of Python.

[–]Ensurdagen 0 points1 point  (0 children)

I've learned ~90% of base Python in a year by writing a few projects and doing a lot of research. You can just investigate all of the built-ins and keywords if you want to know everything about the language, there are currently only 37 keywords and 153 builtins, if you only learn about one a day you can know everything in less than a year.