¿Cuáles son las similitudes y diferencias entre Ruby, Perl, Python, Lua y otros lenguajes? Este artículo analiza las razones por las que Ruby derrota a Python desde múltiples perspectivas, como el impacto de RoR en Ruby y las ventajas de Ruby. Con la popularidad de RoR, cada vez más desarrolladores prefieren el lenguaje Ruby. Ambos son lenguajes de secuencias de comandos y el estado de Python es un poco vergonzoso. Creo que existen los siguientes aspectos: Primero, la promoción de RoR. El autor cree que el éxito de Ruby se debe en gran medida a la promoción de RoR. Hace unos años, era comprensible que no hubieras oído hablar de RoR, pero si hoy en día RoR es una palabra desconocida para ti, estás en peligro. ¿Qué es RoR? Es un marco de aplicaciones web completo que proporciona a los desarrolladores la infraestructura completa necesaria para crear aplicaciones web y se desarrolla estrictamente de acuerdo con la arquitectura MVC (Modelo-Vista-Controlador). RoR se compromete a mejorar la eficiencia de los desarrolladores, con la esperanza de realizar la mayor cantidad de trabajo posible con la menor cantidad de código posible. RoR se compromete a mejorar la eficiencia del desarrollo de los desarrolladores y espera completar tantas funciones como sea posible con la menor cantidad de código posible. Según esta consideración, RoR tiene dos principios de diseño principales: uno es no repetirse (Don'tRepeatYourself) y el otro es convención sobre configuración (ConventionOverConfiguration); Con RoR, incluso puede completar una potente aplicación web con unas pocas líneas de comando y líneas de código simples, lo que mejora enormemente la eficiencia del desarrollo de los desarrolladores. En julio de 2004, se lanzó RoR. En poco tiempo, muchos desarrolladores lo buscaron. Hoy en día, RoR ha atraído la atención de desarrolladores de todo el mundo. La mejora de la eficiencia que aporta a los desarrolladores no tiene precedentes y el pensamiento de desarrollo de software que aporta a la industria también es de gran alcance. En el contexto de la popularidad de RoR, Ruby on Rails, un marco web que requiere el desarrollo de Ruby, ha impulsado naturalmente el desarrollo del lenguaje Ruby. En el "gráfico de tendencias de atención del lenguaje Ruby" a continuación, se puede ver claramente que el lenguaje Ruby entró en un período de rápido desarrollo después del lanzamiento de RoR en julio de 2004. Ruby es popular entre aplicaciones "superiores" como RoR, pero ¿qué pasa con Python? En el artículo "Hablando sobre el lenguaje Python", mencionamos que Python tiene una rica biblioteca API y, en términos de desarrollo web, existen marcos como Django y Turbogears. En términos de velocidad de ejecución, Python es más rápido que Ruby; En la comunidad, Python es más maduro que Ruby, pero ¿por qué Python aún no ha producido aplicaciones como RoR? Guido, el fundador de Python, explicó en una entrevista con InfoQ: "No me gusta KillerApplication porque permite que la mayoría de las personas o comunidades se concentren en un solo lugar. Python es un lenguaje ampliamente utilizado y existen muchos marcos de red excelentes basados en en Python. , como Django, etc. Pero Python no es KillerApplication. Pero Python no es KillerApplication, al menos no todavía. Creo que a medida que la comunidad Python se desarrolle, habrá muchas KillerApplications. Desde esta perspectiva, podemos ver que Python está adoptando un enfoque equilibrado y "grande e integral" en su desarrollo. En cuanto a "habrá muchas aplicaciones excelentes", supongo que tendremos que esperar y ver.
Solo en términos de "equilibrio", creo que es muy peligroso y, como lenguaje de programación, intentar hacer cosas como Java y otros lenguajes tradicionales, no es muy deseable. Tomando Java como ejemplo, en las aplicaciones web hay demasiados marcos para elegir. Afortunadamente, la idea de "usar diferentes marcos en diferentes escenarios" es muy buena. Sin embargo, en aplicaciones reales, ¿cuántos desarrolladores pueden elegir el marco de manera correcta y razonable de acuerdo con las características del proyecto? En lugar de terminar con los usuarios sin saber cómo elegir, la elección se hace por ellos desde el principio. Como usuario de Python, espero ver surgir la aplicación "asesina" de Python, impulsando así el rápido desarrollo de Python. Se puede decir que RoR hizo posible Ruby, pero ¿por qué Rails eligió Ruby? Ventajas de Ruby 1. Más potente que Perl, más orientado a objetos que Python "Más potente que Perl, más orientado a objetos que Python", esta es la intención original del fundador de Ruby, Matz, al diseñar Ruby. Python admite programación tanto procedimental como orientada a objetos, mientras que Ruby está completamente orientada a objetos. Ruby está completamente orientado a objetos. En Ruby, todo es un objeto, incluidos los tipos de datos básicos en Python, cada procedimiento o función es un método. Por ejemplo, para encontrar el valor absoluto de -3, en Python sería: abs(-3). Y en Ruby es -3.abs. Este enfoque OO es más intuitivo. 2. Funciones de sintaxis potentes Ruby no es tan bueno como Python en términos de simplicidad de sintaxis, pero para resolver problemas más complejos, las potentes funciones de sintaxis de Ruby pueden ayudar a reducir la complejidad del problema. Por ejemplo, Ruby implementa listas y bucles condicionales en forma de "bloque", que es más flexible y modificable que Python. Ruby tiene condiciones, bucles, etc. de una manera completamente funcional similar a Lisp. La iteración de Ruby funciona con estructuras abstractas de control de flujo. 3. Potentes funciones de procesamiento de cadenas y expresiones regulares. Matz cree: Rubygt (Smalltalk Perl)/2. La biblioteca de clases Ruby es una reorganización funcional del enfoque orientado a objetos del lenguaje Perl. Debido a que toma prestado muchas cosas de Perl, Ruby también es muy poderoso en términos de procesamiento de cadenas y expresiones regulares. 4. Un "lenguaje adhesivo" que no es rígido. También es un "lenguaje adhesivo", y Ruby es más flexible que Python. Después de usar Python por un tiempo, descubrirá que Python depende más de elementos de terceros. Ruby, por otro lado, depende más de sí mismo. Por ejemplo, Ruby puede usar la mayoría de las llamadas al sistema (desde UNIX), Ruby solo puede usarse para la programación del sistema, etc. Si Ruby tiene ventajas, ¿Ruby tendrá éxito? ¡Python también tiene muchas ventajas! Sí, también depende de las circunstancias. En tercer lugar, esto debe remontarse al auge del RoR. Ruby se lanzó oficialmente en diciembre de 1995 y entró en los Estados Unidos en 2000. En julio de 2004, RoR se lanzó oficialmente. Vale la pena reflexionar sobre el momento de aparición de RoR. En el "Gráfico de tendencias de atención del lenguaje Java" a continuación, puede ver que alrededor de julio de 2004, Java se encontraba en un estado de "declive" relativo. Cuando pensamos en Java, pensamos en J2EE. J2EE se ha utilizado ampliamente desde 1999 y 2000. Ha aportado la estandarización de conceptos básicos de nivel medio, como la gestión de transacciones. Sin embargo, debido a problemas como su eficiencia de desarrollo, dificultad de aprendizaje y rendimiento real, no ha logrado un éxito completo. práctica. Como tecnología central de J2EE, EJB (2.x) también ha sido criticado por su alto costo de aprendizaje, su extremadamente baja eficiencia de desarrollo y su alto consumo de recursos. En este contexto, en 2003 nació Spring Framework.