Python Programming











PDF version of this report
You must have Adobe Acrobat reader to view, save, or print PDF files. The
reader is available for free
download
.

Python Programming

by Faulkner Staff

Docid: 00021060

Publication Date: 2202

Report Type: TUTORIAL

Preview

First released in 1991, Python is a popular programming language
developed by Guido van Rossum at the National Research Institute for
Mathematics and Computer Science in the Netherlands. Python is generally
regarded as a great “starter language” for new programmers, suitable for a
wide range of application development functions, including simple text
processing, Web development, mathematical and scientific programming, the
creation of desktop graphical user interfaces, and computer gaming.

Report Contents:

Executive Summary

[return to top of this
report]

First released in 1991, Python is a popular programming language
developed by Guido van Rossum at the National Research Institute for
Mathematics and Computer Science in the Netherlands.

Linux-Based Application
Development Tutorial
Linux Development Tools Market

Python is generally regarded as a great “starter language” for new
programmers, suitable for a wide range of applications, including:

  • Simple text processing
  • Web development
  • Mathematical and scientific programming
  • Software development support

Contrary to popular belief, the name “Python” is unrelated to the deadly
constrictor indigenous to Asia, Africa, and Australia. Rather, the name is
an homage to “Monty Python’s Flying Circus,” one of Rossum’s favorite
comedy series.1

Derived from a number of languages including C, C++, and Algol-68, Python
is developed under an Open Source Initiative (OSI)-approved open source
license, making it freely available, even for commercial use.

Python Software Foundation

Python’s license is administered by the Python Software Foundation (PSF),
a 501(c)(3) non-profit corporation that holds the intellectual property
rights behind the Python programming language. The PSF mission is to
promote, protect, and advance the Python programming language and to
support and facilitate the growth of a diverse and international community
of Python programmers. The Web site www.Python.org
is the “official home of the Python programming language.”

Python 3.10, which was released on October 4, 2021, is the latest variation
of the language. Although it is considered primarily an iterative update, the
addition of structural pattern matching has been called "the single most
significant addition to the language syntax since async."2 This allows
a developer to match variables against patterns of values, for instance matching an object
with a certain property set to a certain value. This update expands the range of possibilities
to assist those who deal intensively with data structures, allowing faster implmentatin of code
that encompasses a variety of scenarios. In addition, Python 3.10 improves debugging capabilities
and provides greater clarity to error messages.

Since January 1, 2020, the Python 2 interpreter and bundled libraries are
no longer receiving bug fixes. Users can opt to use support from a third-party
supplier, with ActiveState offering support for Python 2 and standard
libraries, as well as backported security fixes in the Python 3 core language
code and third-party packages.3

Features

[return to top of this
report]

Python is:

  • Easy to learn. Python
    syntax is “simple and elegant” when compared to other languages like
    C++ and Java.
  • Portable. Python programs
    can be migrated from one platform to another and run without changes.
    Programs can run seamlessly on almost all platforms including,
    importantly, Microsoft Windows, Apple Mac OS X, and Linux.
  • Extensible. Programmers
    can add low-level modules to the Python interpreter, enabling them to
    add new tools or customize existing ones.
  • Interactive. Python
    permits programmers to interactively test and debug code segments.
  • Scalable. Python provides
    better support for large programs than shell scripting.
  • Database-friendly. Python
    offers interfaces to all major commercial databases.
  • GUI-compatible. Python
    supports graphical user interface (GUI) applications.
  • Object-oriented.
    “Everything in Python is an object.” Object-oriented is a style of
    programming that allows complex operations to be split into smaller,
    more manageable tasks.4,5

Python is one of several programming languages presently employed by
enterprise developers. Others include:

  • Java
  • SQL
  • PHP
  • JavaScript
  • C and C++
  • Ruby

By way of comparison, analyst Kurt Marko observes that:

  • Python, like JavaScript and PHP, is
    “interpreted,” meaning Python code is processed at runtime with no
    requirement for compilation prior to execution. This renders Python slow
    compared to compiled languages like C++ and Java.
  • Python, like Java, is object-oriented and
    “much more readable” than C++.
  • Finally, “Python syntax is so clear and
    understandable that it is now the most commonly used language in
    introductory computer science classes, supplanting Java – and Pascal
    before that.”6

Applications

[return to top of this
report]

Web Development

Python is excellent for Web development. In fact, sites like Netflix, Instagram,
Dropbox, Spotify, and even Google are written in Python. A saying attributed to
Google founders Sergey Brin and Larry Page and the company’s first employee
Craig Silverstein during the site’s initial development was "Python where we
can. C++ where we must."7

Mathematical and Scientific Computing

Python is routinely invoked for machine learning, deep learning, data
mining, data science, and other science, technology, engineering, and
mathematics (STEM) applications.8

Among prominent enterprise adopters are:

  • Industrial Light & Magic
    (ILM)
    , the renowned special effects firm founded by George
    Lucas, uses Python “for tracking and auditing functionality within the
    production pipeline, where an Oracle database keeps track of the
    hundreds of thousands of images that are created and processed for
    each film. Python is also used to develop the [computer graphics (CG)]
    artist’s interface to ILM’s asset management system.”9
  • AstraZeneca, a leading
    pharmaceutical manufacturer that uses Python for “collaborative drug
    discovery.”
  • Rackspace, an IT
    industry leader in managed hosting uses Python “to implement [their]
    enterprise data systems, [enabling the company to] quickly and
    effectively change its internal systems to keep up with shifts in the
    industry and in [the company’s] own business processes.”10

Education

Python is a superb language for teaching programming. Because of its
intuitive coding and text-based commands using plain English, Python has become
a standard entry-level programming language taught at the high school and
college levels, often replacing classes offered in other languages such as Java
and C++. “Within colleges and universities, the most popular languages for teaching
introductory classes seem to be Java and Python,” says Benjamin Goldberg, an associate
professor in the computer science department at New York University. “They are
relatively easy to teach and learn, particularly Python, and provide fewer
pitfalls for novice programmers than, say, C.”11

In addition, for self-learners there are many online courses in the language,
enabling potential programmers to learn at their own pace. Through education
sites such as LinkedIn Learning, edX, and Coursera, individuals can start with
the basics and move on to more advanced stages to deepend their knowledge and
experience. Some of these courses use instructors from schools such as Harvard
University, the Massachusetts Institute of Technology, Georgia Tech, and the
University of Michigan and provide professional certification upon completion.

Outlook

[return to top of this
report]

Security

Reflecting the IT community’s security consciousness, Python 3.6
incorporated several new security features including a “secrets”
module, which is used for “generating cryptographically strong random
numbers suitable for managing data such as passwords, account
authentication, security tokens, and related secrets.”

Since the language is easily understood, is open-source, and lends itself to
collaborative efforts, Python is becoming a very versatile tool for
cybersecurity professionals. More companies are incorporating Python programs to
enhance security and automated processes. For example, Amazon Web Services
offers the Boto3 software development kit (SDK) for Python, which allows
programmers to write scripts that can interact with AWS services like Amazon
Simple Storage Service(S3), Amazon Elastic Compute Cloud(EC2), and Amazon
Virtual Private Cloud(VPC). Boto3 enables operators to start and stop servers on
demand, cancel instances that do not conform with established security
standards, perform updates and patch management, and more.

Python libraries are also available to perform such security tasks as
penetration testing, port scanning, and establishing and monitoring
client-server connections.

This Generation’s FORTRAN

Python is positioned to experience even greater growth in the
mathematical and scientific arenas; in fact, the influence of the language
has been likened to FORTRAN. As legacy programmers will recall, FORTRAN, short for “formula
translation,” was the preferred language for scientists and engineers in
the mainframe era. FORTRAN’s natural complement, COBOL (or “common
business oriented language”), served business users.

As Javin Paul observes, “For a beginner, learning Python makes sense because it’s simple and the main reason
for learning Python is simplicity. Similarly, for an experienced programmer who is looking to go into data science
and machine learning, learning Python makes sense because it’s quickly becoming the most used programming language,
and there are powerful APIs and libraries available for AI, data science, and machine learning.”12

Recommendations

[return to top of this
report]

Teach Programming with Python

After considering the various alternatives, analyst Sarah Peck is bullish on
Python. "There are a lot of potential programming languages out there: C, C++,
Go, Java, Javascript, PHP, Python, Ruby, Swift being some of them. But if you
were to start anywhere, I’d recommend either Python or Ruby. They both have huge
developer communities with lots of resources that are friendly for beginners to
learn, and there are features of the language that are easier for beginners to
learn.”13

In addition to exposing their new programming prospects to Python,
enterprise officials should consider the benefits of teaching Python to
their non-programmers.

  • First, individuals with an aptitude for –
    but no previous interest in – programming may surface, expanding the
    enterprise IT talent pool.
  • Second, employees will, hopefully, be
    sensitized to the difficulty of writing secure, bug-free code; as a
    result, they may assume a more serious attitude about security
    awareness.
  • Finally, programming encourages logical
    thinking – a capability that will serve employees regardless of their
    position or job responsibilities.

Contribute to the Language

To keep the language fresh and vital, the Python Software Foundation
encourages everyone to contribute to Python. The process is described in
“Python Developer’s Guide.” Enterprise users should avail themselves of
the opportunity to help direct Python development.

References

[return to top of this
report]

1 “Learn Python Programming: The Definitive Guide.”
Programiz.

2 Serdar Yegulalp. “What’s New in Python 3.10.” InfoWorld. October 4, 2021.

3 Nick Heath. “Migrating from Python 2 to Python 3: A Guide to
Preparing for the 2020 Deadline.” TechRepublic. August 22, 2019.

4 “Python Overview.” tutorialspoint.com.

5 “Learn Python Programming: The Definitive Guide.” Programiz.

6 Kurt Marko. “Best Programming Languages for Enterprise
Development.” TechTarget. May 2016.

7 Chris Castiglione. “Ten Famous Websites Built Using Python.” Learn.OneMonth.com. January 10, 2020.

8 “Learn Python Programming: The Definitive Guide.” Programiz.

9 Tim Fortenberry. “Python Success Stories.” Python Software
Foundation. 2017.

10 Nick Borko. “Python Success Stories.” Python Software
Foundation. 2017.

11 Jonathan Greig. “Eight of the Most Popular Programming
Languages.” Tech Republic. January 4, 2021.

12 Javin Paul. “Why Everybody Should Learn Python in 2021.”
becominghuman.ai. October 7, 2019.

13 Sarah Peck. “Why You Should Learn Python as Your Next (or
First) Programming Language.” One Month, Inc. August 4, 2016.

[return to top of this
report]

[return to top of this
report]