Posted: July 4, 2023 | Categories: Developer Tools
Note This article is cross-posted from johnwargo.com
I had shoulder surgery just about a month ago. Surprisingly, I had very little pain, so I went back to work much earlier than expected. Not being able to do much, I spent my free time migrating a couple of WordPress sites to Eleventy. Typing one-handed is cumbersome, but I got good at it and got a lot of work done.
Having gotten caught up on my web development tasks, I started on another project. I keep all of my personal mail in Outlook, and archive anything older than a year old to an archive file. I noticed recently that because of this archiving process I had a bunch of empty folders in my inbox. Having done a fair amount of Outlook automation in the past using Delphi I thought I'd write a quick little utility to delete all of those empty folders.
I fired up RAD Studio (the IDE for Delphi) and started copying in a bunch of code I found on the Internet and quickly found that it was really hard to code in RAD Studio one-handed.
Now, you need to understand something about me. I started coding in Turbo Pascal back in the 80s; I even had a CP/M card in my Apple //e so I could run Turbo Pascal. When (then) Borland released Delphi 1.0 (1995), I immediately ordered a copy and have owned a license (with many, many upgrades) ever since. Until I started building mobile apps, all of my commercial software products (including one IBM sold worldwide) were written in Delphi. I've written a lot of Pascal code in Turbo Pascal and Delphi editors, of any compiled language I've worked in, this is the one.
For me to say it was really hard to write some Delphi got me thinking: Why was it so hard to do one-handed? As I explained in the previous paragraph, I'm kinda an expert in Delphi, why would it be so much harder?
Its the tooling.
I do most of my coding in Visual Studio, as much as I can. I own licenses for WebStorm and PyCharm, but I rarely use them. In Visual Studio, I've installed a bunch of plugins that really make my one-handed coding life easier. The two most important for me are IntelliCode and GitHub Copilot.
The two work together to eliminate a lot of the coding work I do. I knew Copilot was awesome (I was a Beta user and pay for a license today) and I'd forgotten about IntelliCode running in there, but with them in there as I work on a project, they both make really accurate suggestions and, when I accept them (which I usually do), it dramatically cuts down on the work I do.
One of the things I like about it, and I think its IntelliCode that's doing it, is that many of the recommendations I get are in my coding style. IntelliCode apparently looks how I did similar things previously and suggests things in the same coding style. How cool is that? I knew I had my own style, I wasn't expecting the tooling to pick up on my style and parrot it back to me.
I hadn't thought about how much these tools help me until I used an IDE that didn't have AI helpers. The difference is mind-boggling.
I put aside my Delphi work, as its just too hard to do right now. Perhaps I'll pick it back up again when I have two hands at my disposal.