Comparamos PHP, Python y Ruby
Cuando comenzamos un nuevo proyecto debemos saber qué lenguaje o lenguajes son más adecuados. Los desarrolladores tendemos a decantarnos por un lenguaje de preferencia, generalmente aquel que dominamos más, pero debemos de ser conscientes que no siempre es el mejor. Para ayudar a decirnos, vamos a comparar PHP, Python y Ruby, tres de los lenguajes más adecuados para hacer proyectos web del lado del servidor, lo que conocemos habitualmente como desarrollo backend. Y lo hacemos teniendo en cuenta factores como los objetivos de nuestros proyectos, pero también la facilidad de aprendizaje, el tamaño de la comunidad o las oportunidades laborales detrás de cada uno.
También tenemos ser consciente de nuestro objetivo. Si somos freelance debemos estar atentos para aconsejar a nuestros clientes debidamente. Si estamos en una empresa que desea acometer internamente un proyecto, nos interesa para basarnos en las tecnologías que nos faciliten la vida. Si deseamos aprender cosas nuevas y mejorar nuestro currículum, nos interesará saber cuál de ellos es el que complementa mejor aquellos conocimientos que tenemos actualmente.
Alcance
Los tres son actualmente lenguajes de propósito general, aunque en el caso de PHP es originalmente orientado a la web.
PHP está diseñado para producir páginas web con contenido dinámico, y actualmente también lo podemos utilizar en aplicaciones de consola. Python es un lenguaje de propósito general, donde se facilita el desarrollo orientado a la web mediante varios frameworks como Django. Ruby también es de propósito general y tiene su framework estrella para el desarrollo orientado a web se llama Ruby on Rails.
Facilidad de aprendizaje
Los tres lenguajes son asequibles si ya has tenido alguna experiencia anterior con la programación.
En PHP, la sintaxis es más parecida a Javascript, Java o C, por lo que resultará más sencillo para las personas que conozcan alguno de esos lenguajes. Por su parte, Python es sencillo de aprender y una excelente opción si nunca has escrito una línea de código. Sin embargo, por sus características y particularidades, Ruby es la opción más difícil de aprender.
Estilo de código
Python y Ruby ganan la partida claramente en facilidad de uso y de lectura del código a PHP.
PHP tiene algunas cosas horribles, potentes pero que producen un código más intrincado y de difícil lectura. No obstante, son las mismas estructuras que tienen lenguajes tan populares como C, por lo que muchas personas ya estamos acostumbrados.
Si hay un lenguaje sencillo de leer es Python, que además promueve e incluso obliga a tener buenas prácticas como la indentación. Ruby también está pensado para ser de fácil lectura, expresivo, con el objetivo de centrarse más en ser humano que en la máquina y evitar la confusión habitual al leer el código de un programa.
Grandes proyectos realizados
Proyectos y empresas de referencia usan estos lenguajes, así como las herramientas basadas en ellos. El líder en cantidad es PHP, aunque aplicaciones más sofisticadas habitualmente están basadas en otros lenguajes.
Sitios tan conocidos como la Wikipedia están construidos en PHP y también las herramientas y gestores de contenido más populares: WordPress, Joomla!, Drupal, Magento, Prestashop, así como frameworks como Symfony o Laravel.
Python es usado para el desarrollo de software de todo tipo, incluso con interfaz gráfica. Además, es usado por grandes empresas como Google para el desarrollo de productos importantes de la compañía. En la parte web, Django es uno de los frameworks más consultados y está detrás de Instagram, Mozilla, Disqus o Pinterest.
Por su parte, empresas como Twitter, Github, Shopify usan Ruby y Ruby on Rails para sus desarrollos.
Tamaño de la comunidad
Los tres lenguajes están bien documentados, pero además una activa y numerosa comunidad es importante para encontrar siempre soluciones a los problemas que van apareciendo. PHP es ganador, Python sigue de cerca y Ruby muy lejos.
PHP tiene una de las mayores comunidades de desarrolladores y cada uno de sus herramientas como WordPress tienen a su vez enormes grupos de usuarios. PHP es el primer lenguaje específico para la web en cantidad de uso y siempre está entre los 4 o 6 primeros.
Las publicaciones especializadas en Python son bastante comunes, aunque no llegan al nivel de PHP. En uso está alrededor del octavo colocado.
El uso de Ruby es más restringido y por ello encontrarás menos información en post, foros, etc. Su uso suele estar entre la posición 15 y la 18.
Facilidad de encontrar empleo
Si buscas empleo, aprende PHP. No serás de los desarrolladores mejor pagados, pero las demandas de profesionales te harán mucho más fácil encontrar un hueco en la industria.
En las páginas de empleo encontrarás entre tres y cuatro veces más demanda de profesionales que conozcan PHP. Sin embargo, el número de desarrolladores de PHP es tan grande que es necesario ampliar los conocimientos para destacar.
Si eres programador de Ruby no encontrarás muchas ofertas, pero también hay menos competencia y por ello puedes tomarlo como una oportunidad para destacar. Python, por su parte, es el término medio entre ambos extremos.