Sí definitivamente. En realidad es muy común hacerlo. Quizás no esos idiomas exactos en esos lugares exactos, pero es casi la forma predeterminada.
Las razones principales para hacerlo es porque algunos idiomas tienden a tener bibliotecas disponibles / código ya escrito / facilidad de ciertas tareas. Por lo tanto, algunos son más fáciles de usar en un caso que en otro. Usted tiene control sobre el hardware del servidor, por lo que hacer un programa de servidor compilado no es difícil. Pero el hardware del cliente podría ser cualquier cosa, no es tan fácil hacer algo que se ejecute en todas partes: las opciones son mucho menores o el trabajo es mucho más.
Hay posibles problemas con las comunicaciones entre estos si utiliza idiomas diferentes. Pero esa es la razón por la cual se han inventado los estándares de comunicación. Para garantizar que los datos estén formateados de manera coherente entre diferentes hardware y software.
- Los reclutadores técnicos y los gerentes de contratación de software me llaman entusiasmado con mi currículum, pero cuelgan desilusionado y me dicen que no encajo bien. Me temo que soy un mal programador, pero paso 24/7 trabajando y estudiando software. ¿Qué estoy haciendo mal?
- Estoy tratando de convertirme en un desarrollador front-end. ¿Cómo puedo chatear con otro desarrollador para recibir asesoramiento?
- ¿Cuántos desarrolladores de software viven en Israel? ¿Cómo se distribuyen?
- ¿Qué tipo de espacio para el crecimiento profesional existe para los ingenieros de software en grandes empresas (es decir, Google, Facebook, Apple, Microsoft, etc.)?
- Vengo de un país del tercer mundo donde los desarrolladores de software están mal pagados y en realidad no hay una compañía de software seria. Soy un desarrollador de software bastante serio. ¿Qué tengo que hacer?
Te aconsejo que elijas algún protocolo disponible en todos los idiomas que usarás cuando tus programas se comuniquen entre sí. Algunos pueden ir con algo como XML / JSON: codificación lenta, texto legible, el tamaño de los datos es un poco grande. Pero afortunadamente están disponibles en casi todo. Es cuando la velocidad y el tamaño de los datos es un problema cuando es un poco más complicado. En cuyo caso necesita un protocolo binario. Por ejemplo, una buena opción podría ser algo como ProtocolBuffers diseñado por google, para una codificación rápida y un tamaño de datos pequeño, aunque solo datos binarios en lugar de texto. Es posible que ya exista algo así en los idiomas que elija, rara vez es necesario diseñar uno propio, y generalmente es una mala idea (mucho trabajo y muchas dificultades solo para reinventar las ruedas).