Soy un desarrollador de PHP, ¿debería aprender Ruby on Rails o Python Django?

La elección del idioma tiene muchas razones. Algunos se enumeran a continuación:

1) Aplicación o característica que se está creando

2) Infraestructura utilizada

3) Presupuestos para el proyecto

4) Disponibilidad de recursos

5) Curva de aprendizaje de nuevos recursos.

Según las cinco razones anteriores, estas son las opciones:

1) Aplicación o característica que se está creando:

Go / NodeJS: requisitos de concurrencia muy alta, sistemas basados ​​en eventos y tareas de procesamiento asíncrono para admitir un gran número de usuarios de múltiples operaciones o aplicaciones intensivas en datos.

Python: trabajar con datos, minería de datos, matemática, algoritmo o aplicaciones basadas en ML / AI.

Java: Multi-threading estable o maduro o big data

PHP: aplicaciones generales que se utilizan para operaciones CRUD simples o escalables.

2) Infraestructura utilizada:

NodeJS: haga más con menos infraestructura (infraestructura baja) para admitir una mayor concurrencia.

Python / Java / PHP: aplicaciones generales o empresariales con disponibilidad de infraestructura normal a alta. PHP es actualmente el más rápido, pero Java brinda cierta seguridad de código y las aplicaciones bien diseñadas pueden ser más rápidas ya que el código es código binario compilado.

3) Presupuestos para el proyecto:

NodeJS / Python / Go: los presupuestos deben estar por encima del promedio o por encima.

Java: promedio a alto.

PHP: bajo a promedio a alto dependiendo de las características de la aplicación y la optimización necesaria.

4) Disponibilidad de recursos:

NodeJS / Python / Go: los desarrolladores realmente buenos también son difíciles de encontrar.

Java: la disponibilidad de recursos es abundante de encontrar, pero tendrá que evaluar a los desarrolladores.

PHP: los desarrolladores de PHP realmente buenos son difíciles de encontrar. Todas las demás personas son desarrolladores de PHP sin conocer los estándares de codificación PHP escalables y actuales.

5) Curva de aprendizaje de nuevos recursos:

NodeJS / Go: Tiempo medio a alto. Algunas personas no solo lo entienden (Async / Concurrency)

Python: marco de tiempo medio a alto. Algunas personas no solo lo entienden (ML / AI)

Java: plazo medio

PHP: marco de tiempo bajo

Así que elija su infraestructura, decida las características, decida las necesidades de optimización / volumen de usuario / escalabilidad, presupuesto, mantenibilidad y opciones de recursos.

¿Puede PHP manejar sitios de nivel empresarial y Java?

Teniendo en cuenta que ya trabajas un poco con Python, te recomiendo ir con Python Django. Eso es porque creo que es mejor ser el lobo aullador orgulloso en menos cosas que ser un chacal de todos.

Si aprendes Ruby on Rails, solo estás agregando otra habilidad a tu currículum en la que no eres “realmente” bueno. Seguro que hará las cosas cuando lo necesite, pero no será tan efectivo.

Por otro lado, Python Django fortalecerá aún más tus habilidades en Python y te ayudará a visualizar qué más se puede hacer con este magnífico lenguaje.

Tanto RoR como Python Django son los mejores. Hay muchos tutoriales en línea donde puedes aprender estos idiomas fácilmente.

Hay muchos sitios web de e-learning donde puede obtener estos cursos de forma gratuita y de pago.

Bueno, mira el siguiente enlace donde puedes aprender tanto ROR como Python Django.

RoR

https://www.eduonix.com/courses/…

Python Django

https://www.eduonix.com/courses/…

Si fuera usted, con mucho tiempo libre, crearía dos aplicaciones. Uno con RoR, uno con Python-Django.

Si sigues pensando en decidir qué debes aprender, nunca comenzarás tampoco. Como mencionaste, haces Python bien, no veo ninguna razón para no iniciar django de inmediato. Una vez que una aplicación básica (como tareas pendientes) se crea con django, puede intentar hacer la misma aplicación con Rails. Puede seguir adelante con lo que desee.

Para recursos, aprenda a google. Si eres desarrollador, esta es una habilidad importante. Para empezar, hay abundantes recursos para ambos.

En mi opinión, Python no es realmente para el desarrollo web como lo es Ruby. Entonces, si solo te interesa el desarrollo web, iría con RoR. Desde mi punto de vista, Ruby existe para servir a Rails, ¡Python no lo es!

Pero realmente, deberías probar ambos. Comience a aprender RoR, luego haga una aplicación web con él, luego aprenda Django y haga la misma aplicación con él. Luego, vea qué funciona mejor para su tipo de proyectos, lo que hará que su trabajo se haga más rápido y eficiente.

More Interesting

Cómo aprender el desarrollo de back-end

¿Dónde construyo un sitio web?

Estoy creando una firma de correo electrónico en HTML, pero está en línea a la izquierda y necesito que se extienda, de borde a borde del navegador. ¿Cómo puedo hacer eso?

¿Sé CSS y puedo construir un sitio receptivo? ¿Por qué debería aprender Bootstrap?

¿Es un CMS bueno para construir un sitio web extenso?

Tenía muchas ganas de aprender programación de computadoras. Sé un mínimo de HTML y CSS. ¿Qué idioma debería aprender realmente para hacer cosas geniales?

Estoy planeando lanzar un sitio web que contenga contenido que me gustaría no ser copiado y utilizado por otros para uso comercial. ¿Qué pasos hay que tomar?

Sé HTML5, CSS3, JavaScript, jQuery lo suficiente como para hacer un trabajo. Sin embargo, no me considero un experto en estas áreas. ¿Cómo puedo mejorar?

Sé PHP central ahora. ¿Cuál es el siguiente paso para convertirme en desarrollador web?

Estoy ejecutando un sitio web de comparación de precios. A través de Google Analytics, ¿es posible ver cuántas personas fueron de mi sitio al sitio comercial? ¿Cómo puedo verificar el número de referencias?

Estoy buscando trabajos de desarrollo web y todos quieren al menos 2 años de experiencia comercial, entonces, ¿por dónde empiezo entonces?

Estoy construyendo un sitio en WordPress usando Visual Composer, sin embargo, las imágenes no responden en dispositivos móviles. ¿Cómo puedo arreglar esto?

¿Qué sitios web has creado?

Mi sitio WP está teniendo varios intentos de inicio de sesión de fuerza bruta con y sin mi nombre de usuario real. ¿Qué tengo que hacer?

Si escribo un programa para enviar muchos correos electrónicos, ¿se clasificará como spam?