Cuando era niño, soñaba con convertirme en Mark Zuckerberg. Mientras mis amigos soñaban con las profesiones de pilotos, médicos y astronautas, planeé programar la mayor empresa de TI. Mark Zuckerberg aún no nació, pero ya quería ser uno.
No recuerdo cuándo y cuándo escuché por primera vez sobre computadoras. Lo más probable es que estos fueran los libros de Cyrus Bulychev o Evgeny Veltistov. En ese momento, la humanidad tenía grandes esperanzas en las computadoras, y muchas novelas fantásticas idealizaron el futuro digital. Pocas personas vieron las computadoras en vivo, por lo que el primer familiarizado con la programación comenzó con un lápiz y una hoja de papel. Dibujé los algoritmos, comencé el ciclo de von Neumann en mi cabeza e imaginé cómo se ejecuta el programa entregado. Todos mis algoritmos funcionaron perfectamente y sin errores.
Luego conseguí un constructor que enseñaba los conceptos básicos de la construcción de algoritmos. Consistía en un panel, muchos cables e interruptores. El dispositivo permitió automatizar el cálculo de las respuestas a los cuestionarios, que debían prepararse previamente en papel. Conecta los cables con los contactos, coloca los interruptores en diferentes posiciones y al final obtienes la cantidad. Muchas bombillas crearon el efecto de un trabajo importante.
MK-52
Cuando aparecieron las primeras calculadoras programables en el país, inmediatamente comencé a buscarlas. La mejor calculadora MK-52 se produjo en Kiev. No sé cómo, pero sin acceso a Internet, descubrí que la tienda más cercana donde puedes comprar la calculadora de mis sueños se encuentra en Bielorrusia. Este milagro de la tecnología costó 115 rublos, una gran suma para esos tiempos. Gracias a mis padres: apreciando mi celo, prometieron irse de vacaciones y traer el codiciado equipo.
Mientras esperaba la calculadora, me estaba divirtiendo con la regla de cálculo. Por supuesto, esto no es programación, pero la necesidad de pensar en un algoritmo de cálculo convirtió el proceso de conteo en un juego entretenido. Todavía estoy agradecida por el destino que me guardó una regla de cálculo y un manual de usuario. Me enseñó a descifrar la respuesta en mi cabeza antes de contar algo. Para tomar decisiones administrativas, a menudo es suficiente conocer el orden de magnitud, y los números exactos solo son confusos.
Y entonces me trajeron una calculadora. Era un camino a un nuevo nivel. No había comunidad en torno a la programación en el MK-52; se publicaron artículos y programas de muestra en revistas. Te reirás, pero logré programar varios juegos completos: aterrizar en la luna, carreras de autos e incluso los rudimentos de Minecraft (la historia donde disparas desde un arco, y la calculadora da una respuesta: golpear / fallar).
Calculadora MK-52El efecto de la presencia fue impresionante, el Oculus Rift ahora de moda con su VR tampoco da una pequeña fracción de esas sensaciones. Por supuesto, para sumergirme por completo, tuve que apagar la luz y encerrarme en un armario, lo que creó algunos inconvenientes, pero valió la pena. El caza MK-52 me sirvió durante casi 10 años, en mis años de estudiante consideré trabajos de laboratorio y de término en él.
En el mismo año, nació Mark Zuckerberg.Spectrum 001
Entonces escuché sobre Basic. No diré que me confundió, pero tuve que volver al papel y los lápices (¿recuerdas que todavía no tenía una computadora?). Fue un poco frustrante. Pero aquí, en la tienda de electrones, aparecieron de repente las computadoras domésticas Spectrum-001 Los padres volvieron a verme.
Papá tuvo que volver a soldar nuestro único televisor en un monitor, y el mundo del futuro se abrió ante mí. Como entendí un poco más tarde, este mundo era inaccesible para un escolar ordinario. Sin embargo, entonces no me molestó: la línea de comandos le hizo señas con un poder increíble.
Spectrum 001De las herramientas del programador en este milagro de la tecnología, solo los códigos de máquina estaban disponibles. Desafortunadamente, ni siquiera había un ensamblador en el conjunto de entrega (o lo era, pero no sabía qué era, mi cerebro no estaba listo para percibir tales dificultades). No se habló de literatura para principiantes. Tuve que divertirme con la búsqueda de contadores de vida en los juegos, que en sí misma era una actividad muy interesante. ¿Y quién no soñó al menos una vez sentirse como un hacker?
Espectro ZX
Pasó un año detrás del truco de Tetris y, finalmente, sucedió uno de los principales eventos de mi vida virtual: me convertí en el orgulloso propietario de una computadora personal real: ZX Spectrum. A pesar de sus 8 bits y una modesta cantidad de RAM a 48 Kbytes, este niño podría hacer más que los modernos Macbooks.
Espectro ZXEn primer lugar, puede crear programas inmediatamente en Basic. No bailar con una pandereta: encendido y trabajo. ¡Tenía una pantalla a color! Por supuesto, el papel de la pantalla fue realizado por el mismo televisor de papá, pero en la interfaz y los juegos fue posible usar 8 colores y dos valores de brillo.
En segundo lugar, se conectó una grabadora a la computadora para guardar los programas creados. Los casetes se pueden compartir con amigos, que es lo que todos estaban haciendo activamente. Para ir a un amigo a tomar el té, grabar un cassette y, bajo continuos aullidos de un código binario, mantener conversaciones sobre el futuro digital, un pasatiempo favorito de los geeks de los años 80.
Había suficiente literatura sobre la programación del procesador ZX-80, y finalmente me sumergí en el proceso creativo. Todo mi tiempo libre, codifiqué algo. ¡Qué programas fueron estos! Un dispositivo de guitarra que hace que una guitarra de madera contrachapada suene como si fuera Fender (está bien, lo entendí, entonces no sabía nada de las guitarras americanas). Y también: la capacidad de digitalizar y grabar sonido. Tampoco sabía sobre MP3 e inventé el algoritmo de digitalización por mi cuenta. ¿Recuerdas 48 kbytes? Se las arreglaron para grabar los primeros 10 segundos "Humo en el agua". Los códecs modernos tienen un descanso. Los juegos conocidos, como una serpiente, también tuvieron que ser codificados.
A mis chicas realmente les gustó mi computadora personalY luego creamos la primera red del mundo, y presumiblemente, la última red basada en computadoras ZX Spectrum. Ya no era necesario correr con casetes con amigos, ¡podía transferir el archivo a través de la red! Los entusiastas desplegaron estaciones con módems en sus computadoras. Se llamaron BBS o nodos. Al llamar a dicho módem por teléfono, puede ver una lista de archivos, descargar o cargar los suyos, y también chatear con el operador.
Luego apareció el correo electrónico. Fue algo. Simplemente escribir un mensaje y hacer clic en el botón "Enviar" no fue posible. Primero prepara una carta, luego llama al nodo más cercano y envía un mensaje. Cuando el destinatario también llegue a este nodo, podrá descargar la carta. Sea como fuere, el esquema funcionó a la perfección: todos los mensajes llegaron rápidamente y nunca se le ocurrió a nadie estropear nuestro placer al enviar spam. El mayor avance fue la integración de la puerta de enlace de correo con la red FidoNet, una oportunidad que parecía corresponder con todo el mundo y suscribirse a las noticias.
Mientras tanto, el progreso no se detuvo. El telón de acero se derrumbó gradualmente: más y más frutos del "capitalismo en descomposición" se pusieron a disposición de los ciudadanos soviéticos. Came y computadoras IBM PC. Desde el punto de vista del programador, era una vista espeluznante y aburrida.
No quería programar en una computadora así. Todo lo que quedaba era cortar con amigos en Duke Nukem y leer bash.org. Por lo tanto, pasamos esta página de recuerdos y pasamos a la era de la programación web.
Programación web
La primera conexión a Internet se realizó mediante comunicación a larga distancia. No tenía idea de qué era Internet, sin embargo, el trabajo en la creación de la red Spectrum dio ideas generales y atrajo sus capacidades.
Aún sin entender nada, me di cuenta de que necesitaba un sitio web, registré libremente un dominio de 4 letras y comencé a aprender HTML.
Mientras tanto, Mark Zuckerberg estaba en la escuela secundaria.El diseño HTML era simple y sin pretensiones, se creó contenido dinámico utilizando Cgi Perl. ¿Alguna vez has visto el código de los programas escritos en Perl? Son fáciles de reconocer: todo está escrito en una línea y la mayor parte del código está ocupado no por palabras conocidas, sino por caracteres incomprensibles. Con su magia, Perl me recordó al ensamblador.
Perl MágicoEl motor de búsqueda más popular de la época era el directorio de páginas amarillas. Sí, era un libro de papel, que se vendió en una tienda. Fue posible encontrar el producto deseado alfabéticamente o temáticamente. La única diferencia con el directorio habitual es que las "Páginas amarillas" no proporcionaban direcciones postales y números de teléfono, sino un enlace al sitio. Genial, verdad?
Porque soy yo
No todos están destinados a convertirse en Mark Zuckerberg. Tampoco funcionó para mí. Alguien crea nuevos productos para cambiar el mundo, mientras que a alguien le gusta coleccionar un robot basado en Arduino con un niño.
Casi todos los días hay tecnologías geniales que cautivan a los genios audaces con sus capacidades, y muchos programadores novatos están preocupados por la elección del lenguaje de programación, el marco y la pila. Al igual que lo hice en mi tiempo, buscan, prueban y cambian herramientas.
Más tarde supe que Zuckerberg estudió psicología, no programación. Y pensé: ¿es tan importante la herramienta con la que creas tu producto? Entonces me di cuenta: él eligió el objetivo, no los medios.
¿Quién está listo para ir más allá y cambiar el mundo para mejor? Piensa en buenas ideas, pero hay herramientas.
Publicado por Anton Sokolov, fundador y director de tecnología, Deasoft