Python for beginners 757

Have you ever wondered what programming language Google uses? Or what language was used for writing YouTube, Dropbox, Instagram, Pinterest and many other websites? The answer is Python.

Python is one of the most popular programming languages. In fact, its popularity is ever growing so that many developers today plan to migrate to this technology or have already started switching their specialty. But what is it and how can a complete beginner in programming learn its benefits and eventually start a new career?

 


What is Python?

Python is one of the most famous programming languages intended for general purposes. It was created by Guido van Rossum in 1991 with the aim of designing a language that emphasizes code readability and syntax which allows programmers for expressing concepts in fewer lines of code.

This high-level programming language features a dynamic system and automatic memory management and is available for many operating systems. CPython, its reference implementation, is open-source software developed on a community-based model and managed by the non-profit Python Software Foundation.

Image source: Wikipedia.

Python filename extensions include .py, .pyc, .pyd, .pyo, .pyw, and .pyz and the newest stable release is 3.6.4 released on December 19, 2017. Version 3.7.1 is also available for testing as of February 2018.

The name originates from its creator being a fan of Monty Python’s Flying Circus, a British sketch comedy series, which is the reason why its official documentation contains various references to Monty Python, such as spam and eggs (for foo and bar).

“…In December 1989, I was looking for a “hobby” programming project that would keep me occupied during the week around Christmas. My office … would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python’s Flying Circus).” Guido van Rossum

The language’s core philosophy is drawn in The Zen of Python (PEP 20) – 20 software principles which influence the design of Python programming language, some of them listed as follows:

  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Readability counts.

Rather than having all of its functionalities built into its core, it was designed to be highly extensible since it allows adding programmable interfaces to existing applications. As with many other programming languages, Python uses many English words making it logical and quite comprehensible. Unlike other languages, however, it does not use curly brackets to delimit blocks, and the use of a semicolon after statements is optional. It uses English keywords instead of punctuation (such as and, or, not), unlike many other languages (&&, ||, !, respectively, which are used in Java and C).

One of its biggest strengths is its large standard library, which provides tools for many a task, and with the help of it you can create graphical user interfaces, web frameworks, multimedia, databases, perform web scraping, image processing, text processing, scientific computing, system administration, etc.

 


Why Learn Python

  • First of all, Python is consistently ranked as one of the most popular programming languages for 15 years now by the TIOBE Programming Community Index. As of January 2018, it is the fourth most popular language and was selected Programming Language of the Year in 2007 and 2010.
  • Many surveys showed that Python programmers are among the top paid programmers in the world, following JavaScript programmers. Additionally, it is one of the most useful technologies developers are interested in learning.
  • Python is great for beginners in programming, as it is highly straightforward and logical, offering a wide range of concepts which are easy to comprehend.
  • As of 2014, Python has been the most popular introductory teaching language at top US universities, including MIT, Stanford, Berkeley, Cornell, Princeton, etc.
  • Python is readable, and you get a sense of reading a regular English sentence.
  • It is an interpreted language, which means that you simply run the program after you have written it and see if it works or not.
  • It is free, so you can easily download it from the Internet and run it on your device, whichever you use: be it Windows, Mac, or Linux computer.
  • Python is used by many large organizations, including Wikipedia, Google, Yahoo, CERN, NASA, and even the social news networking site Reddit is written entirely in this language. Other famous software written in Python include YouTube, Dropbox, Quora, Instagram, BitTorrent (earlier versions), Spotify, Pinterest, etc.
  • It can serve as a scripting language for web applications and there are even web frameworks like Django, Pyramid, Pylons, and Flask which are Python-based and support developers in design and maintenance of complex applications.
  • It is a very influential language, namely, its design and philosophy have made an impact on other programming languages, such as Ruby, Swift, CoffeeScript, Groovy, etc.
  • A lot of teams of programmers are migrating or plan to migrate to it in 2018. This language is so popular that there are more jobs for it showing up every day.
  • Ask any programmer about the language of the future, and the odds are that their answer will be: Python.

 


How To Get Started: a Beginner’s Guide

The best place to start learning is the official Python.org website. There you can find all the necessary documentation and things to help you get started. Many people neglect such websites for no obvious reason, but they offer priceless help to the beginners, such as their Wiki page with a Beginner’s Guide. There are books, websites, and tutorials to help you handle this amazing programming language.

However, if you are more into interactive courses and have a limited budget, you can try out free online MOOCs, such as Python Programming: A Concise Introduction by Wesleyan University on Coursera. The course lasts for four weeks and the next enrollment date is March 23, 2018 – so hurry up if you want to hop on the programming train!

There are many other good Python-related courses on Coursera, but the majority of them is premium, so you are probably going to have to pay to attend them and earn a certificate. Certificates usually range from $49 to $79. There are also learning programs, which include more than one course to help you get a comprehensive knowledge of the language.

A fairly cheaper option is the Complete Python Bootcamp: From Zero to Hero course on Udemy. which costs less than $15 (you obviously get a huge discount if you enroll in the next 16 hours). For absolute beginners, Codecademy offers an intensive 10-week course Learn Python which is also far from being free (it costs $199) and covers interactive lessons of Python syntax, strings and console output, conditionals and control flow, functions, lists & dictionaries, etc. By the end of the course, you should be able to deliver your final project made in Python.

And finally, your biggest resource should be all the blogs, vlogs and tutorials on YouTube and the Internet. Since there is no course that could fit everyone’s needs, you should feel free to find the right set of textbooks, e-books, and other didactic materials to support your learning path. Education is for everyone, but every learner should find the measure for their own learning. What matters the most is your motivation to learn and of course, perseverance – to finish what you have started. You can do it – we are right behind you!

Back to you: Have you learned Python already? Do you have something to recommend to beginners? What were the biggest hurdles you have encountered and how did you solve them? Tell us in the comments below.


Discover more about web development:

Vesna Savić

Dedicates her time to learning about better means of communication, translating knowledge into practice, and is a passionate reader.