La mayoría de los lenguajes de programación tienen algunas decisiones de diseño que influyen en su uso y aplicabilidad.
Por ejemplo:
- Python se centró en la capacidad de mantenimiento / legibilidad del código y la sangría era parte del lenguaje en sí.
- La intención de Java era ser OOP multiplataforma 'más fácil' y 'más amigable' que C ++
- Objective-C fue construido como un contenedor OO alrededor de C sin conocer el futuro de C ++ en ese momento
- Erlang está diseñado para sistemas altamente tolerantes a fallas y concurrentes
- PHP diseñado para manejar la creación dinámica de páginas web
- CoffeeScript diseñado para exponer las partes buenas de Javascript y agregar azúcar sintáctico OOP y ocultar los matices (globales, etc.) de JS 'detrás de escena', etc.
Cada lenguaje de programación trató de explotar y aprovechar un nicho particular en mi humilde opinión. Lo anterior son mis perspectivas sobre cuáles fueron los principios fundacionales de los lenguajes de programación y que gobernaron su evolución y capacidad de adopción generalizada. Por supuesto, hay muchos más, pero la lista solo pretende ser un ejemplo.
Sin embargo, me costó entender los principios fundacionales en los que se basa Ruby y su creciente popularidad. ¿Cuáles fueron los principios fundadores de Ruby que lo hacen popular hoy en día? ¿O es el genio de un hombre que diseñó el marco de Rails? ¿Si esto último fue que Ruby hizo el diseño de Rails mejor / más fácil / más rápido? ¿En qué sentido?
La razón más comúnmente citada según su creador es '... quería un lenguaje de programación divertido y débilmente tipado'. ¡No lo veo como una razón para crear un nuevo lenguaje de programación por completo! La programación es pura diversión en mi humilde opinión independientemente del idioma (cada idioma tiene algunas partes malas, pero uno lo evita o vive con él).
Entonces, ¿qué nicho explotó (o lo hace) Ruby que no es explotado por los idiomas actuales? ¿Cuál es el "punto fuerte" (USP) de Ruby que ha llevado a su capacidad de adopción generalizada? ¿Qué hizo Ruby que no se había hecho antes (o fue extremadamente difícil)?
No soy un programador de Ruby, sino solo un novato de Ruby y de ahí la confusión.
Descargo de responsabilidad : Esta NO es una guerra de llamas y no estoy buscando respuestas de tipo Ruby vs Lenguaje de programación. Estoy buscando las decisiones de diseño en las que se basa Ruby que han llevado a una adopción generalizada. ¿Qué nicho satisface Ruby para haberse vuelto popular o se lo atribuye exclusivamente a Rails?
Esto no responde directamente a la pregunta del título, pero aborda algunos puntos planteados (es decir, por qué se creó Ruby)
Citas de Yukihiro 'Matz' Matsumoto, creador de Ruby, que pueden ayudar a explicar qué inspiró su creación:
Básicamente, Matz quería un lenguaje extremadamente orientado a objetos diseñado para la felicidad del programador.
fuente
+
de1+1
un método.Ruby (junto con rieles) hizo popular la convención sobre la configuración .
La forma antigua (no rubí sobre rieles) era
Con la convención sobre la configuración, el trabajo base para esto se realiza automáticamente:
contras: tienes que aprender todas las convenciones para que aprender ruby on rails en la primera carrera sea más difícil.
Pros: una vez que conoce las convenciones, es bastante fácil entender el código de otros desarrolladores de Ruby on Rails porque cada uno se ve obligado a seguir las mismas convenciones.
mientras tanto, la convención sobre la configuración ha entrado en muchos ecosistemas de codificación
fuente
Primero, Ruby es un "lenguaje actual". Quizás te refieres a "Idiomas que eran populares cuando Ruby se creó en 1995".
Me gusta Ruby por las mismas razones que me gusta Perl:
Es poderoso y expresivo. Puedo escribir sobre una línea de código Ruby en lugar de cinco líneas de Java o C ++. No hay repetición que no se pueda factorizar con un mínimo de alboroto.
Es dinámico. Los métodos y las propiedades se pueden crear en tiempo de ejecución, por lo que puedo envolver objetos alrededor de cosas definidas externamente, como tablas de bases de datos, sin duplicar la definición de esas cosas y sin reconstruir la aplicación.
Existe un excelente libro sobre el lenguaje ( Programming Ruby ) que es legible y completo.
Hay un único repositorio para paquetes de dominio público y una conveniente interfaz de línea de comandos para el repositorio.
Pero me gusta más Ruby que Perl porque es más legible.
Hay numerosas páginas que comparan Ruby con Python. Me gustan los dos. Prefiero Ruby, pero tengo una experiencia limitada con Python.
fuente