Why Choose Python for Software Programming and Web Development

by:

Share:  

The Zen of Python is beautiful. One could almost describe the Python language as an art in expressiveness.



You don't know what Python is

So to make it quick and swift,

Repeat with me, Python is:

  • Open source.
  • Case sensitive
  • Easy to learn yet powerful, high level programming language.
  • Has an elegant syntax.
  • Highly Expressive.
  • Supports dynamic typing.
  • Both compiled and interpreted making it an ideal language for scripting and rapid application development.
  • Has efficient high-level data structures and supports a full Object Oriented programming model
  • Cross Platform meaning it will work on Windows, Linux, Mac OSX, Unix, HP-UX, Solaris just fine.
  • Works flawlessly on Android, iOS and many other mobile or embedded devices.
  • Supported on gaming platforms such as the XBOX, Playstation 3, Nintendo DS, etc.
  • Has batteries built-in which means it comes with a full featured standard library.

Gotcha, so where do we use Python in real life?

  • Software and Hardware Programming.
  • Mainly used in the Scientific computing community.
  • Big Data and numerical Analysis.
  • Web Development.
  • Developing Graphical User Interfaces (GUI).
  • Financial Services Industry.
  • Stock Markets including real time trading.
  • Education and Training institutions such as Universities.
  • Way more than you think..

Python is compiled and interpreted..like really?

Short Answer: Yes it is.

Long Answer: Unlike popular belief that Python is an interpreted language, Python is elegantly both a compiled and interpreted language. The code is first compiled to bytecode. Bytecode, is then executed in a Python Virtual Machine (VM) which in turn interprets the bytecode into machine code for the CPU to process.

Python implementations

CPython

CPython is the default implementation and distributed version which is primarily based on the C programming Language. Find more about CPython.

Stackless Python

Stackless Python is a CPython branch which natively supports micro-threads. Find more about Stackless Python.

IronPython

IronPython is an open source effort By Microsoft which implements Python across its popular .NET framework. Note that IronPython is not always up to date with the default CPython distribution but at the same time, it doesn't have any issues with the Global Interpreter Lock (GIL) which we will come back to later in the series.

Read more about IronPython.

Jython

Jython is a compiled Python implementation written in Java unlike CPython which makes use of C. Jython runs on the Java Virtual Machine (JVM) and appeals to developers who primarily develop around the Java programming language. Note that Jython, like IronPython is not always up to date with the default CPython distribution but it doesn't have any issues with the GIL as well.

Read more about Jython.

PyPy

PyPy is an alternative implementation of the Python interpreter using Python itself instead of C. It was designed to achieve performance gains by using a Just in Time (JIT) compiler and also uses less memory space than CPython. PyPy also provides stackless support, meaning it provides micro-threads which in turn provides greater concurrency among running applications.

Read more about PyPy.

Your turn...

Are you using Python for your projects or company? Please share it with us by leaving a reply below.

More to come soon in Part 2. Stay tuned.


About the Author

Alvin Luchmun
Alvin Luchmun is a freelance developer, trainer and co-founder at and currently lives in London. Alvin is passionate about anything tech/biz related but is also a firm believer in agile clean code, he loves preaching about code to fellow humanoids!.

Leave a comment