¿Qué te influenció y te inspiró a aprender a codificar?

Aquí está mi historia.

Mi familia siempre había tenido computadoras, pero no tenía mucho interés en ellas, aparte de algunos juegos. Cuando tenía alrededor de 10 u 11 años, mi madre trajo un libro de la biblioteca llamado HTML para niños o algo así. Ya había estudiado desarrollo web, pero no tenía las instrucciones básicas como crear y ver un archivo HTML, así que no podía hacer nada con él.

Pero este libro lo hizo. Así que hice el primero de muchos archivos Hello World y lo abrí en quién sabe qué versión antigua de IE. Funcionó. Era como una magia asombrosa increíble. Luego encontré la vieja etiqueta de marquesina, las etiquetas h1, etc. Aún más magia, sin JavaScript. Entonces enlaces. Los enlaces fueron increíbles! Hice una pequeña red social para mis amigos con nuestras propias páginas. Una página para nuestra familia y una que tenía una página para cada planeta en el Sistema Solar, que obviamente incluía a Plutón en ese entonces. Cuando tenía 12 años, fuimos a ayudar en un orfanato en Sudáfrica y establecimos un laboratorio de computación, así que etiqueté tantos libros como pude y luego hice un sistema de bibliotecas en las computadoras para encontrar libros.

Entonces me metí en JavaScript. Me tomó un poco de tiempo entenderlo pero luego fue increíble. ¡Podía hacer páginas que cambiaran! Waaaaaaa ?! Recuerdo que cuando tenía 12 años solo teníamos acceso telefónico. Una vez a la semana, mi familia iba a este lugar que tenía wifi, y yo descargaba docenas de scripts para usar y jugar durante la semana. Fue todo como magia. Alertas, avisos, y más. Estaba obsesionado con JavaScript WYSIWYGs durante bastante tiempo.

Cuando tenía 12 años, recuerdo haber creado mi primera IA conversacional con una base de conocimientos de unos doscientos elementos. Podría escribir preguntas y declaraciones y respondería en un área de texto. Leí sobre la prueba de Turing cuando tenía 6 años, así que me sentí feliz de poder finalmente hacer algo que pudiera funcionar así.

También Visual Basic. Pasé todo mi tiempo haciendo navegadores web, editores de archivos y aplicaciones para redactar informes para mí, etc., todo eso es una locura mágica.

Finalmente, entré en Linux, cuando tenía 13 años. Me encantó despellejarlo y jugar con la interfaz de usuario, y los efectos 3D eran una locura para mí en ese entonces. Cuando tenía 14 años, descubrí cómo empaquetarlo y crear mi propia distribución. Así que lo hice durante un par de años. Era un imbécil, porque era muy joven, pero era divertido. También recuerdo haber creado “sistemas operativos” cada vez más completos en JavaScript (la Ley de Atwood), y cuando tenía 15 años audité una clase de sistemas operativos en la que trabajábamos directamente con un sistema operativo JS que bajaba al nivel de registro (aunque no entendía esa parte en el momento).

En algún momento, cuando tenía 13 o 14 años, recuerdo haber leído un libro sobre PHP y finalmente haber creado mi propio servidor web, creo que con Xitami. Era magia de nuevo. ¡¿Podría hacer algo que podría influir en otra página y pasar información ?! Waaaa

Así que en los próximos años hice una App Store para Linux en ese momento, descubrí el desarrollo de aplicaciones de Linux y scripts bash, e hice algunas bases de datos RMA basadas en la web para las empresas en las que trabajaba mi padre.

Aproximadamente a los 17 recuerdo que hice un bot en Second Life con un reconocimiento de imagen rudimentario que podía rastrear objetos y caminar hacia cosas, etc. ¡Magia!

Desde finales de los años 17 y 18 trabajé en una empresa usando un microscopio controlado por computadora para algo. Bueno, conocía Java, así que descubrí cómo hacer todo el trabajo en la computadora y luego escribí un programa que podía hacer casi todo, usando reconocimiento visual para rastrear píxeles y crear cuadros de tamaño personalizado, hacer clic en los menús, etc. y automatizo aproximadamente el 95% de mi trabajo. Luego hice una herramienta de automatización web en C # en mi tiempo libre y la vendí durante aproximadamente un año. Y jugó un montón de GTA. También hice una computadora portátil para esta época que podría usar al presionar mis dedos con un guante con cable eléctrico y obtener respuestas a través de un auricular Bluetooth. No tenía celular, así que usé una netbook en una mochila. Fue magico.

Tomé clases universitarias durante todo este tiempo, así que obtuve mi título de Asociado en Informática a los 18 años y luego me fui a la universidad por un par de años. Pasé mucho tiempo trabajando tanto en tecnología portátil como en un robot de inteligencia artificial en Java con el que podía hablar con un auricular Bluetooth y, finalmente, a través de Google Glass. Finalmente, me di cuenta de que no iba a poder progresar más hasta que pudiera permitirme hacer o comprar un cuerpo decente para él, así que póngalo en espera.

A los 19 años me fui a casa por 6 meses en una cooperativa en IBM, mientras tomaba clases en línea a tiempo parcial. Lo pasé genial, hice algunas cosas geniales, y luego volví a la escuela. Me metí realmente en las redes neuronales artificiales y las usé para el análisis predictivo en este momento, e hice algo para la predicción del tiempo rudimentario con ellas. Recuerdo que conecté una cámara web y la conecté a un programa Java que estaba raspando los píxeles y conectado a una red neuronal y mostrándole una lata de coca cola y luego un paquete de chicles y enseñándole a diferenciarlos y luego a hablar verbalmente Vuelve su respuesta. Fue magico.

Obtuve mi licenciatura en CS a los 20 años y volví a IBM, donde trabajo actualmente. Es divertido y me da mucha flexibilidad. Y todavía tengo problemas que resuelvo que simplemente me sorprenden.

Así que supongo que podrías decir que entré y me quedé programando porque me gusta la magia.

En 1974, en mi segundo año en la universidad, me di cuenta de que no quería ser estudiante de zoología. Iba y venía entre los departamentos de matemáticas, física e ingeniería eléctrica, tratando de decidir entre los tres. Finalmente me decidí por EE.

En mi primer semestre como estudiante de EE, uno de los requisitos de la división inferior era una clase de programación de Fortran. El viejo profesor que enseña la clase, el profesor Hill, dio sus criterios de calificación: escribes programas y ellos hacen lo correcto, obtienes el 100%; Si hacen algo más, obtienes 0%. Pensé que iba a odiar esta clase. Pero después de la primera asignación de programación me enganché.

Utilizamos un sistema por lotes para la programación. Así que eso significó golpes clave y horas de espera para recuperar nuestras tareas. Para matar el tiempo de espera, comencé a hacer mis futuras asignaciones de programación y a escribir mis propios programas, como calcular una ruta para un barco lanzado desde la Tierra para hacer un gran recorrido por el sistema solar.

El Prof. Hill notó que siempre estaba en el centro de cómputo, incluso durante los tiempos entre las tareas. Entonces, me dio acceso a un sistema de tiempo compartido compartido por todos los campus del sistema universitario. El acceso fue a través de un ASR-33 (teletipo). A pesar de que esto parece prehistórico hoy, interactuar con la computadora fue la última gota y estaba completamente enganchado.

Cambié mi especialización a Ingeniería Informática. [La escuela no tenía un título en Ciencias de la Computación en ese momento debido a la política que se desarrollaba entre el departamento de Matemáticas y la escuela de Ingeniería. El grado de Ingeniería Informática era lo más cercano a un grado de Ciencias de la Computación. Básicamente era un grado de EE, menos los cursos de poder, y todos los cursos optativos se completaron con cursos de CS, como algoritmos, compiladores, sistemas operativos, etc.]

Durante el próximo verano, el campus consiguió su propio sistema de tiempo compartido, un PDP-11/45 con RSTS / E. No tenía clases que usaran ese sistema, pero desde que era estudiante, pude obtener una cuenta en él. La programación se realizó a través de un intérprete BÁSICO que se ejecutó como un programa especial del sistema al que llamaron un sistema de tiempo de ejecución (RTS). No me gustó la forma en que funcionaba el teclado del BASIC, así que conseguí un manual de programación del sistema y escribí mi propia utilidad de administración de archivos para buscar y editar archivos en BASIC. Separé el editor como un programa separado y muchas otras personas en el campus comenzaron a usarlo en lugar del intérprete BASIC o el programa de edición proporcionado por el sistema. Eso llamó la atención del departamento de procesamiento de datos y me contrataron para administrar el sistema.

Ser contratado por el departamento de procesamiento de datos fue lo mejor y lo peor que me sucedió. Me permitieron hacer lo que quisiera con el sistema de tiempo compartido del campus después de la medianoche. Entonces, pasé todo mi tiempo libre hackeando los programas del sistema y el sistema operativo. Obtuve una distribución temprana de Unix y la corrí durante las primeras horas de la mañana y aprendí C. Mis calificaciones para todas las clases que no sean hardware de computadora o relacionadas con el software se desplomaron. Arruiné mi GPA, pero estaba teniendo el mejor momento de mi vida.

Después de desmontar el intérprete BÁSICO y partes del sistema operativo, descubrí llamadas ocultas / compatibles con el sistema. Eso me permitió escribir mi propio RTS, algo que no era compatible con DEC, en ensamblaje. Tenía un área de lectura-escritura compartida (algo que DEC tampoco admitía) que permitía que diferentes trabajos en el sistema se comunicaran más rápido de lo que podían a través del sistema de paso de mensajes.

Cuando estaba cerca de graduarme, un amigo que trabajaba en el DEC me dijo que había una vacante en el grupo del Sistema operativo RSTS. Para entonces, mis calificaciones eran lo suficientemente malas como para no haber podido ingresar a DEC por la puerta principal. Gracias a mi amigo, mi currículum llegó al grupo de RSTS sin tener que revelar mi GPA. Tengo una entrevista. La primera persona con la que hablé fue el líder del proyecto. Me preguntó sobre mi experiencia con RSTS. Le conté todas las cosas que había estado haciendo. Se sorprendió al ver que había desensamblado el sistema y había descubierto cómo utilizar las llamadas ocultas del sistema para hacer cosas que DEC no quería que la gente supiera. Al final de nuestra conversación, él me acompañó hasta el gerente del grupo y dijo: “Contrátelo”. Dije “¿Hablas en serio?” Él dijo: “Sabía que quería contratarte en los primeros diez minutos”. Entonces, conseguí el trabajo de mis sueños con el MEJOR fabricante de computadoras en ese momento o después.

En 1992, quería hacer videojuegos. Sin embargo, era un niño tonto sin tener idea de lo difícil que sería eso. Como la estupidez y la terquedad me tenían, empaqué para una aventura corta pero terminé en un viaje de 21 años.

Así que, como niño tonto, accidentalmente encontré QBasic en mi sistema operativo MS-Dos 6.0. También, de alguna manera, navegué hacia los archivos de ayuda y escribí un programa simple.

IMPRIMIR “¡Hola mundo!”
FIN

Eso fue todo. Yo era feliz. De alguna manera, sentí que las siguientes cosas que aprendí me permitirían hacer el juego de mis sueños. Yo era profesional.

Una herramienta me lleva a otra. Seguí aprendiendo y probando cosas nuevas.

En 2013, finalmente lo hice. Hice un videojuego. Hice Nameless: los Hackers RPG en iOS. Actualmente es un juego calificado con 4.7 estrellas con más de 2,500 críticas reales en todo el mundo.

Enlace de iTunes: http://nth.box.cat/

Así que eso fue todo. Veintiún años. Si bien ya no soy estúpido (o eso creo). Estoy bastante seguro de que soy terco.

Supongo que las raíces de mi respuesta deben encontrarse en 1969 cuando mi escuela secundaria adquirió una mini computadora para que los estudiantes aprendan a programar. Fue una clase de séptimo período en una escuela secundaria con un día de 6 períodos. Es decir, no era una clase obligatoria o básica en ningún sentido de las palabras. Un par de profesores de matemáticas habían tenido contacto con Fortran en la universidad, así que se dispusieron a enseñarnos Fortran. Fue horrible. Nuestro único periférico era un teletipo: teclado, impresora, perforadora de cinta de papel y lector de cinta de papel. La máquina solo tenía 4K palabras de memoria de 12 bits por lo que no podía contener mucho en un momento dado, y no había unidad de disco. Cargaría un editor en la máquina desde la cinta de papel, prepararía su programa Fortran, eliminaría el listado en una cinta de papel, luego cargaría el compilador Fortran, que demoraba mucho tiempo en cargarse desde la cinta de papel, le daba su código fuente. Cinta de papel, y recibe tus mensajes de error. enjabonar, enjuagar, repetir. Cuando finalmente obtuviste una compilación limpia, obtuviste una cinta de papel del código de objeto producido por el compilador, luego cargaste otra cinta de papel en la computadora con las bibliotecas de tiempo de ejecución y el enlazador para fortran, alimenta ese código de objeto y verás que tu programa no estaba del todo bien Volver a la edición de código fuente. No es una manera realmente feliz de comenzar con la programación.

Pero tuve mucho tiempo en mis manos mientras esperaba a que se cargaran las malditas cintas de papel, así que exploré la otra documentación que DEC había proporcionado con su máquina. Descubrí Focal, un lenguaje algo parecido al básico. Cargó una cinta de papel y le permitió ingresar a su programa Focal, editarlo, ejecutarlo. Edítalo un poco más, todo sin tener que recargar otra cinta de papel larga. Mirando hacia atrás hoy, supongo que fue un intérprete. En cualquier caso, era un entorno mucho más productivo que Fortran en esa pequeña máquina. Terminé subvirtiendo la clase de Fortran en una clase Focal y los profesores parecían felices con el cambio de dirección. Nos divertimos mucho escribiendo varios programas pequeños y deseando tener más memoria.

Pero cuando fui a la escuela de ingeniería, pensé que iba a ser ingeniero eléctrico. Como estudiante de primer año, desviaron a cualquier estudiante de primer año que tuviera experiencia previa en programación y les enseñaron PL / C (una variante de enseñanza de PL / I) en lugar de dibujos mecánicos (triángulos, T cuadrados, y todo eso). Seguí disfrutando de la programación, pero descubrí que en el mundo real, los circuitos electrónicos tenían una manera de comportarse mal, como cambiar cuando acercaba la mano a la placa de circuito. Descubrir errores de software deterministas fue mucho más de mi agrado.

Ahora en 1970, mi universidad no tenía opción de “ingeniería informática”. Así que procedí a construir un currículum personalizado para mí. Le asignaron un Junior para que me ayudara con el papeleo ya que ella ya había saltado esos aros en particular para ella. Pero al hablar con ella, supe que se estaba transfiriendo al departamento de Ingeniería industrial / Investigación de operaciones. Explicó que el inconveniente de la especialización personalizada era que cada pequeño cambio en las clases que tomaba tomaba la aprobación de un comité asesor. El plan de estudios de IE / OR era lo suficientemente flexible como para que pudieras asistir a un par de cursos de lo que se había inscrito. Vi la luz y entré en IE / OR. Algunos años más tarde, se cambió de nombre a OR / IE y ahora es la escuela de Investigación de Operaciones e Ingeniería de la información. Me fue bien en la escuela, conocí a los estudiantes graduados que apoyaban al compilador de PL / C y finalmente conseguí un trabajo en Bell Labs en la división de Programación de Sistemas de Información Empresarial (BISP). Me enviaron por un año a la Universidad de Michigan, donde obtuve mi MSE en Ingeniería de Computación, Información y Control. Recibo aún más miradas cuestionadoras cuando menciono “ingeniería de control” y luego estaba acostumbrado a obtener cada vez que decía “Ingeniería industrial”. ¿Quieres saber más sobre Ingeniería de Control? Tengo un artículo de blog sobre ese tema: http://rdrewd.blogspot.com/2013/

Podría seguir aburriéndote con las historias de mi carrera en los Laboratorios Bell, pero creo que ya he superado la forma en que comencé con la programación, que era tu pregunta.

En 1973, hubo una casa abierta en la Universidad de Maryland, College Park. Vivía en la zona y mis padres me llevaron a visitar. Como parte de esto, tenían un KSR-33


configurar y hablar con el sistema de su campus. Esto fue configurado para jugar tic-tac-toe. Y estaba decidido a vencer a la computadora. Golpeé lejos ese KSR por unos 30 minutos, repasando muchos, muchos pies de papel, absolutamente incrédulo de que la computadora nunca, jamás haya cometido un error.

Finalmente, después de un largo rato, el asistente me espantó para que alguien más pudiera tener un turno. Pero era demasiado, demasiado tarde. Me enganché. Otra alma pasó al lado oscuro de los juegos de computadora. Ahora, en ese día y edad, no había muchos juegos disponibles, así que si querías un juego, si absolutamente, tenías que tener un juego desesperadamente, tenías que escribirlo tú mismo. Y el resto es historia…

Creo que empecé a programar cuando tenía 10 años. Conseguí una PC de un amigo de mis padres con Windows 3.11 y encontré un programa que resultó ser un compilador BASIC. Conseguí un libro de la biblioteca y probé diferentes programas, en gran parte copiando trozos de código e intentando cambiarlo.

Más tarde obtuve una versión más reciente de Windows 95 y alguien me dio una copia de Visual Basic, que también probé. Un amigo me dio una computadora lo suficientemente potente como para ejecutar un servidor PHP, así que intenté codificar juegos basados ​​en turnos en PHP. Juntos descubrimos cómo enrutar un dominio a esa computadora. Tuve la suerte de tener esas oportunidades, y no sé qué motivó a esos amigos, pero estoy seguro de que pensaron que su regalo se usaría bien.

Creo que esa curiosidad me inspiró a aprender a programar y continuar con la búsqueda. No soy un buen estudiante y rara vez aprendo si debo hacerlo, pero no me parece interesante. Mis pasiones impulsan mis intereses, y viceversa. El código de programación se mantiene igual y hace lo que usted le dice que haga, lo cual es “seguro”. No puede culpar a una computadora por no hacer lo que quiere, porque lo instruyó mal.

Más tarde, descubrí que mis habilidades de programación eran valiosas. Comencé a crear sitios web y crear una base de clientes, en última instancia, crear una empresa, contratar personas y ganarme la vida dignamente.

En estos días estoy trabajando en un par de proyectos de clientes, pero la mayoría del tiempo estoy aprendiendo a otros a codificar sus propias aplicaciones (con LearnAppMaking.com). Creo que no hay suficientes ingenieros y programadores en el mundo, el futuro de la humanidad depende de la tecnología innovadora. Espero poder despertar la curiosidad y la emoción de codificar en otros, brindándoles una buena educación inicial y suficiente motivación para seguir adelante.

Nunca estaría donde estoy hoy, sin la curiosidad por el ícono del programa que decía “BÁSICO” y sin aquellos que reconocieron mi curiosidad y querían verme prosperar.

Puedo recordar claramente la emoción al descubrir el libro: “¡Este debe ser el programa que usan para hacer otros programas de computadora!”

¡Gracias por preguntar!

(Publicación original de Quora: respuesta de Reinder de Vries a ¿Cuándo comenzó la codificación y por qué?)

Aquí hay una respuesta que tengo hace unos años sobre mis orígenes de codificación:

Esto fue totalmente culpa de mi padre, quien me presentó estos juegos en un viejo IBM 386. Cada juego requería que se ejecutaran diferentes comandos para cargar diferentes cosas como HIMEM o joysticks antes de que pudiéramos ejecutar el juego. Tuvimos que encontrar mejores y mejores maneras de escribir menos después de arrancar desde disquetes. De modo que los scripts se volvieron más complejos y complejos, incluido un pequeño menú para ejecutar los requisitos previos necesarios en función del juego seleccionado.

Aprendí a programar formalmente con un lenguaje de programación “real” en la escuela. Mención especial a mi profesor de informática de la escuela secundaria, el Sr. Jonas Emil Enríquez, por exponerme a las maravillas de Clunky Basic (donde me vi obligado a aprender notas y octavas para personalizar los tonos y un poco de arte ASCII) y más tarde “contar desde uno “Pascal. También nos permitió usar el laboratorio de computación después de la escuela. ¿No era increíble?

Mi amor por las computadoras, naturalmente, me atrajo a aprender a codificar.

A la temprana edad de 14 años, estaba codificando mi propio BBS que se ejecutaba todas las noches durante más de un año. Eventualmente, acumuló más de 300 usuarios y se convirtió en un nodo de correo para varias redes de correo. La configuración de una BBS de acceso remoto principalmente requería que usted entendiera los archivos por lotes de DOS, ANSI y el control de flujo. Al tener un conocimiento nulo de la programación, fue extraño cómo me resultó natural. Entendí el control de flujo desde el principio.

Llegué a la universidad (1996), tomé Informática, con la esperanza de profundizar mi comprensión sobre cómo funcionaba el software. Me sorprendió saber que mis profesores no eran tan buenos en la programación. Eran más teóricos que cualquier otra cosa, así que me dediqué a programar libros y aprendí tanto trabajo independiente como pude. Yo estaba literalmente soñando con la codificación de Java. Para estas fechas, el dinero era mi mayor motivador. Conocía a algunas personas que estaban haciendo un software de creación de asesinatos y solo quería ser como ellos.

Avancé 22 años, diría que todavía tengo el mismo entusiasmo cuando empecé a codificar esa BBS. Sigo codificando todos los días (pero principalmente en Objective-C), y de vez en cuando sigo soñando con un código.

Mi padre era director de una escuela primaria a principios de los años ochenta. La escuela obtuvo un Commodore VIC-20, una computadora que tenía una CPU 6502 de 8 bits y 5K de memoria, y el tema de un anuncio realmente cursi de William Shatner.

De todos modos, mi papá necesitaba un conejillo de indias para probarlo, y él correctamente dedujo que lo encontraría interesante. Fue la chispa, supongo. De hecho, teníamos el único VIC-20 de la escuela en mi casa los fines de semana.

Un fin de semana, mi abuelo le dio un rompecabezas: un granjero vendía vacas por $ 10, cerdos por $ 5 y pollos por $ 1 por pareja. Fue al mercado y volvió con $ 100. ¿Cuántas vacas, cerdos y pollos vendió?

Mi padre era un genio de las matemáticas, pero no estaba interesado en resolver este rompecabezas, y estaba un poco molesto. Dije: “Podría escribir un programa para resolver eso”. Así que escribí un enfoque de fuerza bruta en el VIC-20 (porque no era un genio de las matemáticas) y 20 minutos después, mi padre llamó a mi abuelo con la respuesta correcta.

Esto me hizo querer resolver los problemas de la gente usando las computadoras para vivir. Nunca lo he lamentado por un minuto.

No se desempeñó bien en el curso de programación de la universidad. Estaba obsesionado con la robótica y tenía un objetivo en mente para crear uno en mi vida. Sueños infantiles ¿eh?

Frustrado, al ver mi objetivo alejarse de mí. Tomé mi computadora portátil y me dije a mí mismo: “A la mierda, lo aprenderé a mi manera” . Salté el libro de programación y comencé a hacer desafíos de programación. Cada vez que fallaba, lo intentaba una y otra vez. El primer ejercicio fue el más duro y se llevó más fracasos. Pero se hizo más fácil a medida que avanzaba. Cuando terminé, me di cuenta de que era de mañana. He estado haciendo esto toda la noche.

Después de eso, se convirtió en una adicción a la vida.

En 1998 obtuve mi primera PC. Mi familia tenía 12 años. 6 meses después tuve AOL 3.0 y vi programas personalizados que utilizaban la API de Windows para interactuar y afectar la interfaz de AOL. De ahí en adelante, Programmig fue la cosa más interesante que vi y pasé incontables horas tratando de aprender a programar. La comunidad en línea no era mucho en aquel entonces (plantsourcecode .com era el único recurso en línea que conocía) y tuve que intentar aprender de las personas en las salas de chat y analizar el código fuente. No entendía mucho en absoluto, pero poco a poco comencé a entender cómo funcionaban las funciones y, finalmente, tenía una base sólida. A través de esto me apoyé y usé vb3, vb4, vb5 y vb6. De esto aprendí los estándares de programación, API de Windows, subclasificación y cualquier concepto variado. Tanto que cuando tomé AP Visual Basic y c ++ a través de mi escuela secundaria, estos cursos fueron muy básicos para mí.

Runescape fue el juego que todos jugaban en la escuela secundaria. Originalmente creado por una persona (y su hermano), Runescape abrió un mundo lleno de vastas áreas para explorar, actividades para realizar y búsquedas para completar. Pasé mucho tiempo jugando Runescape y soñé con hacer mi propio MMORPG.

En 8º y 9º grado comencé a aprender a programar, comenzando con HTML, CSS, Actionscript 2 y Actionscript 3 seguidos de PHP, Javascript y un poco de Java y C ++. Nunca completé (ni hice ningún progreso hacia) un MMORPG (no era tan creativo, no era muy bueno en diseño gráfico, y mis intereses se expandieron para incluir otras cosas), pero me encontraba disfrutando la codificación Sin embargo, y se mantuvo como un pasatiempo divertido.

Vas a reir…

Cuando era niño, me impresionaron las cajas de software en la tienda. Sí, solían poner software costoso en cajas, con muchos disquetes y manuales (!) Dentro. Habría arte bastante ilustrado en el frente y capturas de pantalla en la parte posterior. Supongo que las cajas deben ser pesadas para justificar los precios. (¿Quién se molestaría en RTFM de todos modos?)

Siendo curioso y todo, decidí enseñarme a mí mismo BASIC y Pascal, luego C y C ++. Pensé que algún día podría vender mi propio software en una caja aún más grande.


Cuando cumplí 6 años (1981), un amigo mío consiguió un VIC-20 para Navidad. Todavía estaba leyendo los libros de tipo “See Dick run”, pero de alguna manera se juntaron con el manual del propietario para hacer que la computadora emitiera un pitido. Me enganché.

Meses después, finalmente dejó de invitarme porque me sentaba en su sótano programando juegos de preguntas y respuestas, escribiendo códigos de máquinas de las revistas y finalmente creando una aventura de texto básico. Nunca estuvo muy impresionado, y pasó la mayor parte del tiempo arriba, escuchando a Van Halen y tocando su Atari 2600.

Mi hermosa computadora de casa Dragon 32.

Cuando te encuentres con la palabra “LISTO:” o “OK” y un cursor parpadeante, tienes que aprender a programar para que haga cualquier cosa.

Pasé de Microsoft Basic en el Dragon 32, a Commodore Basic en el + / 4, luego pasé al ensamblador C y 68k en el Atari ST. Alrededor de 1990, mi profesor de ciencias de la computación me prestó un Acorn Archimedes para las vacaciones de verano, las cuales hackeé con abandono. Estaba muy molesto por tener que devolverlo.

Después de eso, me uní a Dark Side y compré una PC que puso fin a una gran parte del disfrute que obtuve de la programación, hasta que instalé Mandrake Linux en una máquina Pentium (creo) en 2004, y volví a la programación cuando Me di cuenta de que podía instalar literalmente cientos de lenguajes de programación y jugar con ellos de forma gratuita.

Comencé a aprender a codificar porque quería hacer videojuegos, pero me interesó más cómo me interesé en la informática.

Lo atribuyo a tres eventos:

  1. Leyendo “Cómo convertirse en un pirata informático” ( http://www.catb.org/esr/faqs/hac …)
  2. Aprender a usar una línea de comando, no solo me pareció poderoso, sino que los nombres de los programas, que a menudo son bromas, me hicieron sentir que esta era una comunidad muy agradable.
  3. Al leer el libro “Estructura e interpretación de los programas de computadora”, Scheme es un hermoso lenguaje, la programación funcional es increíble y este libro está escrito con maestría.

Me encantaban las computadoras, y me encantaba jugar videojuegos. Lo que me inspiró a aprender a codificar fue el desarrollo básico del juego. Comencé por primera vez con el aprendizaje sobre el diseño de niveles antes de descender finalmente al código. Aprendí sobre el motor de fuente de Valve, y me encantó la creatividad con la que estaba involucrado en cada nivel que hice, y por eso pensé que tal vez podría hacer mi propio motor, y así continué mirando el código fuente para varias motores de juego. Pero lo que sí fue, es que no entendí en absoluto lo que significaba. Así que empecé a estudiar Quake Engine, aprendí que se construyó a partir de C y Objective C. Empecé a estudiar C, y empecé a comprender que una vez que desglosas un lenguaje en su esencia, esa es la única dificultad. Lo voy a tener memorizando la sintaxis.

Hay una serie de razones por las que aprendí a codificar. Cuando aprendí a codificar por primera vez, probablemente se debió más al hecho de que acababa de descubrir QBasic en el 286 que me habían dado. Esto fue alrededor de 4 años después de que descubriera por primera vez el concepto de programación en un pequeño libro de 16 páginas en la sección para niños de la biblioteca.

Siempre quise ser una diseñadora y tenía interés en convertirme en diseñadora de juegos. Siempre tenía ideas para juegos y consolas y también aprendía electrónica cuando tenía 10 años.

Mi pasión por las matemáticas hizo que la programación fuera divertida y atractiva, ya que podía usar rápidamente programas para probar fórmulas y conceptos matemáticos. Al recibir una máquina de escribir como un niño pequeño con un libro que lo acompaña sobre cómo aprender a escribir, se aseguró de que pudiera tocar, lo que hace que sea mucho más fácil aprender a programar.

Entonces, cuando tenía 15 años, ya había aprendido la electrónica analógica básica, había diseñado circuitos para un reloj digital, había hecho algunos intentos de codificación para imitar la mecánica de invasores del espacio en QBasic y la codificación de un sistema de renderizado de gráficos en 3D, y sabía lo suficiente como lenguaje de ensamblaje para iniciar mi intento. en hacer un intérprete de CPU básico (son realmente fáciles).

Así que después de eso fue simplemente una cuestión de ir a la universidad y hacer una formación profesional avanzada en TIC y luego un título en Ciencias de la Computación, lo que me introdujo una serie de conceptos que podría o no haber considerado, lo que me permitió ser un profesional Programador en lugar de solo como un hobby.

Es simple. Mi padre. Ahora no es principalmente un programador, pero estoy enormemente agradecido por verlo leer libros de C ++ y hacer magia en las computadoras cuando tenía unos 11 o 12 años. Luego me encontré aprendiendo esos hechizos crípticos que dominan las computadoras, revisando libros y asistiendo a cursos de programación para alumnos de la universidad cercana. Al principio era Visual Basic, luego Pascal, luego C y C ++ y otra docena de idiomas aprendidos hasta la fecha actual. Espero que algún día también pueda traer una gran inspiración a mi hijo.

En 2007, tuve una situación que necesitaba para publicar cierta información que tenía en mente, pero no había grandes opciones o recursos para hacerlo. Hubo algunas fuentes de redes sociales y un montón de sitios web en los que estaba limitado, considerando que vivo en un país pequeño con, en ese momento, un conocimiento limitado de idiomas. Entonces empecé a profundizar y encontré una solución llamada uNet. También era limitado, pero durante algún tiempo tuve lo que necesitaba. Alrededor de 2009, tuve la necesidad de ampliar las posibilidades de compartir información y, de nuevo, estaba limitado en ese momento, así que tuve que resolver algo. Luego me di cuenta de que todo puede ser codificado, solo siéntate y vete (así me parecía en ese momento, porque no era tan fácil, por supuesto). Encontré recursos en Google, de los cuales aprendí el lenguaje de programación PHP (conceptos básicos, por supuesto). Estaba limitado a los idiomas, no sabía muy bien el inglés, por lo que no podía entender todas las definiciones que se explicaron, estaba completamente en blanco para mí. De alguna manera me di cuenta de que no necesito mucho conocimiento para aprender, así que empecé a indagar en los códigos de otras personas y todo me quedó claro (tomó tiempo, por supuesto, pero aún así …). Busqué en Google para las explicaciones, para todo tipo de definiciones de codificación y el idioma inglés en sí y lo clavé. Ahora conozco lenguajes de programación como PHP (con todos los conceptos de OOP, ORM y otras cosas) + un montón de Frameworks, Javascript (con muchas bibliotecas como jQuery), HTML, XML, JSON, YAML, bases de datos SQL con todas las UNIONES Y esas cosas y un poco de otros lenguajes de programación como Objective-C. Ahora es mucho más fácil entender los lenguajes de programación como son, es más fácil de aprender. Y con aproximadamente 4 años de experiencia, trabajo para una compañía que desarrolla sitios web, que es la compañía más común en mi país. Algo como eso..