I am a software engineer and architect living in Albuquerque, New Mexico. (I’m other things too — husband, dad, etc, but this blog is about programming.)

I call myself “engineer” and “architect” because I’ve designed and built big complicated systems. But at heart I’m really a programmer. I think about how to solve a problem and I bang out the code. That’s what I love. I guess I have a lot of focus because I can write thousands of lines of code, and it’ll pretty much work as soon as I get it compiled. Of course that’s not the end of it because there are always integration issues and bugs that have to be ironed out. And testing routines to build. And user-interfaces always have to be fixed and tuned and made attractive, which is inherently collaborative and iterative.

I’ve been thinking about the future of programming lately. I think we’ll get away from text-based programming in favor of a graphical or diagram-based approach. Of course there will still be a lot of text in any description, but structure and order is better shown with boxes and arrows. Think of UML diagrams, except with much more depth, where diagrams can nest inside other diagrams and parts can be hidden or emphasized at will. And one underlying structure can be illustrated by many diagrams, and many different kinds of diagrams.

Once you drop the requirement that a diagram has to be printable, you can start using it as dynamic information-dense multi-dimensional programming “language”.

I’ve built programming tools and environments in the past, and I’ve designed and built diagram-based editors, so you can see where I’m coming from. I’ve also worked on design/test tools for electrical engineers/circuit designers, which have to organize and manage a huge amount of information.

You can reach me at nealabq at gmail dot com.