Monday, August 27, 2007

Do you manage people who program?

Do you manage programmers or software engineers, people who write code for a living? If you do, check out Paul Graham's Holding a Program in One's Head. It explains the importance of getting a program into a programmer's working memory ("head") and the damage to results and productivity that can be created by distractions. I think the same applies to certain other fields, too. I know that modeling and simulation work quite resembles programming in that regard; perhaps you can list other fields where it takes significant time to get all the pertinent information into our heads before we start real work.

As an aside, Graham recommends succinct languages for more powerful results. J is one language that's quite succinct and quite powerful. It's easy for many of us to use as aids in our current work; that's why I recommend it for managers and knowledge workers, not because we're dense but because our primary contribution isn't programming, and I find J augments my capability without making me a programmer. I also recommend J for serious programming work, for I've seen what true J experts can do, and it's both impressive and leverageable.

Labels: ,


Blogger Paddy3118 said...

Thanks for the link. I too read "Succinctness is Power", but thought that succinctness is not enough.
You need regularity and 'composability'- being able to take separate language 'constructs' and combine them in a straight forward manner - to make a language truly powerful. With that your anguage needs only a few well thought out base constructs, and straight forward methods of combining them. You can easily get your head around that. and as your problem unfolds, your brain is adept at creating the right permutation of language features that can solve the problem - free from the mental jarring caused by 'special cases'.
It is easier to learn X things and Y ways of combining them than X times Y individual things.

- Paddy.

29 August, 2007 00:05  
Blogger Bill Harris said...

Paddy, thanks for your comment. I agree. While I'm not suggesting that everyone switch to J, that language has some of the best regularity and function composition I've seen (then again, I haven't stayed current on a broad range of contemporary languages). See, for example, the J vocabulary, J's use of array rank, and J's compositions such as hooks, forks, and the like.

The J Primer is a good way to get an introduction to J; if you check it out, be sure to read it in conjunction with a running J session so you can try things out.

29 August, 2007 09:12  

Post a Comment

<< Home