Wed 28 Jan 2015
For the past three months, my desktop monitor has been a shiny new Seiki 39″ 4K television. That’s right, 39 inches of glorious pixels, 3840×2160 of them to be exact. It works beautifully, and was worth every penny. Serious programmers who want to look at a lot of code at once, I welcome you to do your own research on 4K TVs and monitors and consider one for yourself.
However, that is not what this post is really about, because life wasn’t always so easy.
This is where the Christmas story comes in: 8th grade. One of the most memorable Christmases of my life, because this was the Christmas when I got my first computer: a Commodore VIC-20. Hooked up to a TV, it produced a 176×184 pixel display, good for 22 rows by 23 columns of text. But, sadly, it did not start out that way. We had difficulties right out of the box getting the TV synced up, so there was no display at all. Did this stop this budding programmer to be? Heck no. I started typing in my first Commodore Basic program in the blind. Now, let’s not get into the details about how well that program turned out, but suffice it to say, that as far as computer monitor resolution goes, I started at zero.
That’s not me… my screen was blank.
Years later, the VIC-20 would be replaced with a C64, and my pixels nearly doubled. I now had 320×200, and 40 columns of text. They again doubled when I graduated to an Amiga 500 in college and found myself staring at a flickering interlace display of 640×400 pixels. I could see 80 columns of text!
My first taste of wide-column programming was the VT-100 terminal in the college computer lab which I could set to 132-columns. By the way, this annoyed other students who didn’t know how to change the display mode settings and also did not enjoy squinting as much as I did. I should take this opportunity to apologize to those guys, writing Pascal on a VAX 11/780 had enough pitfalls for a college freshman — I shouldn’t have made it worse for them. Another interesting side-note is that the Slick-C command record_macro_end_execute_key() which you might find assigned to Ctrl+Shift+F1–F10 was inspired by the macro recording features of the Eve editor on the VAX.
In graduate school, I was exposed to Sun workstations with 19 inch CRT monitors that were about the size of a mini-fridge and consumed about as much energy as a Nissan Leaf at a tractor pull. 1152×900 pixels of delightful X-windows wonder. I eventually would trade my Amiga 2000 for a Sun 3 of my own, which became my home computer for quite some time. These were the salad days of C and C++ programming with the VI editor.
When I joined SlickEdit, I moved to Windows as my primary machine and eventually graduated to a machine with a 19 inch 1600×1200 CRT monitor that kept my desk firmly pinned to the floor. This served me well, until the day that SlickEdit started getting daily complaints about how list-members in SlickEdit 4.0 did not work correctly with a multi-monitor setup on Windows. Apparently, the list was coming up on the wrong monitor, and this would just not do. Happy with my one big monitor, I felt like these people were just being silly using two smaller monitors to get about the same amount of resolution, but I begrudgingly set up a dual-monitor configuration on my machine and proceeded to fix the display bugs. What I did not expect was that I would fall in love with having multiple monitors. It allowed me to work faster and keep track of more things at once. I thought I would never go back to a single monitor.
When 17-inch 1280×1024 resolution LCD monitors dropped below the $100 price point, I soon I had four monitors on my desk. This was the most pixels I’d ever had in front of me, but it was not enough, because they were too narrow for DiffZilla. I would eventually replace two of the LCDs with 21-inch HD monitors, one in vertical orientation and one in landscape for DiffZilla.
All those machines and all those monitors are gone now, dust in the winds of change. 4K is the current zenith of display technology. A lot of people are already using dual 4K monitors, and Apple is shipping 5k retina displays. I look forward to seeing 50 inch curved 8k displays in the future.
The advancements made in computing hardware are normally broken down by speed, memory, storage, hardware size, and cost. Often the advancements made in display and input technology are forgotten. Compare the computer I sit behind today to that VIC-20.
- CPU — 2.8 GHz vs 1 Mhz — even simplistically measured, thousands of times faster
- Memory — 8G vs 5k — over a million times more
- Storage — 1 terabyte vs a 170k floppy — more than 5 million times more
- Size — actually, about the same
- Cost — $500 notebook + $339 4K TV vs $199 VIC-20 + cheap TV — adjusted for inflation, a lot less expensive.
- Display — 39 inch 4K TV vs 13 inch color TV (176×184 pixels) — over 256 times more pixels.
I could tile 252 VIC-20 screens on my current display. That’s a whole screen for every other character the on the VIC-20.
I concede that the gains in the other areas are somewhat more dramatic. But, when you are a programmer, what tends to matter the most to you is how many lines of code you can look at at once, and more importantly, with what degree of comfort you can absorb and navigate through the code. My personal opinion is that 4k has both improved my productivity and allowed me to award myself with a slightly larger font to cut down on eye strain. Given the current bargain prices (less than $400), it was more than worth it.