I remember the time when we as students first learned to program on early versions of PCs and terminal machines connected to a mainframe. Word processor software, namely WordStar and WordPerfect, were your everyday companion to write papers or stories. Productivity utilities for the first personal computers were innovative, especially that that memory allocation and processing power were so scarce. Developers of such tools had to find ingenious ways to create products that do not occupy all the machine resources to leave you with enough capacity for your work and software. What is now common in the development environment, including multitasking, multiple windows, screen splits, live code sharing, containers, cloud storage syncs, wireless headphones while coding, StackOverflow or Google for help, and virtually anything else you do today while coding did not exist a few decades ago. If I would pick up on some technologies that seem to stick around are:
– Listening to music while coding but not in the same and exact way we do today. You would have a double radio cassette player (if it is one of the big ones then you are rich!). The sound is covering the room until we managed to get our own Sony Walkman.
– Dark, green, or cyan desktop screens like terminal machines, monochrome monitors, and Commodore computer screens.
– Programming languages and standard operating system shell commands that are still common “dir” “cd”, or words like compile and run.
– Keyboard shortcuts! Yeah, shortcuts. The CONTROL key, ESC Key, Function, Alt, Option, Command on your keyboard were a legacy for developers. (Side note some keys like the Command Key or the Windows key were possibly part of the political battleground for Microsoft and Apple.)
Non-developers may not really know or care about the CONTROL key (other than copy and paste). They may find the TAB key convenient while writing but are not aware of the war of the worlds in TAB vs SPACES when writing code. They would see the function key or keys (F1, F2,.. ) on their computer but not do anything with it. They will not appreciate when young developers in the late eighties would find ingenious ways to make use of such keys for games, tools, and software. Apple also put a dagger in the developer’s heart when the ESC key was removed in their latest MacBook Pro. That key was so essential for developers using VIM and other text-based editors that people like me managed to turn a hardly used key CAPS Lock as my ESC key. Love it or hate it but Apple kept faith with its Command key which does not exist in Windows keyboard. It made it difficult for multi-OS developers using Windows/Linux, and MacOS to remember all the shortcuts when using the CONTROL key, the OPTION key, and the COMMAND key. On top of that, you have the ALT key, SHIFT-CMD, ALT-SHIFT-CMD, OPTION-CMD, CONTROL-OPTION-CMD, etc. and then add a character or number next to each one to perform a specific function.
To get an idea of how shortcuts can be confusing if you are switching between a Windows and MAC Visual Studio Code take a look at the shortcuts for Visual Studio Code https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf and compare it with the Mac version https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
The difference is substantial, and that is for one product across two different platforms. If you want to learn the various Windows operating system keyboard shortcuts you can check the link https://support.microsoft.com/en-us/help/12445/windows-keyboard-shortcuts. For Mac, you can check https://support.apple.com/en-us/HT201236 Good luck remembering a lot of those keys.
In today development environment, key stroke shortcuts keeps getting created for every software product imaginable. Products like Visual Studio Code, Sublime Text, VIM, Office 365, LibreOffice, Mac OS own tools (screen capture and navigating around) have their shortcut commands along with the option of creating your own. As new products for developers come around, we have to remember new shortcuts. We are all humans, and we all age. So keeping up with the pile of shortcuts is problematic. Yes, there are options of not using shortcuts by using the Mouse, but we want to be fast and quick. We are developers after all!. I am not demanding a massive revolution against software manufactures that offers you new products with new shortcuts, but I think that the community needs to come together on making shortcuts less of long cuts. For instance, the famous CTRL C and CTRL V (copy and paste) should stay across all platforms and should not be replaced with CMD C & CMD V for Macs. Screenshot capture and paste should have a standard approach across OSes (remember Print Screen key?) We should demand that keyboard keys for Apple and Windows machines be the same – no more separate Windows flag or Apple own CMD key. The ESC key must return as well for Apple machines. These are just my ideas; others might have other suggestions in mind. Maybe we can eventually have an international developers guild of standard shortcuts. Keyboard shortcuts are productivity functions. With our hands on the keyboard at all times, we can navigate and code much quicker than when using the mouse.
Now you can do select all, CTRL C to copy the text, and CTRL V to share it with all your developer friends. (Oh sorry, this applies to Windows users. CMD C and CMD V for Apple users)