¿Java es mejor que C++?

Recientemente leí el artículo de Sara Butcher1, «Why Java is better than C++ for high speed trading systems«, cuyo título obviamente atrajo mi atención. Tras leerlo, esto es lo que resulta:

  1. Para empezar el título del artículo es distractor y conduce a una mala idea, a la que se llega si no se lee el artículo con atención. El título del artículo es una afirmación mientras que debería ser una pregunta, como el título de mi entrada en este blog.
  2. El artículo señala los resultados de una mala práctica sobre C++. Lo que puede ser el resultado de una mala práctica de desarrollo de software o falta de conocimiento sobre un lenguaje que es difícil de dominar por naturaleza. No es que C++ no sirva o sea lento, es que se utiliza incorrectamente.
  3. El artículo, para el caso en que se basa la dudosa afirmación del título, es una situación en particular. No es un patrón o series de casos, por lo que no puede hacerse una afirmación de generalización tan presuntuosa como la del título.
  4. El artículo indica que la programación Java realizada se asemeja más al estilo de C++ para evitar los retrasos (la famosa latencia de ejecución) asociados al modelo de ejecución de Java y su máquina virtual.

Así, entonces, tenemos un problema de capacitación, quizás de cultura organizacional, y de habilidad. No es un problema sobre un modelo de programación o la gramática de un lenguaje. Aquí hay un problema de mantenimiento sobre algo ya desarrollado que no ha sido debidamente atendido y al que se le ha dado la vuelta apoyándose en algo que se conoce mejor, pero que se hace parecer al primero para evitar los consabidos problemas del segundo. Suena raro pero es la práctica informática común, quieran creerlo o no.

Ahora, el punto de esta entrada, con base en lo ya descrito, es que esta mala práctica informática es fuente de muchas malas decisiones y de proyectos fallidos. También es causa de una mala visión en trabajos de tesis que me han tocado revisar. Los estudiantes consideran muchas veces que una rimbombante tecnología o producto de moda es la solución a un problema, cuando en realidad se trata de un problema de organización y disciplina, laboral o profesional. Este problema nace desde la gerencia o dirección de la organización, que se propaga ala operación de ésta, donde la falta de pericia y capacidad termina por complicar aún más el problema.

Conforme una organización crece en tamaño y madura, va definiendo su mercado y estancándose en un nicho o burbuja de confort. Las empresas pequeñas y jóvenes se pueden dar el lujo de cambiar y reinventarse frecuente y rápidamente, pero conforme establecen procesos y un mercado, crean clientes y compromisos, tales cambios ya no son tan sencillos. No sólo procesos o tecnología son los afectados, la cultura organizacional es afectada también. Y sin ir tan lejos, es decir, sin hablar de cambios de rumbo en la empresa, tan solo la rotación natural del personal que se mueve bajo su propia agenda profesional e intereses personales en un mercado competido y cambiante, pueden traer alteraciones de los flujos de trabajo ya establecidos cuando una persona se lleva un conocimiento y habilidades desarrolladas durante el tiempo en que estuvo laborando en ella.  A diferencia de las empresas pequeñas y las startups, las empresas grandes buscan seguir procedimientos que les ayuden a minimizar estas situaciones, que esencialmente tiene que ver con el registro de su capital intelectual a través de documentos y procedimientos (aunque el riesgo y consecuencia de esto es la inflexibilidad). Terreno de los administradores, no de los desarrolladores. El problema es que los administradores buscarán preservar su empleo conservando lo que administran y justificando su existencia con burocracia y procesos sin sentido.

Referencias

  1. Sarah Butcher, «Why Java is better than C++ for high speed trading systems«, efinancialcareers. co.uk, web. Published: 2020.11.23; visited: 2021.01.29. URL: https://www.efinancialcareers.co.uk/news/2020/11/low-latency-java-trading-systems.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.