35 Coding Habits to Avoid

Christian Maioli Mackeprang has an interesting post on 35 habits that can negatively affect your coding. I’ll let you read them and make your own judgments as to their value for your situation but I’d like to comment on two of them.

The first, #20: Not bothering with mastering your tools and IDE, really resonated with me. Lately, I’ve spent more time than ever working on learning to be a more effective Emacs user. This is true even though I’ve been using Emacs for almost a decade. Every Emacs user knows there’s always something new to learn so you can probably never master the editor but the journey can make you appreciably more effective. I’ve found that the work I’ve put in has paid dividends that have more than made up for my effort.

The second bad habit, #22: Romanticizing your developer toolkit, is in some sense the converse of #20. I didn’t like it as much as #20 because it’s pretty clear that I am exceedingly attached to Emacs to the point that it is the epicenter of my workflow. Still, Emacs can’t do everything and, of course, I use other tools. Some of those tools make more sense for my workflow than using the corresponding capability of Emacs. I keep my calendar in the Apple Calendar app rather than any of the (perfectly adequate) calendar solutions in Emacs because it’s easier to sync it across all my devices and share some events with others.

For editing, though, I will always turn to Emacs. You can make the case that other editors or IDEs might be better for certain situations—the Racket IDE for Scheme or Eclipse for Java, for example—but the pain of switching to another editor and abandoning, even temporarily, my editor muscle memory means that Emacs is a better solution for me. Your mileage may vary, of course.

This entry was posted in Programming and tagged , . Bookmark the permalink.
  • * There is a steep learning curve in making Emacs useful for you.
    * World is stepping into age of AI and voice guided computing.
    * Software don't always play well together. Google and Apple have incentive to close software and retain their customers.
    * Emacs is textual and it's all images and gifs out there.

    All of these make me wonder if someone should really spend an enormous amount of time learning Emacs or similar tools.

    • jcs

      Most things in our industry have a steep learning curve. The question is whether or not Emacs' is significantly steeper. I've argued elsewhere that the "Emacs is hard to learn" meme simply isn't true. What is true is that you'll probably never know everything there is to know about the editor but that's also true of many other tools. Who, for example, knows all the wrinkles of the C (or, really, any other) language?

      As for that wonderful day when we can just say, "Computer, write me a program to calculate the burn schedule for a moon landing," it isn't here yet. Except for what are essentially toy programs, what we do involves writing text so we might as well have the most powerful tool available to do so.

      So yes, I do think it's worthwhile to spend time learning your tools and Emacs in particular.