¿Qué ventajas de cambiarme a ruby me puede dar como programador de Python? [cerrado]

7

Esta es mi primera pregunta sobre stackoverflow, así que tenga paciencia conmigo. Intento mantenerme alejado de cualquier forma de pesca de arrastre o llamas ya que tengo un gran respeto por los dos idiomas.

Soy un programador de Python (aunque no soy un experto) y me encanta. Mi primer idioma fue C ++. Mi línea de trabajo (desarrollo web) me está empujando hacia otros idiomas como php y javascript.

Recientemente, he estado muy emocionado por la creciente popularidad de Ruby. Sin embargo, solía tener la impresión de que Python y Ruby eran tan cercanos que no tenía mucho sentido tratar de aprender y dominar ambos. Pero tengo la sensación de que estaba equivocado, de ahí mi pregunta:

Me gustaría saber de los programadores de Python que han cambiado completamente a ruby o han agregado ruby a su conjunto de herramientas.

¿Qué beneficios específicos obtuviste al cambiar (total o parcialmente) a Ruby desde Python?

Idealmente, me gustaría escuchar experiencias del mundo real.

    
pregunta 03.03.2011 - 01:09

7 respuestas

8

Esta es una comparación bastante buena:

enlace

Creo que con Ruby puedes hacer que más Magic ocurra detrás de la escena mientras que tu código sigue pareciendo muy normal. (Al igual que en Rails, gran parte de la lógica SQL se genera de forma automática y mágica, y su código puede verse como una simple declaración como 'books.find (' Moby Dick '). Price + = 20' donde en tiempo de ejecución se conectaría una base de datos hace una consulta, actualiza, etc.

Python por otro lado es mucho más rápido. Al menos haría algunos tutoriales para ambos y luego me especializaría en lo que más te guste o se use en tu trabajo.

También echa un vistazo a Google's Go (golang). Que es un lenguaje interesante, estático y compilado con muchas influencias de Python y sus amigos.

    
respondido por el James Dean 03.03.2011 - 02:04
6

Aprenderás a pensar los problemas de manera diferente. Ruby y Python son comparables en capacidad y rendimiento, pero Ruby parece fomentar la programación de estilo funcional, mientras que Python parece fomentar el estilo de procedimiento.

Considere la tarea de dividir una cadena por un token, invertir los elementos y unirlos con otro token. En Ruby harías algo como esto:

"a,b,c".split(/,/).reverse.join("-") # => "c-b-a"

En Python, probablemente hagas algo como esto:

l = "a,b,c".split(",")
l.reverse()
"-".join(l) # => "c-b-a"

Algunos podrían argumentar que un estilo es mejor que el otro para cosas como legibilidad / mantenimiento, facilidad de lectura o comprensión, etc. Pero de cualquier manera, usted pensará acerca de los problemas de manera diferente y solo podrá ganar en general. que.

    
respondido por el maerics 03.03.2011 - 02:05
5

La mayoría de las cosas que puedes hacer en Ruby también puedes hacerlo en otros lenguajes de programación como Python, así que para mí la importancia de Ruby no está en las características del lenguaje en sí, sino en la cultura y la forma de pensar. Hay dos grandes beneficios:

  1. Dado que la forma de hacer las cosas de Ruby a menudo es única, abre tu mente a nuevas técnicas y terminas siendo mejor programando en todos los idiomas después de aprender Ruby. (Mucha gente viene de otros idiomas y Ruby los impresiona, pero luego se dan cuenta de que no hay razón para que no hayan programado así en Python, PHP o lo que sea). En el trabajo, hago todo lo relacionado con .NET y el aprendizaje de Ruby sigue siendo extremadamente útil.
  2. Mi experiencia ha sido que la comunidad Ruby está más unida que en otros lenguajes de programación. Parece que cada programador de rubíes en el mundo está publicando su código en github y publicando gemas. Dado que es tan fácil participar en la comunidad de código abierto, hay mucha actividad.
respondido por el Graeme Hill 03.03.2011 - 03:02
2

No hay ninguna ventaja real. Con Python tienes todo lo que puedes obtener de Ruby / Rails, ya sea un marco web o un conjunto de bibliotecas para desarrolladores web. La ventaja de python es que tienes muchas bibliotecas que no están destinadas directamente a la web: procesamiento de idioma, procesamiento de imágenes, análisis xml / html, etc. ...

    
respondido por el vonPetrushev 03.03.2011 - 01:30
1

Creo que a los desarrolladores de Rails les gustan sus "magic" y la programación en python / django tiene un estilo de programación diferente, quizás más deliberado.

    
respondido por el highBandWidth 03.03.2011 - 02:07
1

Bueno, el beneficio más obvio que obtendrás es tener la capacidad de aprender y usar Ruby on Rails. Existe un mercado tan grande para esta tecnología relativamente nueva que aprenderla no sería una mala idea.

Sintaxis, no verás mucho de una vista diferente. Son muy similares, con Ruby aprendiendo hacia un enfoque más funcional. Entonces ese sería otro beneficio, que cuando quiera cambiar a un lenguaje funcional, no le parecerá que le es ajeno. En cuanto al paradigma.

Yo digo ¡adelante! Compre el libro Pickaxe y obtenga la codificación. Recomiendo usar una distribución de Linux como su entorno de desarrollo. Consulte mi pregunta enlace .

    
respondido por el Sergio 03.03.2011 - 02:19
0

Solo tardarás unas ocho horas en llegar a Agile Web Development with Rails , así que, ¿por qué no probar Ruby y ver? Prefiero Ruby a Python, pero aprendí Ruby primero.

    
respondido por el kevin cline 03.03.2011 - 04:31

Lea otras preguntas en las etiquetas