Fuente original:
http://www.infernodevelopment.com/python-becoming-most-popular-programming-languageCopia del artículo
Python is One of the Most Popular Programming Languages
Python is quickly taking the lead as one of the most popular programming language. You might be skeptical, but Python is growing at a faster rate than any other language. It received TIOBE Programming Language of the Year award twice, once in 2007, and again in 2010. Even now it still has the highest growth of any other language. What makes Python so great? While statistical analysis always has its flaws, the trends are pretty clear. Java, C#, even PHP are losing popularity, Python, Ruby, Haskell, Ada are gaining popularity, and even Google Trends seems to agree.
Python is an interpreted language, like PHP, Ruby, and Perl. While PHP was very popular throughout the 2000s. Recently PHP and Python have become equally as popular. Now they are neck in neck. Both of them have enough features to be capable of anything. Some subtle differences however, make Python more amazing than PHP.
The Competition
PHP is one of the main competitors to Python's dominance, but mostly in the web development arena. PHP is very integrated with web development and can be used for it right out of the box like ASP. How does Python compete with that? Well Python has many web frameworks whose features so outperform PHP that it would be crazy to take on huge custom projects with PHP instead of Python and a framework like Django or Plone.
For example, Django's features allow for model generation using OO design philosophy and immediate database table generation based on your Python code.
I myself, am a Drupal PHP developer. Drupal is by far my favorite web framework. The modular-hook design and constant major updates (without backwards compatibility) were at first very attractive, but now I've become dissatisfied with it after being involved in a major custom-designed Drupal project. I find it superior to Wordpress in every way, but it's hard to customize it without some work.
Perhaps you didn't know this, but InfernoDevelopment is designed with Drupal. However, in our next redesign, our developers are planning on using Python and Django. We've started a huge project to release IDv3 in our secret forums, which includes volunteers who are interested in the project.
The fact that Python has a framework like Django that is dominant in web development is beneficial to Python. Standardization is needed for success. While competition is great for PHP, with the many frameworks like CodeIgniter, CakePHP, Drupal, and Zend, they also show a lack of superiority of any one API.
Some people may argue that Ruby and Perl might pose competition as well. I think they lack elegance. Ruby is a solid language but does have scaling problems. I have studied Perl and use it in Linux quite often, but I don't think it has the potential to continue its dominance.
What's great about Python?
Python is extremely well documented. The only other documentation I've seen that rivals it would be the C++ Qt framework. Such easy documentation allows more people to quickly adapt to the language.
Python's language design is incredibly well thought out. PHP's design however, seems to have been duck taped together over years of progress with little regard to design. PHP is basically a language that just seems to grow in the size of its function list. It eliminates the need to be OO. While PHP5 introduced a lot of OO features, it is still not widely used and some frameworks don't really utilize its features.
Python encourages good coding skills. It's exception and error handling is much superior to PHP or C#. Debugging is easy in Python. Difficult in C# (especially when ASP is involved), and somewhat stressful in PHP (whitescreens definitely don't help).
Python has an extensive arsenal of libraries that are extremely important for any mature language.
Python removed the brackets. At first I felt unsafe without the brackets. I felt like relying on white space or tabs would be dangerous. I've come to realize that it actually makes the code more elegant and less confusing. I already indent everything in PHP, C#, C++, so why bother including brackets?
Who's using Python and how will it be used in the future?
Python is being used extensively by Google (with some services using C++ for resource intensive tasks). Artificial Intelligence classes all over the US have adapted Python and dropped LISP.
Some popular sites that use Python:
Google, YouTube, Reddit (Pylon), Facebook (PHP & Python), FriendFeed, Tabblo (Django), SuggestionBox (Django), Bitbucket (Django), Disqus, Quora.
Corporations have begun to shed themselves of compiled languages for web development. The reason being is, compiling all the time is quite an annoyance for a lot of projects. Though you can use C# ASP.NET applications without compiling constantly if it is a website project, the amount of errors it throws on just about anything and its inconsistency is troubling.
I see the trend of Python's popularity continuing to grow especially in web development, AI, and game programming (Civilization uses Python for Civ4). C and C++ will definitely continue to be leaders because of their efficient use of resources and low level programming capability.
What do you think? Do you believe this trend will continue or am I just speculating too much?
Comentarios por: Guillermo Siliceo TruebaLo mas relevante del artículo son los "datos duros" :
Usuarios de Python: Google, YouTube, Reddit (Pylon), Facebook (PHP & Python), FriendFeed, Tabblo (Django), SuggestionBox (Django), Bitbucket (Django), Disqus, Quora.
Los nombres hablan por si solos, como el artículo no incluye fuentes, he obtenido algunas citas relevantes de boca de ingenieros que trabajan en estas empresas,
link"Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers," said Cuong Do, Software Architect, YouTube.com
"Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc.
"Python plays a key role in our production pipeline. Without it a project the size of Star Wars: Episode II would have been very difficult to pull off. From crowd rendering to batch processing to compositing, Python binds all things together," said Tommy Burnette, Senior Technical Director, Industrial Light & Magic.
Me parece importante este punto porque una de las razones por las que una Universidad debe enseñar alguna habilidad es porque esta está demandada por la industria, y aunque aquí este citando industrias norte americanas estas son las que suelen imponer las modas y los estandares en los paises en vias de desarrollo como lo es México.
El otro dato relevante que menciona el artículo es el índice de la comunidad de programación por TIOBE, que es un indicador de la popularidad de los lenguajes de programación. El índice es actualizado una vez al mes. Los ratings están basados en un número de ingenieros de todo el mundo, cursos y vendedores terceros. Los motores de busqueda populares como Google, Bing, Yahoo!, Wikipedia, Youtube y Baidu[el google chino] son utilizados para calcular los raitings.*
Este índice pone a Python en 4º lugar arriba de PHP, C# y abajo de C, C++ y Java, lo que es impresionante por si mismo.
Recordando mi
artículo anterior sobre las razones para enseñar Python el artículo que aquí comento incluye algunas de ellas y además habla de que Python motiva el uso de buenas prácticas de programación, lo bien documentado que está.
Como una nota aparte quiero explicar mi interés por Python.
Mi interés en Python surgió cuando investigaba la manera mas fácil de hacer un script que necesitaba cuando me estaba mundando de Windows a Linux(migrar mi iTuneslibrary.xml a Rhythmbox), me di cuenta lo fácil que era pero no le preste mas atención hasta unos años después que me dijeron que me iban a enseñar programación, y dije "hey yo ya conozco algo con que programar". Para cuando mis primeras tareas de programación llegaron en las que se me pedía pseudocódigo pensé en el gran parecido del pseudocódigo a lo que ya había usado y todas las tareas que entregué las resolvía en Python primero y ya que sabía que mi solución funcionaba entonces si la transcribía a C ó a DFD, simplemente porque era mas fácil. Viendo las dificultades de mis compañeros para resolver los temas que recientemente hemos visto en Programación 1(puro C ANSI) me fue natural pensar en Python como una manera de hacerles mas fácil la vida.
*Traducción de la descripción que TIOBE mismo hace de su índice.
aquí