You can thank Guido van Rossum for making Python so much fun to use.
Looking for a hobby over the Christmas holiday back in the 1980’s, van Rossum named Python as a tribute to the British comedy troupe Monty Python.
In occasional tutorials and reference materials, he makes inside jokes to spam and eggs, and if you input the right commands, the program will come back with Python catchphrases such as “Always look on the bright side of life!” and “We are the knights that say “Ni!”
I recently took a class in Python and had a lot of questions going into the class about what I was going to learn and why it was important. So I did some research beforehand.
Python is the fourth most popular coding language. Since 2003, it has consistently been ranked in the top 10 most popular coding languages in the TIOBE Programming Community Index.
Large organizations and sites that use Python include Wikipedia, Google, Yahoo!, a web-transaction system of the New York Stock Exchange, YouTube and Reddit.
Where can Python be found?
Python is a general-purpose programming language, which is another way of saying it is used in almost everything. Over the past few years, Python has emerged as a frontrunner in modern software development, infrastructure management, and data analysis. It is considered a top program in web application development and systems management as well as a crucial factor in big data analytics and machine intelligence.
Python is in 3D animation packages, visual effects compositors, 2D imaging programs, musical notation programs, and CGI for web applications. It has been used in several video games and was adopted as the first of three available programming languages in Google App Engine. Algorithmic trading and quantitative finance also use Python. NASA uses Python when they are programming their equipment and space machinery.
It’s the primary language used for the massive cloud computing project OpenStack, powering private and public clouds in data centers all over the world. It’s also used to write desktop software.
You can use Python for things as simple as creating calendars in HTML and working with files. Typical usage includes telephony infrastructure, payment systems, neuroscience, media storage, processing, operations management and natural language processing.
This is only a partial list of Python’s purposes. It is referred to as a “scripting language” because it was initially meant to be used just for trivial projects — can you imagine?
What is it about Python that makes it so popular?
It has an easy to learn syntax that, since it’s straightforward (in fact, it’s very similar to English), it reduces the cost of program maintenance and makes it easier to get the program working. For example, training and debugging take less time on Python, allowing more time for prototype development and other programming tasks. This simplicity makes Python an ideal teaching language.
Python supports modules and packages, which encourages program modularity and code reuse. A module in Python is a piece of code, a file containing Python definitions and statements. A package is a directory of Python code. These come together in a readable, reliable and maintainable design easily in Python through modular software design.
Python’s high-level, built-in data structures, combined with dynamic typing and dynamic binding, make it ideal for Rapid Application Development — which refers to adaptive software development approaches.
RELATED STORY: Starting Out in Tech: Rules to live by when writing code
Python comes with an extensive standard library that is available without charge for all major platforms and freely distributed. This supports everyday programming tasks such as connecting to web servers, searching text with regular expressions, reading and modifying files, operating system interfaces, and protocols. Python already has most tasks scripted into it which limits the length of codes written into it. The library provides modules for everyday programming tasks such as math, string handling, file and directory access, networking, multiprocess management, but also internet protocols and data formats like web pages, URLs, and email.
Python can run anywhere, including Mac OS X, Linux, and Unix, with unofficial builds also available for Android and iOS.
It doesn’t cost anything to download or use Python, and it can be freely modified and re-distributed thanks to its open source license. Python’s automatic memory management frees you from manually allocating and freeing up memory in your code.
Python is considered to have incredible productivity due to its object-oriented design, enhanced process control capabilities, strong integration, text processing enablement, and its unit testing framework.
Python has a large, healthy community backed by enthusiast and corporate support. They have major conferences around the world. They also meet in user groups called PUGS.
A large user community means there is already substantial documentation, tutorials, guides, and examples to help you along your way. There are numerous integrated development environments and other development tools to choose from along with thousands of open source packages to extend Python to do just about anything you can think.
What are some limitations of Python?
Sometimes, Python coders become so accustomed to Python features and its libraries that they have trouble transitioning to other languages.
Python is not as stable in mobile computing. Run-time errors don’t show up until the applications are finally run, which means that it requires more testing time. Python’s database access layer is found to be a bit underdeveloped and primitive.
Python is not the fastest language. Most Python runtimes are interpreters rather than compilers, and the innate dynamism of objects in Python makes it challenging to optimize the language for speed — even when it’s compiled. In Python, developer time is usually far more valuable than machine time. In other words, the speed of development beats the speed of execution.
Some people have problems with Python’s use of “dynamic” typing, which is excellent for quick coding but can be problematic for large code bases.
I’ll leave you with this: In Greek mythology, the first achievement of Apollo was to defeat Python, the great serpent who lived at the center of the earth.
Now, I’m not saying you need to shoot this Python coding language with arrows and then play a victory song all over town the way Apollo did. But it could help to keep this story in mind when approaching Python. You can conquer it.
You’ll just always need to keep learning alongside it.
The Greek myth is described as an allegory for whenever fogs and clouds arise from marshes and ponds (Python) are dispersed by the rays of the sun (Apollo’s arrows). Let’s say the same is true for you. If you do pursue Python, the good part about it is that if you hit snags or need support, there is a massive community and library to back you up.
That’s why I would consider Python such a valuable language to pursue as a beginner. Having that many resources can be immensely helpful when learning a language. There is a reason why Python has become so crucial across the globe. It’s because it’s users have enjoyed using it so much, they’ve found a way to apply it everywhere possible.
It’s the ecosystem that gives this language such adaptability and makes it so much easier to pick up.
Join the Conversation: Have you dabbled with learning Python? Share your knowledge with our Facebook community.
Coming Next Week: Jaimie has tips for how to improve your coding skills outside of the classroom environment.