¿El sector financiero es diferente de otros sectores en términos de fragmentación del lenguaje? [cerrado]

7

Opciones de idioma de grandes corporaciones

Habiendo pasado casi 12 años trabajando en el sector financiero, tanto en empresas grandes como pequeñas, mi impresión general, con la excepción de Goldman Sachs, es que la fragmentación (o, dando un giro más positivo en cosas, diversidad ) es el nombre del juego.

Dentro de una sola compañía, podríamos ver C, C ++, Smalltalk, Java, J ++, Perl, C # y más. Incluso ahora, escucho sobre grandes cambios hacia que usan idiomas que han existido durante 30 años pero que no están muy extendidos dentro de la empresa (es decir, fragmentación evitable; si el idioma no era apropiado hace 5 años, ahora?)

Supongo que estoy interesado por

  • ¿Las empresas grandes, centradas en la tecnología, fuera del sector financiero, están tan fragmentadas como las que están dentro de él?
  • ¿Por qué ha ocurrido esta fragmentación?
  • ¿Están las compañías de software como fragmentadas?

La posición de Java

Mi impresión es que Java en gran parte "ganó" la primera década de este siglo en el sector financiero, que (probablemente) vio la mayor expansión histórica de los sistemas. Por "ganado", simplemente quiero decir que fue la opción más popular para los nuevos sistemas durante esta década.

Le agradecería que me indicaran cualquier evidencia sobre estos puntos, y especialmente sobre las comparaciones de sectores.

PS. Mis razones para hacer esta pregunta son que voy a dar una charla a los estudiantes en Londres sobre la creación de sistemas financieros de TI. Me gustaría poder ubicar mis experiencias de TI financiera en un contexto más amplio, y no quiero hacer generalizaciones radicales.

    
pregunta oxbow_lakes 23.01.2012 - 13:11

6 respuestas

3

Veo lo mismo en el negocio de las telecomunicaciones, y no me sorprende en absoluto. Algunas razones para eso:

  • Las fusiones y adquisiciones aumentan potencialmente la cantidad de idiomas.
  • Los sistemas de TI desarrollados fuera de TI (y luego se volvieron a TI cuando el mantenimiento se convierte en una carga) se desarrollan en cualquier idioma que se parezca a la gente que los escribe.
  • Las tendencias de TI impulsan la adopción de nuevos idiomas, y luego mueren o se reemplazan con una nueva tendencia antes de que se complete la migración de los idiomas antiguos.
  • Los proyectos críticos con limitaciones de tiempo estrictas a menudo tienen la libertad de elegir el "lenguaje más adecuado", lo que sea sorprendente es la fantasía de los programadores de primera clase que se les asigna.
  • La evolución de la programación de TI ocurre más a menudo con la creación de nuevos lenguajes que con cambios a los antiguos, y por una buena razón. La compatibilidad con versiones anteriores es un requisito importante, que limita seriamente qué cambios son posibles.
respondido por el Daniel C. Sobral 23.01.2012 - 15:09
15

El sector financiero está increíblemente fragmentado en términos de software simplemente por la naturaleza caníbal de esas empresas. Estas empresas a menudo compran y venden empresas completas, divisiones, líneas de productos, y otros, a nivel empresarial para maximizar sus ganancias. En el proceso, tienen que proporcionar las herramientas que administran ese producto en sus sistemas, por lo que una empresa sin Java podría heredar un nuevo sistema Java y tener que incorporarlo. Extrapolar ese paradigma durante 20 años, y usted tiene un grupo de compañías que tienen sistemas en casi todos los factores de forma sin los recursos para convertirlos en un sistema común.

Las compañías de software sí tienen cierta fragmentación, pero son menos severas porque las decisiones de negocios allí se basan más en el negocio de la tecnología. Entonces, cuando la compañía de software X compra la compañía de software Y, generalmente está dentro de la misma plataforma. Pueden usar diferentes idiomas, pero a menudo esa entidad puede permanecer intacta en lugar de tener que integrarse en las otras áreas de productos o la compañía intentará tomar el tiempo / los recursos para convertir las piezas recién adquiridas en su infraestructura existente. He visto cómo fracasan las ofertas simplemente porque las personas que dirigen el negocio comprendieron que no podían respaldar el marco de trabajo necesario o no podían permitirse la conversión.

Yo no diría que Java ganó ni un poco. Todavía hay demasiados idiomas por ahí que tienen un dominio heredado. Incluso en las áreas del sector financiero en las que he trabajado personalmente, no vi ninguna base tecnológica dominante. Sin embargo, sí vi muchos argumentos.

    
respondido por el Joel Etherton 23.01.2012 - 13:27
3

Cada sector está fragmentado. La elección del idioma tiene muy poco que ver con la industria. Puede depender de la plataforma que se utilizará, de las bibliotecas disponibles y de cuándo se inició.

En la década de 1980, o incluso en la década de los 70, el DOD quería que todos usaran ADA . A pesar de estar en contratos de DOD por más de 20 años, nunca vi a ADA. Solíamos usar FORTRAN o C, luego nos mudamos a C ++; Ahora usamos C # y ASP. Para un cliente, todo se entregó en VBA porque el proceso de aprobación fue más rápido para las hojas de cálculo en comparación con una DLL.

El año pasado utilicé python, php, C ++, además de lenguajes de scripting especializados para el software de envoltura retráctil. En 25 años de programación, he usado casi tantos lenguajes como años en el trabajo.

    
respondido por el mhoran_psprep 23.01.2012 - 14:37
2
  

¿Las empresas grandes, centradas en la tecnología, fuera del sector financiero, están tan fragmentadas como las que están dentro de él?

Sí, la mayoría de ellos son. Yo diría, algunos incluso más.

  

¿Por qué ha ocurrido esta fragmentación?

En primer lugar, las grandes empresas tienen muchos equipos, no todos optan por las mismas soluciones, ya que hasta cierto punto siguen siendo independientes, algunas originalmente fueron otras empresas que fueron adquiridas, etc. Luego entran herramientas de terceros. También utilizan variedad de lenguajes / marcos, a menudo completamente diferentes a los utilizados internamente en la empresa.

  

¿Las empresas de software están fragmentadas ?

El software de creación de la compañía depende menos de la variedad de software de terceros, que usaría una variedad de idiomas. Sin embargo, si la compañía crea software para varias plataformas, por ejemplo, plataformas móviles, usará Java para Android, Objective-C para iOS, C # para WP, algo más para su backend, etc. La compañía lo suficientemente grande tendrá clientes móviles, web clientes, clientes de Win y Mac y tecnologías de back-end con 3-5 idiomas diferentes.

    
respondido por el vartec 23.01.2012 - 15:20
2

En resumen, por lo que he visto (he trabajado en una amplia gama de sectores).

  1. Sí, es igual de fragmentado
  2. Toda una variedad de razones. Los idiomas son modas / modas como cualquier otra cosa. Los vendedores empujan un tipo particular de tecnología. A veces, jadeo una tecnología se elige genuinamente porque es la correcta para un dominio de problema particular. A veces es porque hay recursos para desarrolladores disponibles para un idioma en particular ... La lista continúa :-)
  3. Los he visto intentar estandarizar, por ejemplo, Google era una tienda de Python y Java (+ web front end stack inc GWT) pero ahora también tienen Go, Dart, Android ... Oracle creo que es principalmente una tienda de C / C ++ y cada vez más de Java (no es de extrañar), creo que su objetivo es probar un Javaise tanto como sea posible (aunque como la integración de Java con el O / S no es estricta, creo que su base de datos no funcionará) para el futuro previsible).
respondido por el Martijn Verburg 23.01.2012 - 13:26
1

El nombre del juego en cualquier situación de programación está creando una aplicación robusta para resolver un problema en particular. Diferentes idiomas proporcionan diferentes características, marcos y, por lo tanto, diferentes usos ideales.

Donde trabajo, nuestro lenguaje principal es de hecho Java, que como dices es top language para la programación en estos días. A pesar de ser una "Tienda Java", en un día determinado puede trabajar con dos o tres idiomas diferentes.

Para enumerar, tengo mis 8 meses en mi lugar de trabajo actual, he trabajado en Java, JSP, PHP, Python, Javascript, bash scripting e incluso he trabajado en scripts ANT muy grandes. Además, conozco o he visto a Perl, C y Groovy. Cada uno de estos idiomas generalmente proporciona un conjunto de características que carece de otro, lo que idealmente sería la razón por la cual el idioma se elige para su uso.

    
respondido por el Glenn Nelson 23.01.2012 - 13:27

Lea otras preguntas en las etiquetas