Learning #python and seeing the huge bandwidth of applications that it can have. Even in the field of Production Engineering.
Those who are a master in Python (or for that case in any other Programming languages), how did you take the approach of learning it?
I am currently undergoing a Course on Udemy!
@freemo Thank you! Got an overview. I will contact you in near future if I have some problem.
@shibaprasad First, I won't consider myself a master in coding with python. But, here is my approach of understanding python.
Just like learning any other languages, for me, python had some "WHYs". Firstly, I am pretty passionate and fantasized about Machine Learning and Python seems to have good ground base for all ML and AI applications. Second reason is the Python's deployment on web development. If you're learning python, you probably know about it, already.
Learning any language needs certain approach, you may dive yourself in books. Or, there are already enough resource available on internet for anyone to master it.
In simple way, you just need to have some kind of passion or excitement to learn not just Python, any other PLs.
@shibaprasad: start working on a project or build something, it's the best way to learn any language.
@shibaprasad I learned it from books, writing projects and reading source code. But I highly recommend getting even a short training with a good teacher. It's expensive but will save you years. Yes, years.
Thins like pip/virtualenv, pdb, packaging, imports, error handling, etc. are very hard to learn on your own. It takes a lot of effort, trials and errors and time because they are badly explained plus there is a terrible signal/noise ratio. Yet, you really need them.
@bitecode You're spot on about the packaging thing. I was trying to import a package to solve a Linear Programming Problem but couldn't. Got errors and errors.
Even the YT tutorials didn't help.
@shibaprasad Yes, and the solution depends on many factors: your OS, your Python distribution and versions, how many Python do you have installed, are you using a virtualenv, which tool of virtualenv, are you admin, what is you syspath, is there a c-extension in the package...
It will all get better in 2 months, once Python 2.7 is out of the picture, as we can assume "-m venv", promote "-m pip" and benefit from whl.
Fun fact: packaging is hard differently for each programming language ^^
@shibaprasad I'm just starting with python, but my approach was easy.
Since day X, everything I have to script (and used bash/perl before) write in python.
Real demands are best use case...
@shibaprasad I wouldn't say im a master at python, but I use it and I'm a good programmer in general...
As for how I learn it.. well there are two parts to learn for programming to me:
1) The theory - this part is completely disconnected from a language, you can, and often should, do this in psuedocode when working with it in its pure form
2) The language / platform technicals - This is stuff like syntax, and what posix means or how some bytecode is defined or whatever. This is the concrete part
They are both equally as vital, #1 is usually neglected among many programmers in my opinion and it really hurts their abilities when this is the case.
As for how I learned, well #1 was mostly from books and then later peer-reviewed studies coupled with any internet resources I could find (a lot of IRC chat rooms too).
#2 is usually from example code snippets and API documentation and, depending ont he quality of those two, perhaps a lot of trial and error. But this half is less using books, for me, and more just digging in and coding and just reading the technical documentation as you do.