Skip to content

Discovering which organizations use Python

Discovering which organizations use Python

Python really is quite good at the tasks that it was designed to perform. In fact, that’s why a lot of large organizations use Python to perform at least some application-creation (development) tasks. You want a programming language that has good support from these large organizations because these organizations tend to spend money to make the language better. Here’s a list of the large organizations that use Python the most:





These are just a few of the many organizations that use Python extensively. You can find a more complete list of organizations at http://www.python. org/about/success/. The number of success stories has become so large that even this list probably isn’t complete and the people supporting it have had to create categories to better organize it.



Finding useful Python applications

You might have an application written in Python sitting on your machine  right now and not even know it. Python is used in a vast array of applica-  tions on the market today. The applications range from utilities that run at  the console to full-fledged CAD/CAM suites. Some applications run on mobile devices, while others run on the large services employed by enterprises. In short, there is no limit to what you can do with Python, but it really does help to see what others have done. You can find a number of places online that list applications written in Python, but the best place to look is https://wiki.


As a Python programmer, you’ll also want to know that Python development tools are available to make your life easier. A development tool provides some level of automation in writing the procedures needed to tell the computer what to do. Having more development tools means that you have to perform less work in order to obtain a working application. Developers love to share their lists of favorite tools, but you can find a great list of tools broken into categories  at


Of course, this chapter describes a number of tools as well, such as NumPy and SciPy (two scientific libraries). The remainder of the book lists a few other tools; make sure that you copy down your favorite tools for later.



Comparing Python to other languages

Comparing one language to another is somewhat dangerous because the selection of a language is just as much a matter of taste and personal prefer- ence as it is any sort of quantifiable scientific fact. So before I’m attacked

by the rabid protectors of the languages that follow, it’s important to realize



that I also use a number of languages and find at least some level of overlap among them all. There is no best language in the world, simply the language that works best for a particular application. With this idea in mind, the follow- ing sections provide an overview comparison of Python to other languages. (You can find comparisons to other languages at https://wiki.python. org/moin/LanguageComparisons.)



A lot of people claim that Microsoft simply copied Java to create C#. That said, C# does have some advantages (and disadvantages) when compared to Java. The main (undisputed) intent behind C# is to create a better kind of C/C++ language — one that is easier to learn and use. However, we’re here to talk about C# and Python. When compared to C#, Python has these advantages:


  • Significantly easier to learn
  • Smaller (more concise) code
  • Supported fully as open source
  • Better multiplatform support
  • Easily allows use of multiple development environments
  • Easier to extend using Java and C/C++
  • Enhanced scientific and engineering support



For years, programmers looked for a language that they could use to write  an application just once and have it run anywhere. Java is designed to work well on any platform. It relies on some tricks that you’ll discover later in the book to accomplish this magic. For now, all you really need to know is that Java was so successful at running well everywhere that other languages have sought to emulate it (with varying levels of success). Even so, Python has some important advantages over Java, as shown in the following list:


  • Significantly easier to learn
  • Smaller (more concise) code
  • Enhanced variables (storage boxes in computer memory) that can hold different kinds of data based on the application’s needs while running (dynamic typing)
  • Faster development times




PERL was originally an acronym for Practical Extraction and Report Language. Today, people simply call it Perl and let it go at that. However, Perl still shows its roots in that it excels at obtaining data from a database and presenting

it in report format. Of course, Perl has been extended to do a lot more than that — you can use it to write all sorts of applications. (I’ve even used it for a Web service application.) In a comparison with Python, you’ll find that Python has these advantages over Perl:


  • Simpler to learn
  • Easier to read
  • Enhanced protection for data
  • Better Java integration
  • Fewer platform-specific biases