¿Hay algún beneficio en el aprendizaje de codificación para sistemas informáticos más antiguos como el Amiga?

Si bien es cierto que “la programación con cualquier otro nombre sigue programando ”, es posible que la programación como principiante en una máquina más antigua le brinde las habilidades básicas necesarias para alcanzar un nivel razonable de competencia básica. Yo aprendí C en mi camino de Amiga cuando …

Sin embargo, debido a que la arquitectura interna de las computadoras ha cambiado mucho a lo largo de los años posteriores, también es posible que la programación del “estilo Amiga” no se traduzca bien en las capacidades de las computadoras de hoy en día. Como ejemplo, el conjunto de chips en un Amiga incluía Agnus, Denise y Paula (chips de funciones discretas para el sistema operativo), un estilo que ya no se usa en las computadoras en la actualidad. Al programar un Amiga, puede influir directamente en las áreas de RAM, video y sonido en el Amiga sin influir en los procesos del chip de la CPU (en la mayoría de los casos).

Hoy en día este tipo de arquitectura de computadora ya no se usa ampliamente. Aunque supongo que con las tarjetas gráficas de alta velocidad y la memoria de video dedicada de hoy en día, todavía es posible algún tipo de “descarga” de la CPU.

Entonces, sí, el uso de una computadora tipo emulador Amiga definitivamente te permitirá aprender programación básica y habilidades de desarrollo básicas necesarias para el mundo actual de la programación … pero también es probable que encuentres que tu educación elemental en programación puede terminar siendo algo deficiente cuando te ramifiques. en Windows, Mac, aplicaciones para teléfonos inteligentes u otros tipos de sistemas informáticos.

¡Mis mejores deseos y buena suerte!

Estoy dividido en este caso.

Por un lado, es un sistema de “callejón sin salida”, en el sentido de que no hay un camino evolutivo directo de Amiga a un sistema de hoy. Es posible que las técnicas que aprenda no estén disponibles o no sean necesarias en los sistemas actuales.

Trabajé en Symbian, un sistema operativo de teléfono móvil utilizado para muchos de los teléfonos Nokia de gama alta de la época. La mayoría se escribió en C ++, pero antes de la gran ola de estandarización de C ++, lo que significa que todo lo que hacen es diferente de cualquier otra cosa. Como ejemplo, había una amplia gama de clases de cadenas para elegir, dependiendo de si las cadenas eran constantes, vivir en ROM, caracteres internacionales necesarios, etc. Tampoco había un manejo de excepciones, esto tenía que hacerse a mano.

Aprendí mucho de eso, pero la mayoría no se traduce en el día de hoy.

Por otro lado, existe el riesgo de “mono-cultura” si todo es Linux o Windows. Obtener algunas ideas “nuevas” de otra forma de hacer las cosas podría enseñarle cómo resolver problemas de una manera diferente, posiblemente mejor.

Creo que podría haber.

Lo que aprendí de la programación en un sistema informático diferente (el sistema operativo RISC de Acorn) es que cuando te mueves a algo más moderno (en mi caso me mudé a TCL / TK en Solaris) es que los entornos de programación modernos son realmente fáciles.

Creo que obtendrás una perspectiva de cómo funcionan realmente las computadoras, que la memoria es realmente una cosa real , en lugar de algún tipo de concepto abstracto que parece cuidarse solo.

Probablemente te vuelvas más estricto contigo mismo al no cometer errores. Cometes un error en Amiga, probablemente vayas a bloquear la computadora, no solo tu programa, toda la computadora .

No estoy seguro de que vaya a mejorar en la creación de marcos, porque la forma en que pensamos acerca de los marcos web y de UI es muy diferente ahora. Si hicieras un marco como el funcionamiento de la interfaz de usuario de Amiga ahora, probablemente serías considerado un poco anticuado. En términos de otros tipos de desarrollo, creo que probablemente podrías aprender mucho.

Creo que si escribieras una aplicación decente en el Amiga, probablemente irías a algo como Windows y pensarías: “Maldición, esto es fácil”.

Por “beneficio” supongo que te refieres a adquirir habilidades útiles para la programación moderna. Hablando como alguien que programó en su Amiga la semana pasada, aparte de la nostalgia, no vale la pena. Obtendrá muchos más beneficios al dedicar su tiempo a codificar en la plataforma en la que realmente desea mejorar (para mí, .Net). Por mucho que quisiera que fuera de otra manera, en estos días no es necesario saber cosas de bajo nivel (como las listas enlazadas) para ser un programador profesional y productivo. Pero después de volver a la Amiga y darme cuenta de lo difícil que es conseguir que se hagan cosas pequeñas, en realidad es algo bueno.

Si solo quiere divertirse, elija un proyecto por el que sienta pasión y no se preocupe por el beneficio. Aquí lo importante es tener el entusiasmo para iniciarlo y que el proyecto sea lo suficientemente pequeño como para finalizarlo.

Piénsalo así, ¿es el latín una lengua muerta? Sí lo es. ¿Puede el latín aprender a comprender la evolución de los idiomas modernos? Sí puede.

No recomendaría pasar mucho tiempo en esta búsqueda, pero no puedo ver que haga ningún daño en su progreso como desarrollador.

Profesional y directamente aplicable, eso es difícil de imaginar, así que probablemente no. Personalmente, probablemente sí, puede ser divertido aprender y es posible que obtenga una apreciación de lo que las personas tuvieron que enfrentar “en el pasado”. Otros beneficios podrían ser los credenciales de los geeks y el hecho de que si te topas con alguien que realmente hizo eso ‘atrás en el día’, tienes un terreno común, puede ayudarte a construir tu red.