Someone, including me, thinks that one of the greater computer science inventions is the “Copy & Paste” stuff. Late in the 80’s, when I started programming in Pascal and AIM65 assembler language, I had to use VT100 and VT340 terminals. Yes, “vt100” isn’t only a value for the environment variable TERM. It is (it was) a physical terminal connected to a kind of serial hub called terminal server. I have evidences. One follows
Please, not be fooled by the big head of the fat boy. He was a dumb one. No RAM, no disks, no interfaces (except keyboard plug). He was just a typewriter in a kind of 70s outfit.
Writing professional software requires a well defined namespace for variables, data structures, constants and functions. This is for maintenance purposes. A variable name should be meaningful so you aren’t free to name it after your sweetheart nickname.
For this reason, having a lot of names to assign to several objects in a 10.000 lines of code, very precise rules have to be applied. So, it happens that you can have an array integer element like this:
And imagine to have to write this name a couple of hundred times in your code and then compile it 🙂
When X terminals and mice arrived on our desks, we discovered the “Copy & Paste” function, so we were able to write code ten times faster just avoiding long names’ typing errors.
I have to be honest. Like all powerful weapons, the “Copy & Paste” tool has a dark side. In the same way you can replicate the boring names, you can replicate errors and portions of code avoiding optimization and making software maintenance a nightmare. But this is the the eternal struggle of good against evil. Anyway, this is only on us. So, let’s sincerely thank +Larry Tesler the computer scientist that, inter alia, formalized the “Copy & Paste” procedure. All the people doing our job owe him many hours of our life.
The passage from video terminals to X terminals was a real Copernican revolution and I have a funny story to tell about this. May be in the next post.