2009-12-05 16 views
6

Así que este hilo definitivamente NO es un hilo de por qué Python es mejor que Ruby o el inverso. En cambio, este hilo es para la crítica objetiva sobre por qué elegiría uno sobre el otro para escribir una API web RESTful que va a ser utilizada por muchos clientes diferentes (dispositivos móviles, navegadores web, tabletas, etc.).Razones objetivas para usar Python o Ruby para una nueva API web de REST

Nuevamente, no compare Ruby on Rails vs Django. Esta no es una aplicación web que dependa de marcos de alto nivel como RoR o Django. Me gustaría saber por qué alguien podría elegir una sobre la otra para escribir una API web RESTful que tenían que comenzar mañana, completamente desde cero y las razones por las que podrían ir de una a otra.

Para mí, las características de sintaxis y lenguaje son completamente superfluas. Ambas ofrecen una cantidad abundante de características y, sin duda, ambas pueden alcanzar los mismos objetivos finales exactos. Creo que si alguien arroja una moneda, es una buena razón para usar una sobre la otra. Me encantaría ver lo que algunos de los expertos en servicios web que son muy apasionados con su trabajo responden a por qué utilizarían uno sobre el otro en un formato muy objetivo.

+0

Por qué no php? Es uno de los idiomas más populares del lado del servidor web en estos días. Probablemente evitaría a Ruby principalmente porque Twitter estaba escrito en él, y apestaba. Pero eso podría ser más culpa de Twitter que Ruby's. – davr

+0

No hay una buena razón aparte de que realmente estoy aburrido de PHP y quiero aprender un nuevo idioma. – randombits

+0

Honestamente, las diferencias no son tales que esta es una pregunta que debe hacerse. Evalúe ambos desde la perspectiva de la sintaxis y la biblioteca y tome una decisión al respecto. Los sentimientos de las personas de una forma u otra no deberían importar. Y davr, amigo, ¿en serio? ¿Evitar algo porque alguien lo usó mal? De todas las opiniones sesgadas que flotan en la red, esa es probablemente la peor hasta ahora. –

Respuesta

5

Conozco a Ruby, no conozco a Python ... puedes ver hacia dónde me inclino, ¿no?

+1

Lo suficiente, de nuevo, esto no está fuera de línea. Respuestas como esta solidifican aún más que lanzar una moneda es legítimo. – randombits

+0

Pido disculpas, la respuesta salió un poco descarada, pero no fue así. ...Internet. Pero cuando pides elegir entre 2 idiomas muy competentes, se convierte más o menos en un lanzamiento de moneda. Y lo que determina las caras de esa moneda son los idiomas disponibles para ti. – nowk

+0

si no conoce ambos, entonces no debería responder. Responder en su caso es mear en esta muy buena pregunta porque para las personas que no tienen ambos idiomas y están pensando en escoger uno, esta pregunta es lo que se preguntan en sus cabezas y su respuesta realmente no ayuda – code511788465541441

4

Elija la que le resulte más familiar y la que, con mayor probabilidad, haga las cosas más rápido.

+0

También respuesta justa dada la pregunta. ¡Gracias! – randombits

4

Sí, voltea una moneda. La verdad es que vas a encontrar marcos minimalistas en cualquier idioma. Heroku es una razón bastante fuerte para decir Ruby, pero puede haber otros hosts similares para Python. Pero Heroku hace que sea estúpido fácil desplegar tu API en la nube ya sea Rails o algún otro proyecto de Ruby que use Rack. WSGI no te da esta opción.

En cuanto a la realidad como aplicación, sin embargo, supongo que usted encontrará que son los dos idiomas completamente competentes y una alegría a programar en.

+5

Si está buscando algo equivalente a Heroku para Python, diría que Google App Engine es una buena opción. – toluju

+0

Impresionante, lo comprobaré. ¡Había olvidado que corrían Python! Muy emocionante. –

5

Yo diría que lo importante es que, independientemente de lo que elija, asegúrese de que su elección no se filtre a través de su API REST. No debería importarle al cliente de su API que elija.

+0

+1: Buena idea para un criterio objetivo. Hace que la decisión del lenguaje sea discutible, lo cual es un excelente punto adicional. –

2

Creo que son bastante parejos en características. Prefiero Python, pero lo he estado utilizando durante más de una década, así que admito que lo que sigue es totalmente parcial.

IMHO Python es más maduro: hay más bibliotecas para él (aunque Ruby puede estar poniéndose al día), y las bibliotecas incluidas creo que están mejor diseñadas. El proceso de evolución del lenguaje también es más maduro, con cada característica propuesta debatida en público a través de las PEP antes de tomar la decisión de incluirlas en un comunicado. Me da la impresión de que el desarrollo del lenguaje Ruby es mucho más ad-hoc.

Python es ampliamente utilizado en muchas áreas aparte del desarrollo web: computación científica, tuberías de renderizado CGI, informática distribuida, herramientas de GUI Linux, etc. Ruby recibió muy poca atención antes de que llegara Rails, así que tengo la impresión de que El trabajo de Ruby se centra en el desarrollo web. Eso puede no ser un problema si eso es todo lo que quiere hacer con el lenguaje, pero sí significa que Python tiene una base de usuarios más diversa y un conjunto más diverso de bibliotecas.

Python es más rápido también.

+0

"Prefiero Python, pero lo he estado utilizando durante más de una década, así que admito que lo que sigue es totalmente parcial". Eso contradice un poco el título de la publicación, ¿no es así? randombits quiere una opinión objetiva, es decir, no sesgada, y sin embargo admites libremente que tu opinión es parcial y luego procedes a darla de todos modos. Venga. –

+0

@Srdjan Pejic: Proporcione un ejemplo de una determinación "objetiva" para seleccionar un lenguaje de programación. Pedir un "objetivo" es agradable, pero proporcionar una medición realmente objetiva es algo diferente. ¿Quizás conozcas una medición objetiva real? Si es así, sugiérale que mida al señalar que algo no es "objetivo". –

+0

TODAS las opiniones están sesgadas por el conocimiento y la experiencia del Dictador. Sin embargo, la mayoría de las cosas que mencioné podrían medirse objetivamente: hay muchos puntos de referencia que muestran que Python en general es más rápido que Ruby. Si eso es importante para ti es una cuestión de opinión. De forma similar, el número de bibliotecas Python/Ruby y su distribución en varios dominios problemáticos podría medirse objetivamente, aunque no lo he hecho. Una vez más, si eso es importante o no va a depender de las necesidades del individuo. –

1

Cualquiera de los dos hará un gran trabajo y aprenderá algo nuevo de otra manera. ¿Por qué no pasar unos días con cada uno? Vea qué tan lejos puede llegar con un subconjunto simple del problema, luego vea cómo se siente. ¡Para obtener puntos de bonificación, informe aquí y responda su propia pregunta!

2

Rubí + Sinatra

Muy fácil de usar con/como middleware estante - alguien ya ha mencionado heroku

Cuestiones relacionadas