2009-07-19 23 views
9

Estoy pensando en aprender Ruby y Python un poco, y se me ocurrió, ¿para qué sirve el rubí/python? ¿Cuándo usar ruby ​​y cuándo python, o para qué ruby ​​/ python no es? :)python y ruby: ¿para qué usarlo?

¿Qué debo hacer en estos idiomas?

gracias

+1

Esta pregunta debería etiquetarse subjetiva. Y, de todos modos, ¿ya no tenemos suficientes python vs ruby ​​holywars? PD. python> ruby ​​(empujar con el dedo) – shylent

+2

Duplicado: http://stackoverflow.com/questions/551465/python-or-ruby-for-a-net-developer, http://stackoverflow.com/questions/234721/what -are-the-biggest-differences-between-python-and-ruby-from-a-philosophical-per, http://stackoverflow.com/questions/673964/should-i-learn-ruby-or-python, http : //stackoverflow.com/questions/405165/please-advise-on-ruby-vs-python-for-someone-who-likes-lisp-a-lot –

+1

Busque "[python] [ruby]" y lea todas esas preguntas Después de hacer eso, encuentre la manera de hacer que su pregunta sea única y diferente. http://stackoverflow.com/questions/tagged/ruby+python –

Respuesta

11

Son buenos para la mayoría de prototipado rápido, rápido desarrollo, programas dinámicos, aplicaciones web y scripts. Son idiomas de uso general, por lo que puede usarlos para casi todo lo que desee. Tendrás tiempos de desarrollo más pequeños (en comparación con, por ejemplo, Java o C++), pero peor rendimiento y menos errores estáticos.

También puede desarrollar aplicaciones de escritorio en ellas, pero puede haber algunas complicaciones menores en el envío (ya que generalmente también tendrá que enviar el intérprete).

No debe hacer un código crítico o cálculos pesados ​​sobre ellos; si necesita estos elementos, hágalos en un lenguaje más rápido (como C) y haga un enlace para el código. Creo que Python es mejor para esto que Ruby, pero podría estar equivocado. (Otoh, Ruby tiene una fuerte metaprogramming)

+1

Eh, la unión de C a ruby ​​es bastante fácil (o, al menos, lo es para mí). Aparte de eso, estoy de acuerdo contigo. – rampion

+0

¿De qué manera es Ruby más fuerte en la metaprogramación? – aehlke

+0

Puede empaquetar fácilmente el intérprete en su aplicación y distribuirlo como un binario utilizando algunas herramientas como py2exe y otras. – aehlke

6

Si usted quiere saber lo que la gente realmente los utilizan para, echa un vistazo a Python Package Index, RubyForge, y la búsqueda SourceForge o incluso StackOverflow.

Como dice shylent, fácilmente puede entrar en guerras santas sobre lo que se debe usar. Tanto Ruby como Python son populares especialmente para el prototipado, pero también puede crear software de producción como Ruby on Rails, Zope y Mercurial.

Lo que uno no los usaría es un código que es crítico para el rendimiento (la mayoría no lo es) o cerca del metal.

2

Son buenos para todo.

Ruby tiene una ventaja para munging textfiles awk/perl style. Eso es un poco más fácil en Ruby. Por lo demás, creo que Python tiene un borde de cuerda, y que es TOTALMENTE subjetivo. Consulte What does Ruby have that Python doesn't, and vice versa? y el post de blog de seguimiento http://regebro.wordpress.com/2009/07/12/python-vs-ruby/.

Utilizo Python para cada cosa relacionada con la programación que necesito hacer, y lo haré hasta que haya un cambio completo en el paradigma de programación que impulsa el desarrollo de OO en el stoneage.

1

Para evitar la guerra santa y tal vez darle otra perspectiva que digo (sin solicitar más información de lo que parte divertida de la programación de la pregunta-ere piensa que es genial hacer):

Learn Python primero!

Si aún no has utilizado ningún lenguaje de scripting, te recomendaría python. El núcleo de python es algo más limpio que el núcleo de ruby ​​y si aprendes el núcleo básico de scripting con python primero, obtendrás más o menos un bonus de rubí de aprendizaje.

Deberá (porque usa Python) escribir el código que se ve muy limpio y tiene una buena sangría desde el principio.

¡Las dificultades sobre qué aprender es lo que realmente intentarás resolver!

Si está buscando un nuevo lenguaje de producción para resolver X, la respuesta se vuelve más complicada. ¿X es parte del núcleo del lenguaje? ¿El lenguaje de hecho fue inventado para resolver X?

Si la pregunta era: ¿Qué lenguaje de programación debería dominar y eventualmente llegar a Nirva? Mi respuesta es: ¡no tengo ni idea! (CLisp, Scheme48, Erlang o Haskell probablemente deberían haber estado en mi lista final)

PS. Sé que este no es el lugar en respuesta a la pregunta muy simplificada en la publicación. qué puede hacer ruby ​​que python no puede o qué puede hacer python que ese ruby ​​no puede hacer.

El punto es que cuando te pones a aprender algo, normalmente tienes una agenda oculta, por lo que intentas resolver tu problema favorito en cualquier idioma una y otra vez.

Si realmente está listo para aprender sin tener una agenda, creo que python en su forma más básica es una manera limpia y nítida y debería poder usar el mismo estilo cuando se usa ruby.

DESCARGO DE RESPONSABILIDAD: Prefiero el rubí en una producción (instalación comercial) sobre python. Prefiero el rubí sobre el pitón en las ventanas. Prefiero rubí a python en las cosas que hago en casa. Hago eso porque las cosas que realmente me gusta resolver son más divertidas de resolver en ruby ​​que en python. Mi estilo/hábito de programación tiende a encajar mejor en ruby.

Cuestiones relacionadas