Introduction to Python - OperationCode/member_content GitHub Wiki

What is Python?

Python is a programming language invented by Guido van Rossum in the 1990s [1]. In 1983, Guido joined a team that was developing a programming language called ABC [2]. The aim was to create a language that intelligent and tech savvy individuals could be taught quickly and effectively; even without prior programming experience [3]. Despite the effort, the ABC language did not make a big impact on the tech scene.

While working on a different project, Guido saw a need for a scripting language emerge. Around 1986 he began working on a new scripting language that retained the easy to learn/easy to teach spirit of the ABC language, among other technical features, but lacked the issues that had prevented it’s success - this was the beginning of Python as we know it [3]. The name, Python, was chosen for the language due to an appreciation for an English comedy team - the identity of which I will leave to you to surmise [1]. Since then, Guido van Rossum has been the primary maintainer of the Python project, though many others have also contributed [2].

Why Python?

Python is a very popular language and is increasing in popularity every year. There are many reasons for this:

  • It’s easy to learn.
  • Platform independent (applications run on OS X, Linux, and Windows).
  • It has incredibly powerful and flexible tools for interacting with data.
  • Writing Python code is very efficient.
  • Python has a powerful web development framework called Django.

Because of the the efficiency of writing Python code, you can create an application that could be five times longer if written in C or Java. Python also has a vast library of modules that you can draw on, though not quite as extensive as the libraries for C or Java [1]. A downside to Python is that some operations can be slower than the same operations coded in a language like C, but the disparity is often minimal and Python can even use modules written in C for things like intense number crunching [1].

Is Python right for me?

Whether it is your first or fifth programming language, one of the hardest things for a programmer to decide is whether or not to commit to learning a particular language. This is in some ways due to the fact that all languages offer certain advantages and disadvantages. Which ones will stay current? You don’t want to waste time learning a language for it to fade out and become obsolete. It is a big decision, but one that is slightly easier if you have prior programming experience.

Python 3 is a fantastic language that offers ease of learning, rapid development, a powerful web framework, and the applications can be written on any of the major Operating System platforms [1]. While Python is a great language, there are others like C++ and Java that have their own advantages. C/C++ allow a great deal of control regarding memory allocation and usage. This can make for extremely fast and efficient applications. Java is extremely popular and in demand as all Apps written for the Android OS are written in Java. If you are new to programming you should establish it in your mind now that you will be learning multiple languages. While this may seem daunting now, it will become much easier to pick up new languages once you have a solid foundation in programming techniques.

The best advice one can give is to do some background research on each language, then just pick the one that interests you the most. The important part is to stick with it long enough to master basic programming techniques. Then when you venture out to other languages, you will find that the techniques and concepts are largely the same from one language to the next. Learning a new language will then primarily consist of familiarizing yourself with the equivalent syntax and function names of the new language.

Where to go from here?

There are many avenues for furthering your knowledge of Python. Below are some recommended books and excellent (and free) Online resources. Note: Always make sure that the book is still current before purchasing and that a newer edition has not been released.

Recommended Books:
The Quick Python Book Second Edition by Naomi R. Ceder.
Learn To Program With Minecraft by Craig Richardson.

Free Online Python Resources:
Tutorials Point – Python Tutorial
Python Documentation
MAD-HAX

References

[1] Ceder, Naomi R. (2010). The Quick Python Book Second Edition. Greenwich, CT: Manning Publications.
[2] Python Software Foundation. (na). History and License. Retrieved from https://docs.python.org/3/license.html
[3] Venners, Bill. The Making of Python A Conversation with Guido van Rossum, Part I. Retrieved from http://www.artima.com/intv/pythonP.html

Disclosure:
This is primarily based on an article copied from https://www.mad-hax.com/2017/08/02/introduction-to-python-absolute-beginners/

I, James Cathcart (a.k.a. MAD-HAX), give express authorization for this to be used in this forum. If any information is used please give the appropriate credit/references to the article and myself.