It is interesting and not surprising how as years pass by, the technologies that we use evolve and how our viewpoints evolve. Growing up, I have seen big bulky computers to lightweight laptops, fixed landlines to mobile phones, loudspeakers to headsets, floppy disks to USB keys. The list is too long to write it here. However, this evolution somehow hides the way we use energy and resources. In the process of learning new technologies, we also participate in the process of unlearning. We often talk about this timeline of the learning process, but quite rarely that of the unlearning process.

As we shifted from physical books, magazines, and bookshelves to their virtual equivalents, we lost along with them the notion of space. As humans, we have been used to navigating in spaces and our brains orient ourselves to the right place while looking for a book in a physical library or an object in a grocery store. However, now we are confined to the screen in our hands and we have lost the notion of space. We search for the relevant information with words or make use of filters, and the books or objects that we were searching for appear on the screen. Over the years, and especially the next generation may completely lose this notion of space for finding the day-to-day objects because they are and will continue using words to guide them.

In the last few years, with the growing availability of mobile devices, we are observing another major change. Instead of typing words, buttons guide us and we have shifted from clicking on the buttons using pointing devices, like a mouse to touching these buttons with our fingers. And we are in between the phase of learning to use touchscreens and the older machines with pointing devices. I have now this constant instinct of considering big screens as touch screen devices instead of other forms of interactions.

As a programmer and as a person giving programming classes, I feel that we are facing these questions and challenges related to choosing the latest technologies and learning new programming languages, new frameworks, new programming paradigms as well as new techniques to handle user interactions. This also means that what we used to call ‘fundamentals of programming’ has now shifted to a whole new realm. We are now constantly facing decisions to include or exclude certain topics with the rapid evolution of technologies. I hope that some technological historians will provide us with a deeper analysis of the changes that we have undergone since 2000, both as the users and developers of technologies.

It is disheartening to see that we may lose some of our inherent capacities with some new technologies. I wish that the upcoming years will simplify the way we use technologies and provide us with solutions that makes use of all our human senses and capabilities. I hope that we make use of all the lessons learned during this rapid technological evolution and also give opportunities to our future generations to explore the older solutions. Who knows if they come up with better ideas to use the older solutions augmented with newer approaches?