Some personal revelations inspired by tonight's BayCHI talk

Nov 08, 2005 23:47

Eight years ago I discovered Visual Basic 3. At the time I had only ever used simple imperative languages like GW BASIC and PC Logo so the ability to create user interfaces via direct manipulation was both impressive and addictive. About a year later, after having tried to build a customer and sales management system and failing miserably, I became ( Read more... )

business, technology, anecdote

Leave a comment

Comments 35

kinthelt November 9 2005, 14:46:07 UTC
What about people who use weakly-typed mainstream languages (like C), or strongly-typed non-mainstream languages (like ML)?

Reply

quikchange November 9 2005, 14:58:26 UTC
Some people's natural inclinations straddle more than one role. It's like being ambidextrous. Given what I know about you, I suspect you are primarily a design engineer (since I know you love solving theoretical problems) but with reasonable aptitude and interest for programming (since you do write good production code and care about security).

Reply


ramou November 9 2005, 15:22:47 UTC
Let's replace design engineer with software engineer, Alan Cooper is a name I vaguely recognize, and I seem to think he should have been using the proper terminology. It is, in fact, the software engineers who want the strongly typed languages *because* they promote such a crisp, clean design. It's the programmers who want the weakly typed so they can write their fast and dirty caffiene induced code ( ... )

Reply

Replying to your comments in stack order... quikchange November 9 2005, 15:52:11 UTC
I've already been looking into HCI research - what do you think the CHI in BayCHI stands for ( ... )

Reply

Re: Replying to your comments in stack order... ramou November 9 2005, 16:17:25 UTC

Your first paragraph is actually a common misconception that arose from the ironic origins of the 2 methodologies. The "Rational" process for building good software was invented by the design engineers but is actually best applied to the process of programming while the agile approaches (like XP) were invented by the programmers but are actually bets suited to design engineering. Cooper covered this in his talk but I didn't reproduce everything he said in my original entry.
Well, I've spoken with some of the people who developed the RUP, and I've discussed XP in detail with Kent Beck over drinks and not discussed Agile with Alistair Cockborn, although I did help him find his way around a conference because he had an eye infection and was doped the fuck up... (I too tend to get dinners with the keynotes at conferences). I've used both, although Kent would suggest that you're not doing XP unless you're following *ALL* the steps suggested ( ... )

Reply

quikchange November 9 2005, 16:54:22 UTC
According to Cooper, an iterative approach to production code means that programmers either spend a lot of time writing high-quality code that is subsequently discarded (a colossal waste of time) or they write quick'n'dirty code that ends up shipping (a maintainence nightmare). That's why he advocates using XP (or related techniques) for the prototyping work vital to getting a good architecture (or high-level design, if you will) but not for producing the code that will eventually be used by customers.

He is adamant that "release early, release often" results in a lousy user experience and a lot of expensive code rewriting.

Reply


tangbu November 10 2005, 05:22:36 UTC
I disagree with your/Cooper's categorisation of software engineers. My interest is definitely in the UI area, but I also have strong programming instincts so I avoid VB like the plague (it can't decide whether or not it's OO). Algorithms are just a mechanism for getting things done. So I spend all my time designing the UI and then write it in C. What does that make me?

I know many programmers who make a good living writing code and have never used a command line in their lives. Take their IDE away and they're helpless. What does that make them?

Reply

quikchange November 10 2005, 05:48:36 UTC
Until VB.NET it was object-based but not OO. It lacked inheritance, among other things. Like you, I too tend to spend lots of time designing my GUI and then coding it in C - at least when I'm not constrained by external requirements. But after reading ramou's counterarguments to Cooper, I'm not sure about any of this now...

You don't need to be familiar with a command line to be a programmer - just ask anybody who used to write apps for the classic MacOS.

Reply

Command Lines tangbu November 10 2005, 07:07:31 UTC
Well maybe so, but if you're dependent on an IDE, you're not a real programmer. Then again there are people who swear by vi, one of the worst UI abominations ever created by the Unix crowd, and that's saying something...

Reply

Re: Command Lines quikchange November 10 2005, 07:17:02 UTC
A programmer is somebody who writes code for applications. The tools used can make this easier or harder to do but don't change the fact that this person is a programmer.

You appear to have an arbitrary definition of what a "real" programmer is.

Using the tools that allow you to be most effective is generally a good idea. Of course, tools that make it very convenient to do otherwise complex tasks tend to make their users dependent upon them. Are you a "real" driver even if you use an automatic transmission?

Reply


grosskur November 10 2005, 19:02:10 UTC
OO is a style of programming, not a property of some particular language.

Reply

quikchange November 10 2005, 19:23:09 UTC
That's not what I learnt in my Programming Languages course...

OO is a programming paradigm (like functional, imperative, et al). Languages either support or prevent these paradigms from being used.

However, in a remarkable display of ambiguity, OO is also considered to be a programming methodology/style! Methodologies are different and not tied to specific languages so tightly.

It turns out that the reason for this ambiguity is because OO is really a design paradigm.

All this semantic juggling is making my brain hurt :-(

Reply

ramou November 11 2005, 00:43:26 UTC
what he said.

Reply


ramou November 12 2005, 04:14:02 UTC
heh, sorry for my hijack ranting. I'll try to be less zealous next time.

Reply

quikchange November 12 2005, 05:57:45 UTC
Oh, it's fine; I enjoy a good discussion :-)

Reply


Leave a comment

Up