Python - UGuntupalli/GeneralWorkflow GitHub Wiki

Python is the fastest growing language. It is easy to use, powerful and versatile. With wide ranging applications ranging from web development to data science to machine learning, Python has found adoption from both leading software giants like Google, Amazon, Facebook etc. to startups as well as universities. It is fast replacing "C" and "C++" as the beginner programming language in many schools. Provided below is a list of free resources that can help anybody interested to get started. The list is by no means exhaustive, but just what I have come across:

  1. Python Documentation - While no means the easiest to follow, this is by far the most comprehensive record of base Python and should function as a great reference

  2. A Byte of Python

  3. Googles Guide to Professional Programming

  4. Python for you and me

  5. Real Python

    The above is just some of the resources I have found to be useful and I would encourage anyone interested to use these as a reference only, but also encourage them to continue to use any resources they may find to help them learn.

    Some advantages and disadvantages to be aware in choosing Python are:

Advantages:

  1. Versatile - can be used for applications in several different domains from Natural Language Processing, Web Development to Machine Learning
  2. Easy to learn
  3. Extensible
  4. Open Source - requires no investment
  5. Amazing Community and resources

Disadvantages:

  1. Slow - Because Python is an interpreted language, since it requires compilation as well as interpretation, compared to other programming languages like C, C++ or Julia
  2. Dynamic Typing - Prone to run-time errors and requires a lot of upfront testing