En los primeros días de Windows, yo y un colaborador creamos un programa enormemente complejo para navegadores marinos (¡antes de que el término “navegar” fuera apropiado por la industria informática!)
El programa mostraba cartas náuticas, movía el barco sobre la carta o movía la carta mientras mantenía el barco centrado o en la parte inferior o a cada lado de la pantalla (a elección del navegador) usando imágenes ráster de cartas o datos vectoriales de una carta. Le dejo al lector que busque esos términos si no le son familiares.
El programa también proporcionó métodos gráficos y escritos para crear rutas (no hay carreteras en el agua, pero hay muchos peligros que lo matan a usted y a sus pasajeros), mostró el estado de la marea, así como la dirección y la fuerza de la corriente actualizada cada seis minutos para toda la marea y la información actual dentro de las 60 millas de la embarcación, mostraron datos de sonar superpuestos en el gráfico, mostraron imágenes de la cámara desde el interior de la sala de máquinas y desde la parte trasera de la embarcación, giraron una ruta de una pierna desde la punta del Cabo Bacalao a Bishop Rock (un punto de referencia común para ingresar al Canal de la Mancha) en una ruta mucho más corta de gran círculo, encontró la posición del barco utilizando navegación celestial, etc., etc.
- ¿Las pruebas de software son menos hábiles que el desarrollo de software?
- ¿Cuáles son los mini proyectos para un estudiante de ingeniería de software en Java?
- Al realizar el desarrollo de software en una startup, ¿cuáles son algunas cosas comunes que las personas se olvidan de tener en cuenta en sus estimaciones de tiempo?
- ¿Qué factores se deben considerar al elegir el lenguaje o marco de programación más adecuado para un proyecto?
- ¿Cuál es la mejor manera de aplicar un algoritmo de aprendizaje automático en un proyecto PHP, usando PHP o cualquier otro lenguaje con un puente o de otra manera?
La única forma en que nuestra pequeña empresa podía crear un programa tan complejo era comprando pequeños trozos de código creados por programadores para que otros programadores los usaran. Dichos módulos nos costaron desde $ 100 gratis a principios de los 90, pero nos ahorraron literalmente muchos años de codificación. En aquel entonces, dichos módulos se crearon utilizando una DLL de llamadas estándar (biblioteca de enlaces dinámicos) y podrían vincularse a programas más grandes creados en C, C ++ o incluso Visual Basic si sabía lo que estaba haciendo.
La gente siempre preguntaba “¿en qué está escrito tu programa?” Les diría ensamblador para las pantallas de mapas móviles intensivos en gráficos, C y C ++ para llamadas de bajo nivel al sistema operativo y Visual Basic para las pantallas de visualización y la GUI. No nos importaba qué idioma se usaba para escribir los módulos que compramos, siempre que el módulo funcionara exactamente de la manera que el desarrollador dijo que lo haría, y siempre que funcionara dentro de nuestro programa más amplio sin fallas, sobrescrituras de memoria, etc. En lo que a mí respecta, ¡un módulo podría haberse escrito y compilado en Fortran!
Sin las docenas de módulos que compramos a otros, nuestro producto nunca habría llegado al mercado y se convertiría en una de las opciones populares para automatizar la navegación en la industria marina.
Por lo tanto, no se sienta menos programador por haber utilizado los módulos de otras personas. Pero pruebe cada módulo y la combinación de módulos para asegurarse de que sus programas totales funcionen correctamente y tengan una excelente interfaz humana. Entonces ve a ganar algo de dinero.
Por cierto, recibí muchos comentarios desdeñosos de programadores “profesionales” cuando mencioné Visual Basic para la GUI. Sonreí hasta el banco.