Live data from Hacker News

ASK HN: What should a Python developer learn next?

news.ycombinator.com

11–20 of 26 posts

Re: ASK HN: What should a Python developer learn next?

#13
Do you really know deep python? Things like async.io? Frameworks for parallel processing such as Dask? How about even how to do deep learning with Python (Pytorch, Tensorflow). How about NumPy, Pandas, Scikit-learn? How about interop between Python and native code? I have a feeling that you can get more depth rather than breadth. I'm a breadth kind of person and wish I focused on depth early in my career.

Re: ASK HN: What should a Python developer learn next?

#14
You will see a lot of anecdotal opinions, obviously, as each persons advice will come from their own history but I'd like to echo the comments that there's no real linear path of what you "should" do next after learning Python. You have endless opportunities.

My own 2 cents would be that I would recommend sticking around before moving on. Learning one language until you're fully proficient as you said you're not yet "professional in python", find problems that you can solve so you get used to solving the actual problems not working on learning the language syntax. Python is incredibly versatile and you have endless projects available to you. Once you have done that, you can start to consider what languages would've made sense to use for the project, what would the advantages/disadvantages be and try to pick the most appropriate language for each project.

Re: ASK HN: What should a Python developer learn next?

#15

Do you really know deep python? Things like async.io? Frameworks for parallel processing such as Dask? How about even how to do deep learning with Python (Pytorch, Tensorflow). How about NumPy, Pandas, Scikit-learn? How about interop between Python and native code? I have a feeling that you can get more depth rather than breadth. I'm a breadth kind of person and wish I focused on depth early in my career.

A lot of what you listed is frameworks and libraries. I think a person can comfortably say that they know a lot of Python even if they've never touched most of them. Knowing a language well is different from covering all the possible libraries, frameworks and use cases.

If someone wants to get a bit past beginner in Python, the two general directions are to learn more about how the language works internally (Fluent Python is a great book for it), or to learn more about how to write Python well (Effective Python is a great resource for best practices in Python).

Re: ASK HN: What should a Python developer learn next?

#16
You could learn about basic anomaly detection systems or simple recommendation engines.

At a simple level this is language agnostic although at a higher level you should use Python for machine learning.

As for specific technologies possibly Rust which is like an OCaml and C hybrid.

If you wish to think differently I recommend Haskell and Coq but these are not 'useful'.

Re: ASK HN: What should a Python developer learn next?

#17

You will see a lot of anecdotal opinions, obviously, as each persons advice will come from their own history but I'd like to echo the comments that there's no real linear path of what you "should" do next after learning Python. You have endless opportunities. My own 2 cents would be that I would recommend sticking around before moving on. Learning one language until you're fully proficient as you said you're not yet…

Great answer.

Re: ASK HN: What should a Python developer learn next?

#18
post #15

Do you really know deep python? Things like async.io? Frameworks for parallel processing such as Dask? How about even how to do deep learning with Python (Pytorch, Tensorflow). How about NumPy, Pandas, Scikit-learn? How about interop between Python and native code? I have a feeling that you can get more depth rather than breadth. I'm a breadth kind of person and wish I focused on depth early in my career.

A lot of what you listed is frameworks and libraries. I think a person can comfortably say that they know a lot of Python even if they've never touched most of them. Knowing a language well is different from covering all the possible libraries, frameworks and use cases. If someone wants to get a bit past beginner in Python, the two general directions are to learn more about how the language works internally (Fluent P…

I do have to respectfully disagree but would say it is a gray area in some cases. Knowing a language well is more than just understanding the basic abstractions given to you by the standard language. In the case of Python, ideas in the async libraries eventually went into the standard. If someone does not understand asynchronous programming, would you consider them an expert Python developer?

Here is another argument. Is someone really a fluent C++ programmer if they have no idea what Boost is? Or STL? You are right that this set of libraries has a grey area. For example, I'd consider someone an expert C++ developer even if they did not know CUDA.

So what is the gray area for Python? Does an expert Python developer need to know a specific web frameworks like Django? To your point, no. But IMHO they should understand at least one example well, and understand some concepts such as WSGI.

Re: ASK HN: What should a Python developer learn next?

#19

You could learn about basic anomaly detection systems or simple recommendation engines. At a simple level this is language agnostic although at a higher level you should use Python for machine learning. As for specific technologies possibly Rust which is like an OCaml and C hybrid. If you wish to think differently I recommend Haskell and Coq but these are not 'useful'.

Any recommendation of how to get started with recommendation engine and anomaly detection ? Should one grok all the math pre-reqs before starting with them, or can pick the math as we go along ? Appreciate your inputs.

Re: ASK HN: What should a Python developer learn next?

#20
post #15

Earlier quoted context omitted.

A lot of what you listed is frameworks and libraries. I think a person can comfortably say that they know a lot of Python even if they've never touched most of them. Knowing a language well is different from covering all the possible libraries, frameworks and use cases. If someone wants to get a bit past beginner in Python, the two general directions are to learn more about how the language works internally (Fluent P…

I do have to respectfully disagree but would say it is a gray area in some cases. Knowing a language well is more than just understanding the basic abstractions given to you by the standard language. In the case of Python, ideas in the async libraries eventually went into the standard. If someone does not understand asynchronous programming, would you consider them an expert Python developer? Here is another argument…

You're singling out the async example while I was referring to the 3rd party libraries you listed. Of course you're always understanding the language through some use case (web programming, data science, ML, whatever) and that will require to learn the relevant libraries but adding another use case or a different solution for the same use case doesn't necessarily teach you more about the language.

My point is that OP can stick to the use case they're already working on and still get better at Python (that's what the resources I pointed to help with).

Post reply on HN