Obtuve una licenciatura en informática hace mucho tiempo y no he trabajado como programador desde los años 80. Si estoy considerando volver a la programación en unos años, ¿qué debo hacer / estudiar para prepararme?

Ha habido mucha bifurcación IMO desde los años 80. La programación fue fácil cuando todo era línea de comando, un programa a la vez. Así que ahora no es solo el idioma, es todo el ecosistema en el que tienes que entrar. Así que elige sabiamente. Los conceptos básicos son los mismos, pero los marcos son mucho más grandes de lo que solían ser. Si planea hacer aplicaciones, hay un montón de tutoriales disponibles de los fabricantes, que obviamente lo quieren en su caja de arena, no en el de otra persona. Si planea hacer PC o Mac, prepárese para un conjunto completo de herramientas y bibliotecas.

Creo que la web es el lugar más sencillo para programar. No como Java, sino como los lenguajes con guiones.

Como dijo Piaw Na, encuentre un proyecto que le guste. Juega con ello. Eche un vistazo a algunos cursos en línea (http://lynda.com es ideal para aquellos). Averigüe qué tipo de programación desea hacer, en qué plataforma y luego avance.

3 cosas me vienen a la mente.

Primero: muchos de los lenguajes ahora populares no existían en los años 80, por lo que querrá asegurarse de conocer los conceptos básicos de algo como Python y JavaScript al menos. Estoy seguro de que otros tendrían diferentes opiniones sobre qué idiomas específicos serían buenos para aprender (depende del problema y sus preferencias / las del mercado), pero si aprendió Pascal y C en el día, bueno, debe levantarse acelerar en uno o más de los idiomas más nuevos.

Segundo, la forma en que programamos ha cambiado una vez más desde los años 80. La programación estructurada ha dado paso a la orientación a objetos. Debe comprender las clases y los objetos tal como se implementan en el nuevo idioma que está aprendiendo. Si no tienes mucha experiencia trabajando con clases y objetos, tu experiencia puede hacerte tropezar trabajando en proyectos modernos que asumen esta orientación hasta que lo entiendas lo suficientemente bien como para codificar de esa manera.

En tercer lugar, muchas cosas ahora vienen preescritas, ya sea en el lenguaje mismo o mediante bibliotecas de terceros de código abierto. Estoy constantemente tropezando con llegar demasiado lejos en la codificación de algo, solo para descubrir que ya hay un código que se puede usar. El trabajo del programador moderno es a menudo saber cuáles son todas las buenas bibliotecas y API y escribir código de pegamento para construir cosas, en lugar de codificar a mano cosas como tipos, montones y otras funciones de nivel superior una vez más.

¡No puedo alabar lo suficiente la “Introducción a la programación interactiva en Python” de Coursera! Enseña programación de Python usando varios juegos. El curso está muy cuidadosamente construido y claro. La Universidad de Rice, que imparte el curso ahora también tiene dos cursos de seguimiento en la serie, después de lo cual sería bastante fluido en Python. Todavía no tengo una buena recomendación para otros idiomas, aunque todo lo que he probado en Lynda.com ha sido excelente.

Lo más importante es trabajar en un proyecto que le interese. Usa ese proyecto para estirar tus habilidades. Los teléfonos inteligentes de hoy son el equivalente de las PC de gama alta en la década de 1980, por lo que se sorprenderá gratamente al descubrir que programar esos dispositivos es muy similar a programar una PC en la década de 1980.

Dada su educación e historial de trabajo, me pregunto por qué no quiere ir a la escuela de posgrado y enseñar a nivel universitario u otras opciones donde puede combinar sus habilidades de programación con sus habilidades de enseñanza.

¿Por qué rebajarse a la codificación dada su experiencia?