Machine Learning

A Brief Description of Machine Learning Including Its Origins, What Makes It Unique, and It's Strengths and Weaknesses

Summary

Python is a general-purpose, open-source, interpreted, high-level programming language. First released in 1991 by its creator, Guido van Rossum, Python was designed with an emphasis on code readability. It was dynamically typed and garbage collected. These features and its language constructs are intended to help programmers write clear, readable code. Python supports several programming paradigms including object-oriented, procedural and functional programming. Python interpreters exist for most major operating systems. Many of these are based on an open-source reference implementation, CPython.The Python Software Foundation develops and maintains Python and CPython.

Origin and Versions

Guido conceived of Python in the late 1980’s while at Centrum Wiskunde & Informatica (CWI) in the Netherlands and began work on its implementation in 1989. The first implementation was released in 1991. Version 2 was released in 2000 and added cycle-detecting garbage collection. Version 3, released in 2008, was a major revision of the language and is not entirely backward compatible.

 

Van Rossum served as the lead developer of Python for decades, leading the community to bestow upon him the title of Benevolent Dictator for Life. He stepped down from that role in 2018 and the project is now managed by a five-member steering committee including van Rossum.

Python Design, Philosophy, and Culture

Python’s design and coding philosophy favors simplicity and has made programming accessible to less experienced programmers while providing all the capabilities required to become one of the most popular programming languages today.

 

The Python community has embraced a bias towards simplicity and readability, declaring code that follows these priorities as “Pythonic”. This is in contrast to other programming communities that admire clever complexity at the expense of readability.

 

The community also embraces a light-hearted sense of humor also initiated by van Rossum. His choice of name for the language was inspired by the BBC television program “Monty Python’s Flying Circus” and references to the show’s comedy themes can be found in much of the Python literature.

Structure and Features

Python was designed to be a small core language with a large standard library. The language is highly extensible which has encouraged the creation of many libraries by third parties. The official repository for third party libraries, Python Package Index [PyPi] contains over 200,000 libraries. The strong standard library and abundance of third party libraries add greatly to the popularity of the language.

Programming in Python is easy compared to other popular languages due to a number of features. Memory management, a challenge for many beginning developers, is handled through cycle-detecting garbage collection combined with reference counting. The language is dynamically typed, again lifting that burden from the developer.

 

Programming in Python is easy compared to other popular languages due to a number of features. Memory management, a challenge for many beginning developers, is handled through cycle-detecting garbage collection combined with reference counting. The language is dynamically typed, again lifting that burden from the developer.

Strengths and Weaknesses

Many of Python’s strengths have been mentioned above: ease of use, readability, extensibility, and wide adoption.  Community support has also led to a greater availability of libraries covering a broad range of applications. Perhaps best of all, Python is Free and Open Source.

 

The primary weakness of Python is speed. As an interpreted language, a program (the interpreter), reads and executes the code at the time of execution rather than being executed directly by the computer. This slows performance. There are ways to address this weakness. Speed critical functions can be implemented, and extensions written in a compiled language like C++. But this requires additional work.

For more help with Python for your business, connect with us and we can give you a full systems evaluation to find out if you are getting the most out of your data science software.

Connect with us to talk about a technology evaluation today

© QUANSIGHT 2020

  • LinkedIn - White Circle
  • Facebook - White Circle
  • Twitter - White Circle
  • White YouTube Icon
github.png