2009-02-03 11 views
7

Decidí aprender Ruby, y quería preguntar qué tipo de cosas creía que Ruby hacía mejor que otros idiomas, las instalaciones que tiene, y la posición del idioma en la industria actual, entre otros idiomas, es un fuerte competidor ? ¿A qué público objetivo apunta, desarrolladores web/programadores de GUI/10 line scripters? Tan amable de darme su opinión :)¿Qué tipo de cosas codifica en Ruby? ¿En qué tipo de cosas se destaca Ruby en comparación con otros idiomas?

Respuesta

1

Ruby es mucho mejor en todo lo relacionado con el procesamiento de texto, y es muy bueno en ser flexibles , es decir, para dar a los desarrolladores la potencia para escribir código muy elegante y fácil de leer. Si quieres velocidad, este no es el lugar, pero para muchas cosas no importa.

Si tuviera que dar una cosa en la que Ruby se destaca, es que está diseñada fundamentalmente para ser muy legible - Matz escribe sobre esto en Beautiful Code, ese código bien escrito es un ensayo para comunicar ideas a otras personas , no a computadoras.

1

Lo que más me gusta de ruby, a diferencia de python, son los bloques y el comando retry. Es realmente útil y puede conducir a un código increíblemente más legible.

0

Una de las principales razones para aprender Ruby es hacer un uso completo de su fantástico marco RoR para crear aplicaciones web. Además de esto, Ruby puede hacer casi todo lo que otros lenguajes populares pueden hacer. Ruby está mejor documentada, tiene una gran comunidad y, en el caso de RoR en particular, utiliza las mejores prácticas. Ruby tiene una legibilidad impresionante. Tiene algunos conceptos agradables como mixins, blocks, etc. que lo hacen un excelente lenguaje OO.

2

Ruby es un buen lenguaje para diseñar y utilizar "Idiomas internos específicos de dominio", DSL para abreviar. Un DSL es una notación específicamente diseñada para representar un dominio comercial particular; "interno" para distinguir entre notaciones que son incompatibles con el lenguaje de programación de host (un ejemplo sería anotaciones XML para archivos de compilación de proyectos) y anotaciones que son una variante del lenguaje de host (por ejemplo, el equivalente de Ruby de Make, llamado Rake) . Ver p. Martin Fowler's article.

8

Personalmente, tengo 2 casos de uso del Ruby:

scripts de mantenimiento. Tengo muchas tareas en el trabajo que clasifico como "mantenimiento". Estas tareas van desde manipular datos de una hoja de cálculo de Excel e importar a una base de datos de SQL Server hasta limpiar un directorio lleno de archivos para generar datos de prueba que no quiero crear manualmente. Algunos de estos scripts son 10 scripts de línea rápidos y algunos de ellos se expanden en pequeñas aplicaciones que uso con bastante frecuencia.

Hay algunas cosas que hacen rubí muy agradable para esto:

  1. Es muy fácil comenzar con un guión. Las herramientas como Rake están diseñadas para organizar tareas, y no es necesario crear un montón de basura de marco adicional solo para comenzar.

  2. Bibliotecas. Sé que otros idiomas supuestamente tienen bibliotecas superiores, pero hasta ahora las bibliotecas de Ruby se han adaptado a mis necesidades. Y RubyGems hace que sea realmente fácil instalar una biblioteca sin tener que descargarla e instalarla manualmente.

  3. Ruby tiene muchas características integradas que hacen que leer y procesar archivos sea muy simple.

  4. DSLs. Hay muchas tareas que son repetitivas y se prestan para crear lenguajes específicos de dominio. Ruby tiene una sintaxis muy flexible y tiene algunos aspectos funcionales que te dan mucha flexibilidad en la forma en que escribes tus programas. A menudo, puede resumir la funcionalidad común en una DSL adecuada para su tarea.

La otra cosa que utilizo para Rubí (en menor medida) es el desarrollo web. El framework Ruby on Rails es lo que más he usado, pero jugué un poco con Merb antes del anuncio de que se estaba fusionando con Ruby on Rails.

Me gusta Ruby on Rails por todas las razones por las que me gusta Ruby. De hecho, son principalmente las características de Ruby las que hacen que Ruby on Rails sea genial. Rails en sí es un lenguaje específico de dominio escrito en Ruby que hace que el desarrollo web sea mucho más divertido (en mi opinión) y acelera bastante las cosas.

Creo que muchas personas piensan lo mismo que yo sobre Ruby, y la comunidad parece muy activa y vibrante. Creo que es un gran lenguaje para aprender que se usará durante bastante tiempo.

+0

En el punto de "scripts de mantenimiento", hay un libro bastante bueno llamado "Integración empresarial con Ruby", un libro completo sobre cómo pegar cosas junto con Ruby. No conozco ningún otro idioma que tenga un libro completo dedicado a escribir código de pegamento en él. – womble

+0

Oh, interesante. No había oído hablar de ese libro. Otro libro que me enseñó sobre el uso de Ruby para todo tipo de cosas es el Ruby Way. –

0

ruby ​​es ideal para prototipos. es increíble lo rápido que puedes escribir un profe de concepto en ruby. el lenguaje le ofrece todo lo que necesita y se mantiene fuera de su camino

0

@gs: Ruby ha desacreditado recientemente la instalación de reintenta.


Las expresiones lambda en Ruby utilizan una sintaxis muy liviana, lo que las hace pseudo-invisibles.

Se proporcionan cosas oscuras como bloques anónimos, (Actualmente no estoy al tanto de muchos otros idiomas que tienen esta disposición).

Existe consistencia de sintaxis, incluso con gestos que pueden utilizarse en lugar de otros, tiene un sentimiento casi inglés, creando un entorno donde incluso los novatos más ignorantes se sentirían cómodos. El código es mucho más corto y compacto que los mantras C/Java y Python convencionales.

Todo es un objeto.

Permite la manipulación y el control internos del lenguaje específico del dominio.

Probablemente haya docenas más que podría enumerar, y posiblemente aún más contras; Tiendo a escribir pequeños programas rápidos y sucios que necesito a diario; No he estado codificando durante mucho tiempo, pero definitivamente es algo en lo que un principiante debe estudiar. Sé que disfruto trabajando con él :)

Probablemente deberías consultar this si quieres aprender Ruby. También debería leer this demasiado

The Ruby Programming Language http://www.rubyinside.com/wp-content/uploads/2008/02/hummingbird-book-the-ruby-programming-language.jpg

+0

@Achluon: ¡No puede ser! ¿Alguna idea de por qué? –

4

código que casi todo, excepto las macros de Excel y de alta resistencia/de larga duración funciones matemáticas con Ruby. Y usualmente hago un prototipo de este último en Ruby primero. No he escrito nada de UI que no sea web por un tiempo y lo pensaría dos veces antes de usar Ruby para eso, aunque para ser honesto, lo pensaría dos veces antes de hacerlo. shoes y wxRuby son interesantes.Si yo iba a escribir un juego, creo que mis ambiciones limitadas serían atendidos por gosu

En este momento, "todo" en su mayoría se compone de:

  • rieles y cosas relacionadas
  • la automatización de tareas y scripting
  • Project Euler rompecabezas de codificación

"¿Qué hace mejor?" es un poco subjetivo Prefiero Python y Perl, al menos en parte debido a su diseño fundamentalmente orientado a objetos. Me gusta su concisión, cerca de Perl pero más legible. Me gusta la apertura de las clases integradas, lo que me permite agregar métodos en lugar de tener que crear nuevas clases. Estoy fascinado por la variedad de implementaciones alternativas que están apareciendo y la posibilidad de aplicar una sintaxis cómoda a los nuevos dominios problemáticos.

No es muy rápido (aunque cada vez es más rápido), pero para ser honesto, en general es lo suficientemente rápido: no tengo una experiencia significativamente diferente entre programas que tardan 10 milisegundos y 10 microsegundos.

0

En todos los casos en que utilizaría una secuencia de comandos Perl antes: scripts de administración del sistema, procesamiento de texto, acceso a bases de datos como Oracle, LDAP. Probablemente el 95% de mi programación actual se hace en Ruby. Las aplicaciones web con frameworks como Ruby on Rails & Merb.

Cuestiones relacionadas