Technical Articles

Tech Articles from your friends at Oracle and the developer community.


                      What is Python?

                      Python is an easy to interpret and high-level object-oriented programming language with easy-to-read syntax. Ideal for prototyping and ad-hoc tasks, Python has wide use in scientific computing, web development, and automation. As a general-purpose, beginner-friendly programming language, Python supports many top computer scientists and application developers globally

                      Want to hear a celebrity endorsement? Here's Peter Norvig, the director of research at Google: "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves."

                      It is important to understand all aspects of Python as an open source programming language. We'll discuss Python development, Python libraries, as well as some history and future trends. Read on to wrap your mind around this elegant, incredible language.

                      Why Developers Should Learn Python

                      Python is the first language of many new programmers. In a college computer science course, it's usually the first one introduced. Why?

                      For one, Python is readable. At times, it’s even close to English—with a little knowledge of the language, you can look through the code and get an idea of what it is attempting to do.

                      This is in contrast to other application languages of its generation, which might be more confusing. Python example to print "Hello, world!" to a computer's console.

                              print("Hello, world!")

                      Python Forces You to Write Clean Code

                      In contrast to most other development languages, Python code depends on indentation. In short, you need to add spaces to lines of code within a given code block in a specific, predictable way. Otherwise, the code won't run.

                      This can frustrate new Python programmers! For a beginner, Python syntax can indeed be frustrating at times. But after some practice with the language, most come to swear by it. Because your code obeys a predictable, visual logic, it becomes easier to read—both for other programmers who may encounter your work, and for yourself in the future!

                      A language could be the most readable in the world and still die forgotten. Many fields of computer science are like popularity contests: the most popular tools often end up being the best choice for the job.

                      Popular languages have a greater selection of libraries, which save a developer incredible amounts of time and effort. Popular languages also tend to have more tutorials and documentation, so you'll be more likely to find solutions to your problems.

                      And if you have any interest in data science or machine learning, look no further. Python is the top choice of the AI and data science industries. This practically guarantees its survival.

                      Brief History of Python

                      In 1989, Guido van Rossum was working at a computer science lab in the Netherlands. He decided to write a language that would improve on the faults of the most popular ones of his time. Five and a half years later he released it, calling it "Python" after "Monty Python's Flying Circus," a British comedy show he was fond of.

                      It was slow at first, but Python got a big break when a young Google announced it used Python for many internal processes.

                      In 2005 Python released Django, a framework for building web applications. Django exploded in popularity and came to challenge the then-dominant Ruby on Rails framework.

                      By 2011, Python was the most taught language in computer science programs across the country. A few years later it became the de facto standard for researchers in the Machine Learning and Artificial Intelligence fields, likely due to its ease of use and readability.

                      While von Rossum crowned himself Python's "benevolent dictator" for many of its early years, Python's development is now handled by the Python Software Foundation.

                      With its status cemented by the most cutting-edge fields of our time, Python's future looks bright!


                      What Can You Build with Python?

                      As a general-purpose language, the answer is: pretty much anything! Python excels when you have a complex task you need to simplify, a short script to run, or a large dataset you need to manipulate.

                      • Simple scripts for automating workflows
                      • Web scrapers to harvest internet data
                      • Standalone binaries (i.e., apps) using Py Installer
                      • High-powered web apps and REST APIs using Flask or Django
                      • Machine learning programs and artificial intelligence
                      • "Glue code" that connects software in different languages
                      • Trading apps that manage money
                      • Open-source software development

                      That's only the tip of the iceberg! Python programming language is actively used across all domains of contemporary computer science. Since Python development is more efficient than most other languages it is a popular choice for startups, where changes to the codebase must be made quickly and cheaply.

                      It's also a hit among scientists and mathematicians, with a number of powerful in-house libraries for statistics and complex math.

                      Package libraries are an essential service for any modern programming language. Without them, every coder would need to write their own software for the most routine, commonplace tasks.

                      Thankfully, Python has a great selection of packages for all your programming needs. You can peruse them at Python Package Index. Some all-star libraries written in Python are listed below:

                      • Beautiful Soup is a super-charged scraper of HTML, allowing a developer to extract data from the web at scale
                      • Flask and Django, mentioned briefly above, provide blazing fast web development for both simple and complex use cases
                      • NumPy and Matplotlib enable data visualizations both simple and stunning
                      • PyTorch for world-class machine learning

                      What Is Python Web App Development?

                      Python applications for the web are usually built on two main platforms, Flask and Django. Flask is simpler, cleaner, and easier for beginners. Django has more features and can scale to a vast number of users.

                      If you come from a JavaScript background, Flask is to Django what Express is to Nest.

                      What Is Flask?

                      More specifically, Flask is a "microweb framework." It's a lot smaller than your average boilerplate-filled tool. It requires no outside libraries or components and is built entirely on vanilla Python.
                      However, you can easily mix in third-party tools for added effectiveness.

                      Flask is designed for rapid application development. It's ideal for prototyping a new idea before fleshing it out more completely in a bigger framework like Django.

                      What is Django?

                      How popular is Django, Python's most popular web framework?

                      Instagram, the social media giant, scaled to a million users on Django. It's currently used by Pinterest, Udemy, Spotify, and Dropbox. That's how popular. Django is an open-source framework "for perfectionists with deadlines," according to its docs. It's cross-platform and works equally well on Windows and Mac.

                      Django is built on an MVC model, short for Model-Viewer-Controller. MVC is a special pattern in computer science, the goal of which is to separate the concerns of a web app into its three separate components.

                      When a client sends a request it first hits the controller, which handles the traffic of different incoming requests. It passes that traffic onto different models, which handle the data and logic of the request. The model then exports that response to the viewer, which renders the presentation of the data to the client.

                      This makes for a simple, fault-tolerant framework. Django excels with scaling in size and complexity as a result.

                      Python for Data Science

                      Python's foremost strength is in Data Science and Machine Learning. How can you get started in these groundbreaking fields?

                      You'll likely want to start by familiarizing yourself with the most popular tools in the space. One of these is Jupyter Notebooks, where you'll find interactive walkthroughs of data science algorithms and libraries.

                      Another is Anaconda, a platform where data scientists share their work. This is another great place to find guides and instruction on beginning your data science adventure.

                      Likely the most important library for data science in Python is known as pandas. An essential task for a data scientist is to clean the data you'll use and pandas make this a lot easier. It also has a suite of tools to aid in the manipulation and analysis of data.

                      AI and data science will only continue to explode in popularity, so beginning to learn these tools now is a great choice!

                      Where Can a Developer Learn Python?

                      Like most other tech-related subjects, it's easy and free to learn Python by watching tutorial videos on YouTube. We are living in a golden age of free online tutorial content. Brad Traversy is a leading figure in the field, but there is an almost endless selection of instructors to choose from.

                      Once you learn the basics, try testing your knowledge with some exercises. There are plenty of options here as well. Exercism is a great resource for a programmer looking to sharpen their talents. Exercism offers targeted challenges with mentors and fun testing using the command line.

                      If you want to dive deeper into data science, try out Kaggle. Most online data scientists swear by the platform as the foremost resource.

                      How about using Python on GitHub Even though there are plenty of sources to use and learn Python, for example, online reference books, video tutorials, and websites, developers can also count GitHub as a reliable source to learn Python.

                      Finally, the best way to learn any programming language, in the long run, is to build something meaningful with it. Try creating a web scraper, a simple API, or an automation script!

                      Python Crash Course For Beginners

                      Python: A Language for You

                      Hopefully, this guide has cleared up your questions about this fantastic coding language. Whether you want to break into data science, run a scalable web server, or just like writing small scripts, Python has something for you.

                      To learn more about development in general, check out our blog.

                      Latest content

                      Explore and discover our latest tutorials

                      Serverless functions

                      Serverless functions are part of an evolution in cloud computing that has helped free organizations from many of the constraints of managing infrastructure and resources. 

                      What is a blockchain?

                      In broad terms, a blockchain is an immutable transaction ledger, maintained within a distributed peer-to-peer (p2p) network of nodes. In essence, blockchains serve as a decentralized way to store information.

                      OCI CLI

                      The CLI is a small-footprint tool that you can use on its own or with the Console to complete Oracle Cloud Infrastructure tasks. The CLI provides the same core functionality as the Console, plus additional commands.