Como habrás notado en el título, esta no es una pregunta "PHP o Ruby", o una pregunta "PHP vs. Ruby". Esta es una pregunta sobre cómo aprovechar PHP + Ruby en el mismo negocio.
Yo mismo soy un desarrollador de PHP, amo el lenguaje por su conveniencia y amo especialmente el ecosistema de recursos que lo rodean: Joomla, Drupal, Wordpress, Symfony2, Doctrine2, etc. Sin embargo, el lenguaje en sí puede ser un poco decepcionante a veces. .
OTOH, Ruby parece un lenguaje muy hermoso y, al estudiarlo superficialmente en varios aspectos, podría decir que es más delgado que Python como lenguaje per se. Sin embargo, por lo que he visto, solo hay RoR haciendo ruido, y no me gusta mucho RoR (principalmente porque su capa de modelo).
Como co-CEO y CTO de mi empresa, estoy tratando de pensar fuera de la caja, ya que quiero comenzar a centrarme en el lado humano de la tecnología y ver si es sensato usar PHP y Ruby. Aquí hay algunos pensamientos al azar:
- Las personas de Ruby parecen ser programadores más adecuados que las personas de PHP (en términos de promedios), sé que la declaración anterior es un tanto descabellada porque se puede escribir PHP muy bueno y bien diseñado, pero diría que la cultura del programador de Ruby es mejor que PHP's.
- Lo que pasa con Ruby es que parece más adecuado para un desarrollo rápido, realmente no sé si este es solo el caso de RoR, pero sí sé que hay ciertas prácticas (tal vez no tan buenas) como el parcheado de monos que permiten a los negocios necesita ser satisfecho más rápido.
- Desde el punto de vista del marketing (sí, a veces es necesario aprovechar el BS de marketing por el bien de su empresa) Ruby parece mejor mientras PHP tiene algunos estigmas.
- PHP 5.4 está trayendo rasgos , y eso es mejor / más limpio que los mixins. Eso realmente podría hacer que PHP sea tan delgado como Ruby, o más, para ciertas cosas.
Ahora, concretamente, mis preguntas:
- ¿Un programador de PHP querría aprender Ruby ?, sé que sí, pero a la inversa, ¿un programador de Ruby querría aprender PHP?
- ¿Qué tipo de proyectos o situaciones serían más adecuados para Ruby que no son adecuados para PHP?
- ¿Cuál es el ecosistema real de Ruby ?, aparte de RoR, no he visto otras tecnologías / frameworks publicitados (he visto RSpec, pero confieso ser un novato total en lo que realmente consiste BDD y sus implicaciones).
- Suponiendo que hay un cierto tipo de proyectos ideales para Ruby, ¿habría algún momento en el que sea mejor moverlo a PHP? Sé que PHP puede manejar muchas cosas, pero he leído que Ruby tiene sus limitaciones al escalar (¿o es eso RoR ?, ¿o es una tontería para ambos?).
- Finalmente y lo más importante, ¿sería sensato mantener proyectos en dos idiomas ?, o ¿es simplemente estúpido? Como dije, parece que Ruby es más ágil a corto plazo y eso puede hacer que un proyecto suceda y tenga éxito, pero no estoy tan seguro de eso a largo plazo.
Estoy buscando ideas principalmente de personas que conozcan bien las fortalezas y debilidades de los lenguajes, preferiblemente ambos, y el ecosistema de Ruby en la práctica real, es decir: marcos y aplicaciones como las que cité del ecosistema de PHP.
fuente
Francamente, sus preguntas no me parecen claras, pero intentaré responderlas de todas formas.
Sin ofender, pero esta pregunta no tiene respuesta. Realmente depende de demasiados factores, muchos de los cuales están vinculados a la personalidad del programador. Respuesta fácil: por supuesto, ¿por qué no? Es una herramienta más para crear sitios web.
En cuanto a los proyectos, ambos son igual de adecuados (si
malno recuerdo, el rubí corre más lento, aunque esto es para tomar con una pizca de sal desdeAFAIK, stackchange está construido con RoR[nunca leí los puntos de referencia reales]). Una situación que encajaría una más que la otra es si tiene la intención de utilizar un marco particular, o si su equipo está formado por personas que tienen más experiencia en uno de los dos idiomas. Realmente no creo que haya ningún tipo determinado de proyecto que sea "ideal" para un lenguaje específico. Realmente se reduce a los detalles de cada proyecto (e incluso entonces, las diferencias serían sutiles).Ruby on Rails es una parte enorme del éxito de Ruby. Ruby mantuvo un idioma desconocido hasta que RoR salió. Hay muchos proyectos interesantes construidos en Ruby, pero nada se acerca en términos de éxito y aceptación por parte de la comunidad. Hay CMS construidos sobre RoR que son bastante conocidos. Lovd by Less por ejemplo.
El único caso que puedo imaginar es justo después de la creación de prototipos con Ruby, si cree que PHP cedería a un desarrollo más rápido. Pero una vez que se inicia un proyecto, ¿cómo piensa "moverlo a PHP"? Puerto todo el código que se ha escrito?
Si no tienes una bazuca apuntada a tu cabeza, absolutamente no.Si te refieres a mantener dos proyectos completamente diferentes en dos idiomas diferentes, entonces absolutamente. No creo que vaya a pasar mucho tiempo con el mismo idioma. Por ejemplo, salto constantemente de un idioma a otro. Domino solo unos pocos, pero sé lo suficiente de los demás para salir de cualquier situación (hasta ahora). Soy autónomo, por lo que las personas que trabajan en empresas pueden tener una experiencia diferente. Pero mi punto es que mantener diferentes proyectos en diferentes idiomas es fácil (suficiente) y divertido.
fuente
Si desea desarrollar algunas aplicaciones de escritorio y desea usar el mismo lenguaje de programación, entonces Ruby (particularmente el JRuby) será más adecuado que PHP. /programming/1129383/non-trivial-desktop-apps-that-use-ruby
fuente
Al leer, tenga en cuenta que soy un desarrollador de Ruby on Rails y que respondo desde ese ecosistema. Mis puntos de vista estarán sesgados en esa dirección.
Absolutamente no, en la mayoría de los casos. No solo porque no me gusta PHP (no me gusta, pero lo uso), sino porque los conjuntos de herramientas tienen diferencias ideales fundamentales. Hay muchas herramientas como rake y rspec que ayudan con algunas de TDD en el mundo del rubí. En la mayoría de los tutoriales de ruby (y ciertamente rieles) la prueba es lo primero. Eso no quiere decir que no pueda hacer esto en PHP, es solo que las convenciones son diferentes. Y las diferencias convencionales entre los dos idiomas son, en general, directamente opuestas.
Aplicaciones de escritorio, scripts de shell, aplicaciones MVC (rieles nuevamente) y pequeñas aplicaciones de consola. No es que ninguno de estos se pueda hacer con php, Ruby solo tiene un mejor soporte. Cuando escribo una aplicación Rails (lo siento), a menudo escribo scripts en ruby. Esto permite que mis scripts de implementación o configuración estén en el mismo lenguaje que mi aplicación, donde con PHP ni siquiera trataría de escribir un script de shell en PHP. Solo usaría bash. He escrito aplicaciones Ruby QT y aplicaciones MVC (tanto Rails como no) y ruby, y sus bibliotecas circundantes simplemente "funcionan mejor" para esos casos.
Esto es una especie de error. RoR es popular porque hace bien su trabajo, pero puede haber otros conjuntos de herramientas / pilas que usan ruby en su núcleo. Son menos populares porque están entrando en un espacio que ya tiene alternativas. Por mi parte, me gusta escribir aplicaciones GUI rápidas en ruby. Pero python, C #, VB, LISP, etc., etc. ya pueden hacer esto. RoR fue un cambio de juego. Por eso es popular. Lo mismo puede decirse de PHP, denomine un marco PHP popular. Hay algunos, pero elimine productos (como WordPress) de la lista, y no quedará con un montón.
Esta es una pregunta difícil y tienes que preguntar, ¿qué idioma es mejor para mi proyecto? Nunca escribiría un blog en Rails. Sé que ese es el ejemplo de tutorial estándar, pero si quieres un blog, entonces WordPress es la herramienta adecuada. Lo mismo se aplica aquí. Si se encuentra con un ejemplo sólido de la necesidad de cambiar los idiomas de Ruby, las limitaciones técnicas que enfrentará también impedirán PHP.
Ruby es genial a la larga. El mayor obstáculo para el éxito a largo plazo no es el lenguaje, sino el desarrollador. En cuanto al mantenimiento de dos idiomas, depende de cómo defina un proyecto. Tengo algunos proyectos que tienen una gran aplicación en rails, y un blog o sitio de ventas usando wordpress / dupral / some php. Los considero proyectos separados. Diré que cuantos más idiomas termines admitiendo, más difícil será encontrar un buen desarrollador que sea bueno en todos los idiomas. Por ejemplo, uso y recomiendo wordpress, pero no estoy tan "bueno" en PHP como en RoR. Si un cliente realmente quisiera la mitad de su producto principal en PHP y la otra mitad en RoR, realmente tendría que averiguar por qué, y dependiendo de su respuesta probablemente rechazaría el trabajo.
fuente