Sie sind auf Seite 1von 23

Alan Cooper - Dot Net Rocks

Table of Contents
• The Visual Basic Story
• Visual Basic and Bill Gates
• Books, User Interface, programmers
• Business users and programmers
• EBay, Pets.com, web business
• Visual Basic vs. Other Languages
• History of Basic
• Invasion of the Lightweights
• Server Explorer
• Cooper and Cooper University
• Words of Wisdom

Page 1 of 23
The Visual Basic Story
Carl Please welcome Alan Cooper, the father of Visual Basic.
Alan Thank you, I’m getting on in years so they are starting to call me the
grandfather of Visual Basic.
Carl The joke always was who is the mother?
Alan Well, that would be Bill Gates!
Carl Oh geez!!(laughter)
Alan You asked!
Mark Well, you got to call Bill Gates a mother on the show.
Carl So the story for the 10% of the population that listen to this show and
who doesn’t know who you are, you and your company created the forms
designer for Visual Basic 1.0.
Alan Actually I invented a product and sold it to Bill Gates in 1988. We
delivered a golden master to Microsoft for them to ship. The product was
something we code named Ruby and it was a visual programming
language for users. All the type-A geeks at Microsoft were really
jealous, they could not handle that the users could program their windows
shell more powerfully than they could program their source code. So they
decided to take it away from the users and marry the visual programming
interface to the then moribund Quick Basic and thus was born Visual
Basic. So I like to say I did the visual and they did the basic.
Carl Now this is interesting, you said you delivered a language, what was that
language like?
Alan I delivered a visual programming environment; I call it a shell
construction set.
Carl But it did not have traditional language compiler built in?
Alan No, it had a very stupid compiler however the complier had a couple of
really remarkable things. Number one, it had the VBX interface that
could extent the controls dynamically, third parties could add controls
and the other thing while the language was incredibly simple minded and

Page 2 of 23
dumb it was dynamically increment-able. If something is dynamically
increment-able it is also statically replaceable, which is why Microsoft
replaced the whole frickin’ language.
Mark Well, you know Alan, I had never seen anything like Visual Basic in my
life, and it really changed the world. I often challenge students to come
up with any other development environment that pre-date Visual Basic
that allowed you to do visual programming. I had never seen one.
Alan Yeah, there were not many, there is some really interesting stuff in the
game world.
Carl When did the Next Computer hit the market? That was pretty close, was
that before VB?
Mark Was that Steve Jobs’ thing? That was much later wasn’t it?
Carl It was all a big blur, ya know, those years.
Mark I think some of that lives on in the Mac OS.
Alan Actually, there was a sort of a facility on the Mac and it came out just
about the same time I turned Ruby over to Microsoft. There was a lot of
speculation in the industry about how Apple had copied me or I had
copied Apple but in fact it was just a case of concurrent thinking. There
actually is a lot of that in the industry.
Carl Yeah, I think your right.
Alan Ya know, good ideas kinda become a thing that multiple people have at
the same time.
Carl So was Microsoft planning to come out with a new language at the time
they saw Ruby, or was it something where Bill saw Ruby and said aha,
this is the perfect replacement for Quick Basic!
Alan Well, you know that old saying the victors write the history books? Ya
know if you’re the richest and most powerful company in the universe
then you can re-write history all that you want. So it depends who you
ask. Ruby was originally intended, agreed upon, and bought and sold for
the reason of being the shell, the user shell, for Windows 3.0.
Carl Really!

Page 3 of 23
Alan Cast your mind back to Windows 3.0 and a remarkable thing happens. At
that time, Windows was not a strategic application inside Microsoft, in
fact it was 3rd string, number 1 was DOS, the number 2 string was OS/2,
3rd was Windows and 4th string was Dave Culter’s operating system that
became NT. The OS/2 guys were very jealous and angry because they
did not have anything like it.
Carl Where did you get the idea?
Alan That’s what I do for a living, I have ideas.
Carl Let me understand this, Alan Cooper is sitting on his back porch sipping
a drink and says “Ya know users need a way to be completely moronic
and need a way to draw a square and make a window out of it”
Alan It took me about 15 minutes with Microsoft Windows 1.03 which was the
first time I used it in 1986 to realize that the shell, which was called
msdos.exe, was the most unholy piece of crap ever delivered to the
computing public.
Mark You feel like you needed an old priest and a young priest after using it
for 15 minutes.
Carl (Laughs)
Alan Exactly! It was clear, abundantly clear, that someone needed to write a
good shell program. I proceeded to design a shell program pretty much
immediately. I had some sort of little shell program on my computer,
kinda from day one. I was always noodling with something and tried to
come up with what would be a great shell. I went round and round and
thought what would be a great shell for this, a great shell for that. Finally,
one day I was talking with an IT manager for a Fortune 500 company
who was in the process of thinking about converting to Windows for their
100,000 desktops and this guy went on this long rant about how he had to
service people who ran the gambit from real propeller head geeks to rank
amateurs who can not find the enter key. As he was talking I kinda had
this lighting bolt of inspiration.
Mark The Epiphany of Visual Basic.

Page 4 of 23
Alan What he needed was a construction set to build the shell you needed.
Carl Very cool, very cool.
Visual Basic and Bill Gates
Mark What was Bill Gates’ initial reaction when you showed him Ruby?
Alan Oh it was great, I have to say it was truly great, I was in a conference
room and he had brought about a dozen of his druggies in with him. Most
of them did not really get it, and still don’t, so they started to kinda throw
rocks at it and Bill looked at it and he got it right away. At one point one
of them made a nasty remark of what good is this anyway. I was inhaling
to respond to this and Bill turned around and starts explaining MY
program to him. I thought “Yes, this is good.”
Mark That’s so cool, Bill got it immediately then.
Alan In fact he got it more than I did!
Carl Well Bill has always loved Basic every since the Altair days when he
wrote a Basic compiler. He has always had a thing for Basic.
Alan I saw the product as a shell but Bill said this is going to affect our whole
product line. I thought thanks for the compliment, doesn’t mean
anything, but that is why he is the richest man in the world, because in a
couple of minutes he saw that. I do want to tell you another thing that
happened in that meeting that I’m very proud of. At one point I showed
Bill Gates animation, nobody had ever done animation on a Windows
screen before. I wrote my own utilities to do sprite animation and I
started to drag something across the screen and Bill goes “how did you
do that?” What would you say to a question like that from Bill Gates?
Carl Well, uh, I wrote it.
Alan I said the only thing I could – MAGIC!
Mark/Carl (Laughter)
Carl That is very coincidental because of the very first very cool things I did
in VB 1.0 was sprite animation using memory DC and XORing and all
that stuff.
Alan And guess what, it is not available in dot NET.

Page 5 of 23
Carl Well you can always do it in dot NET can’t you?
Alan Well as Mike Geary once said Windows is defenseless.
Mark You’ve got to go to the API to do some basic graphic things.
Alan But I’ve have to say GDI plus is really wonderful. I have spent a lot of
time venting at Microsoft for the incredibly bad quality of their
programming interfaces in Windows and I have to say that with dot NET
Microsoft has redeemed itself.
Carl Halleluiah brother!
Alan They really have done a remarkable job. And for people who know me
that is a really big compliment.
<BREAK> Books, User Interface, programmers
Carl How many books have you written Alan?
Alan Well I have just written two, but “About Face”, my first book originally
published 8 years ago, has just been completely re-written and is called
“About Face 2.0”. It has been completely re-organized and with seven
new chapters. I did it with Robert Ryman.
Carl I loved your second book the “The Inmates are Running the Asylum.” I
remember seeing you talk at VBITS and the whole argument that end
users should not be responsible for designing their software interface
because they don’t know what they want.
Alan They actually know less than programmers do. Programmers have a
weird way of looking at it, but at least they have a way of looking at it.
Users are completely random as best I can tell.
Carl But who is left to design if there is nobody left in the process. Bill the
janitor? Hey Bill, come over here and take a look at this.
Alan I believe good design is as significant as good programming.
Carl Are you talking about user interface design or design in general?
Alan User interface design, in my opinion, is a term created by programmers to
quarantine an aspect of their job that they dislike intensely. I don’t know
what user interface design is. It’s like saying that there is this portion of
the creation of software that can be thought of by other people other than

Page 6 of 23
programmers. I just don’t buy that whole structure. I think that the people
who design programs from the point of view of users who use them, what
they will do, how they will behave, they have to work in close
cooperation with those who will determine how the program will be built
from a technical construction, engineering point of view and they have to
work with the people who build them.
Carl Yeah
Alan There are really 3 roles: the architect who pays attention to the user and
the technology, the engineer who pays attention to the technology and the
programmer who has to build the thing. I think I’m one of only about 4
people on the planet who see things that way.
Mark I have a story for you Alan, I used to work for a company, several years
ago. There were 3 different divisions in the company, and CEO let the
lead architect in each division basically much design the UI any way they
wanted. So you wound up with 3 pieces of software that looked
completely different from each other from the same company. One of the
leads was color blind so you saw a user interface that was heavy with
magenta and yellow. To say it was ugly would be to give it a
compliment. No one wanted to tell this guy “Hey, this software is really
ugly, it would stop a clock.” So eventually the CEO hired an artist that
came in. His goal was just to have consistency across all 3 platforms he
was dealing with. The artist then became responsible for the UI in all of
the products. As programmers we didn’t like that it initially but I came to
enjoy the fact that the UI was all laid out for me. I just had to duplicate
whatever the artist drew up and I was done.
Alan Well that has been my experience that programmers really like to have all
that interface stuff done for them. The problem is that interface can be
consistent across multiple programs and still SUCK. It can be beautiful to
look at and still SUCK. It is just the same way that I can write incredibly
elegant code as long as it does not have to actually run.
Mark Right, I definitely agree and a point that you bring up in the inmates

Page 7 of 23
book; that programmers get caught up in adding feature upon feature
upon feature and they don’t think about the usability aspect.
Alan The thing is that many programmers care deeply about it, but caring
deeply and having the talent, the training, the charter, the support to do
something about it are separate things. Just having a concern isn’t good
enough. When I talk to programmers, they think of user interface as
something they could do if they had more time. But when they look at
other people who work in their office, they don’t look at someone, say in
the accounting department and see someone who could also be a
programmer if they had more time.
Carl Yeah, right.
Alan Why should a programmer think they could do user interface design if
they just put their mind to it? I think programming takes special talent,
special skills, special training and I think being able to design the
behavior of complex technical systems takes special talent, special skills
and special abilities.
Programmers and Business Users
Carl Programmers are definitely a special breed.
Alan Well so are interaction designers.
Carl Why do you think business people are so frightened of programmers?
Alan I think most everybody is frightened of programmers!
Carl (Laughs) And who wouldn’t be?
Alan What is really frightening about programmers to business people is the
programmers don’t care. Business people want to climb that corporate
ladder, they want to have success, they want to drive revenue up and
drive cost down. Programmers don’t care about that.
Carl They are just happy writing code.
Alan Exactly, they want good code, interesting code, they want challenging
technical problems and the bureaucracy off their back. But the thing is
business people get into pitched arguments about if they should buy or
sell. This is for the same goal, the same objective. Where programmers

Page 8 of 23
just don’t have the same objective as the buy/sell arguers have. This is
terribly frightening to business people, I would say that this is at the root
of there fear. Along with some contributing factors, I would say that
programmers have a belligerent presentation.
Carl That’s a nice way to put it.
Alan The programmer says “Look we’ve got to do it this way; there are no
other ways, if we don’t do it this way we are going to be in enormous
trouble!” That is how a programmer floats a trial balloon.
Mark/Carl (Laughter)
Alan To a business person, when they hear something like that they go “Boy
that’s serious.” And in order to parse that assertion I have to know a lot
of technical stuff. I don’t know my technical stuff as near as much as this
programmer does so I’m just going to have to defer to the programmer.
Carl Big mistake.
Alan It is like having your 9 year old kid come in and say I don’t have to do
homework, I don’t have to do homework. So you defer to the 9 year old
kid’s judgment.
Carl So programmers are 9 year old kids with bad hair.
Alan Now I didn’t say that ….. In so many words.
<BREAK> Business users and programmers
Carl So how do we survive, how do business users and programmers get along
with each other? What’s the answer?
Alan I think a lot of responsibility is with the business people, I think they
dropped the ball. They think of software as a black box that they can just
hand it off to the technical people and let them make the calls. Even if
that may have worked in the pre-computer days with tech guys on lab
benches it does not work in the software world today because the
customers interact with software all day long. They did not interact with
the engineers in an old smokestack industry. They (business people)
have got to change, they’ve got to adapt. Programmers have got to come
to the realization that having other people work with them is not

Page 9 of 23
threatening to them.
Carl Right.
Alan I guess both sides feel threatened; I think programmers are threatened
because they are used to getting their chain jerked by business people
who do no know what they are doing. Business people are scared of
programmers because they march to a different drummer. Both sides
have got to get over this and have got to understand each other.
Carl Do you see any tools, in the .NET suite, that help bridge the gap between
the two worlds?
Alan None, not at all. I don’t think it is a technical issue, I think .NET is a
great thing but has nothing to do with the social issues in the workplace. I
think it is about people and this is why I’m so interested in extreme
programming. While on the surface it appears to be about programming
technique, it is about getting people to talk to each other.
Carl You’re talking about when 2 people work at the same time on the same
thing.
Alan That is one aspect of it but a more significant aspect is that it gets
programmers talking to users, to stake holders, to customer advocates. It
gets business people to walk the path together with programmers through
the minefield of software development.
Carl So just what is extreme programming?
Alan That’s a nasty, nasty question. Let’s just say that what is significant about
extreme programming is that it gets programmers to look at the human
and social side of programming for what I believe is the first time in the
history of programming.
Carl I’ve heard extreme programming talked about where 2 programmers sit
together with 2 different brains to work on the same code.
Mark I worked at a company where a lead architect read the book on extreme
programming and he tried to put some of it into practice but it just was
not accepted by the development teams.
Alan` And this is the point isn’t it, programmers are not doing extreme

Page 10 of 23
programming, they think they are, but they’re not. Just like the people
that think they are doing goal directed interaction design but they’re not.
People think they are being good .NET programmers and they are not.
They go to a couple of conferences and listen to a presentation and go
home and do the same old thing. People using C++ think they are being
object oriented programmers but they are not. What programmers do is
so invisible and so self motivated that there is no way to look at it.
Organizations do not exam the work product of programmers with a
critical eye. Some programmers may exam their own work product with a
critical eye. A given programmer may look at a colleague’s work with a
critical eye, on request. In general, as an industry, there is no supervision
whatsoever of what we do as programmers. There is no one watching
over our work as if we were building automobiles or houses or any other
manufacturing process.
Carl Is it because it is a self inventing process?
Alan It is because it is the way we have chosen to work; it is the nature of the
tool that draws the fiercely individual people who build castles in their
mind, which is what programming is.
Mark Where do you begin? How would you approach the problem?
Alan That’s a good question, I think there are 2 key steps, we have to bring
programming out into the open, and it needs to be given the enormous,
enormous respect that it deserves. I believe most business people have no
respect for programmers and they deserve enormous respect because
what they do is so incredibly difficult.
Mark I like the sound of that.
Alan And when I talk about respect, I mean to respect something you have to
get close to it. You can’t stand off and respect it from a distance.
Business people do that and it doesn’t work. That’s why programmers go
into their shell and write what they want. The business people come in
and say we’re going to do this and the programmers say OK and write the
code they want.

Page 11 of 23
Mark It is almost a tribal mentality, that is not the way of our people; we are
not going to do that.
Alan Exactly, then we get the extreme programming tribes, and we’ve got the
UML tribe and the way we do it at Macromedia, the Adobe tribe, the
Oracle tribe. And it is wrong, it is not effective. It’s pre-civilized; it’s the
barbarians that roam the steppes in pre-history
Carl Does it come with experience? Companies will not know how to
approach a problem unless they have experience since technology is
growing so rapidly someone with experience is not hirable.
Alan It takes years and many releases for even the simplest steps to make it
into commercial software. Commercial software is incredibly resistant to
any coherent process for design and creation
Carl Because every decision flows from the bottom up depending on what
tools are available for what platform, what the staff has knowledge of,
etc. Those are severely limiting factors for most places.
Alan You’re being generous. Most decisions are being made out of fear. The
number one driving force in all decisions is FEAR. The number one fear
is of hatching a catastrophe. People have no control over software
construction and they try to avoid becoming one of the stories where the
whole project explodes into nothing. They have no clue how to prevent it.
Carl Right.
EBay, Pets.com, web business
Alan Look at EBay, a bunch of really smart Silicon valley people, shooting
from the hip, thinking up all kinds of cool things to do, making tons of
money and driving an industry. Then you look at Pets.com that had the
same brilliant programmers and same brilliant business people and the
same brilliant marketing people and one is hugely popular and one is a
smoking crater laughing stock.
Carl Do you know why?
Alan It is possible to answer that question but people in the software
development community have chosen not to. It is like when they used to

Page 12 of 23
draw maps and on the edges “there be dragons.” When a ship sails off in
that direction it never ever comes back. They could find out but they
chose not to.
Carl If you ask me what happens, EBay is based on market forces, Pets.com
was based on the fact that people need dog food. One is a just a vertical
slice of retail where the other is a place where a market can thrive.
Alan I had a chance to see Julie Wainwright the other day and I asked her do
people want to buy pet food over the internet. She replied I was selling
$45 million a quarter worth of dog food. Yes, people do want to buy dog
food over the internet.
Carl OK
Alan We have failed to answer the question of why EBay was successful, we
have failed to answer the question of why did Pets.com go under. I don’t
think we really analyzed it. We have a lot of glib industry pundits who go
around saying you can’t make money selling pet food over the internet.
You can make money selling anything over the internet. The question is
how do you sell something over the internet, what is it that people want,
what is it they value, what are they willing to pay for? What is it that they
seek? I don’t think that level of analysis takes place in the software
industry. I don’t think the business people look at it; I don’t think the
programmers look at it. I really think that it is time we do so if we want
to move forward and grow and mature as an industry.
Mark I don’t think the programming folks look at it, they are writing code.
Alan I’m perfectly happy that the programming folks are not looking at it, the
business folks should be answering those questions. But then I say to the
programming folks, “get off the tracks please.”
Carl Yeah, let somebody else do that.
Alan Programmers are stopping the business people from answering those
questions. They are using classic programmer passive/aggressive
methods of frightening business people away from answering those
questions. I think the greatest burden is on the management community,

Page 13 of 23
not on the programming community. But I think that programmers have
got to ease up.
<BREAK> Visual Basic vs. other languages
Carl How does it make you feel when you hear people call Visual Basic a toy
language? You see all these half-assed programs flooding the market. At
Carl and Gary’s we used to get a steady stream of uploads of VB 4
message box objects, approx. 5 to 6 MB zipped, that allowed you to
program message box more object oriented. How does that make you
feel?
Alan I think the accusations are pretty accurate actually. It has never been easy
to tell the hobbyist from the professional programmer. I think the Visual
Basic blurs the distinction. I think a modern Japanese sedan blurs the
distinction of race car driving and commuting to work every day because
your average Japanese sedan is a pretty high performance vehicle by the
nature of it. Since Visual Basic is a high performance vehicle also it lets
lightweights build stuff. That’s great, but that’s not professional.
Mark Well going into .NET do you really think the syntax matters anymore?
Whether you write in VB.NET or C# or even god forbid, COBOL.NET!
Alan That’s a great question. When .NET was first announced I, like 70 or 80
million other people, did not have a clue what it was.
Carl Some still don’t.
Alan Microsoft seemed intent on obviscating what .NET was. Whenever
anybody asked them they said well it is pretty much everything. It was a
non answer. I can tell you in two words what .NET is.
Carl Yeah, frickin’ awesome.
Alan Dot NET is a windows API, it is the new windows API. For years the
windows API was an embarrassment, a technical … it was bad, bad, bad.
Each time a rev of windows came out it got worst and worst. Dot NET is
a new windows API and it is a good API. Unlike the federal judicial
system, I can’t point to something and say if this is an operating system
function or not. So what .NET does is extend the definition of what it

Page 14 of 23
will provide services for beyond what the original windows API did. But
with the original windows API you could only really talk to C or C++.
Syntax has never mattered, what has mattered has been APIs.
Mark We could not get to some critical ones with VB; you needed to know
C++ or C to get the job done.
Alan I’m going back to pre-VB, you were really stuck. VB freed programmers
from having to know C and the windows API. VB gave them access to
the windows API without having to learn it. That was one of its greatest
contributions. What .NET does is make the syntax a lot less significant
but that pales in comparison to the sheer quality and scope of the new
API.
Mark As a long time VB programmer I have taken the slings and arrows from
C++ crowd, you can’t do anything with pointers, you can’t do
inheritance, you can’t do multi-threading. Now we can do all those
things, except pointers.
Alan Any C++ programmer criticizing any other language is just wrong. C++
is got to be one of the worst languages ever invented. C was a beautiful,
beautiful language but it was like a carving knife. It has a single blade
and it did one thing really well with enormous efficiency. But to tighten
screws with it was really wrong. What C++ did was become the 600
bladed Swiss army knife, it’s got all the features but it is impossible for
anyone to do anything with it. I gave up programming right around the
time I started to work with C++ because I found it so unpleasant. I found
Visual Basic not aesthetic but that is just personal. What one person finds
aesthetic another person does not and it’s not significant. It’s like whether
you like a movie or music or a painting or something.
Mark I always thought of Visual Basic as not a very elegant language. I like it
but it is not elegant.
History of Basic
Alan That is because it is not based a sophisticated language system, it’s based
on BASIC. Kimeny and Kurtz, a couple of statistics professors at

Page 15 of 23
Dartmouth, had a bunch of students who had to write stat programs in
Fortran, so they put a dress on Fortran to make it easier for there guys.
The language got stretched way out of proportion into this development
environment, way more than it should have.
Carl Well Alan, I can tell you I came from Quick Basic roots but instead of
learning C I was learning assembler. I was going between Quick Basic
and assembler with the Crescent software gang. Trying to bring some
creditability to the basic language by saying look C isn’t so great, if you
want to do something low level just link in an assemble language routine.
I really appreciate having Visual Basic come around when it did because
it allowed me to get into windows programming from the top down
which I really liked. If I had to slog through the C and windows API
from day one I probably would not have been as creative and as focused
on problem solving. Now don’t get me wrong I was all over the Petzold
book, Dan Appleman and all the hard core stuff, trying to do the things
that couldn’t be done. Now that we have a tool like VB.NET it is like
nirvana. I can be productive. I can use my high level code. If I need
something a little more low level, like manipulate large blocks of
memory directly, I can jump down to C# and call that. But if I’m going to
program an application I want to be productive. I really appreciate that
language being there at the time; it was good for me anyway.
Alan I think that is a common story and a lot of people feel that way. I have to
say that I feel that way because I stopped programming for 10 years. I
was one of those guys who wrote in C and knew the windows API
backwards and forwards and have the scars to prove it. I just started
programming again using C# and .NET and it is a joy. It is a joy to work
with, it is not perfect, and it has its rough spots but it is so powerful and
so easy. On an absolute level it is really easy and relative to the old
windows API it is remarkable.
Carl Yup.

Page 16 of 23
Invasion of the Lightweights
Alan I like to talk about the “Invasion of the Lightweights.” The software
industry has been characterized from its beginning with these successive
waves of invasions of lightweights. In the early days it was the guys who
coded with ones and zeros. When the assembler language guys came
along they said “what a bunch of lightweights” because they used
mnemonics. And then when Fortran came along the assembler guys said
what a bunch of lightweights. And then the Cobol guys and each one
brings in new lightweights. Then come the Visual Basic guys and of
course the HTML guys were the ultimate invasion of the ultimate
lightweights. But each successive layer has two distinguishing
characteristics: each one is an order of magnitude greater than the layer
that came before it and each one is dependant on the layer that came
before it. It becomes a kind of mutually beneficial dependency. The
assembler guys find a ready market with the Fortran guys. The Fortran
guys find tools they need from the assembler guys. The HTML guys
depend on the C++ guys and it is good. It is all good.
Carl And the end result is higher productivity.
Alan Yes, not just higher productivity for the individual but better software for
all of us to use. But so much of what goes on in the world of
programming is sniping at the other guy because he is a lightweight,
compared to us of course.
Carl Mark and I never call C++ programmers lightweights, we just point out
that there hair is greasier than ours.
Mark We are critical of their hair, that’s about it.
Carl This would be a good time to come clean; we have taken a bit of heat by
email about us picking on C# and C++ guys and threats that they will
unleash the C++ community and the C# community on poor little old us.
Mark One guy said he was going to shave my cat if we did not shut up.
Carl We’ll just set the record straight by saying that we have a lot of fun on

Page 17 of 23
the show, we have big mouths, and the whole point is to stir up
controversy. We love C# and it is the logical evolution for Java, C++
and C programmers. All I’m saying is that if you’re a VB programmer
don’t think you have to jump ship to C# to get a more powerful language.
Chances are 99.999% of the stuff your ever going to do is perfectly
adequate and much more productive in VB.NET
Mark My message is to learn the framework. Find out what is where.
Alan I agree, I think that is very true.
Mark Alan, I wanted to ask you about the Visual Studio.NET environment
from a user interface perspective, how do you like it?
Alan I like it a lot. After coming back to programming after a ten year hiatus
has really been fun. Ten years is about how long it took Microsoft to get
it together. I think Intellisense is truly awesome. The idea that I can write
a comment in front of a method or class and have that comment pop-up
in a tool tip when I’m coding is brilliant. I think it is an order of
magnitude leap forward in productivity. I like the tools that protect me
from myself. As an old C programmer who spent hours and hours
tracking down an annoying little pointer bug, I really like things like that.
I think in the early days of IDEs, they helped a little bit but they got in
our way a lot. So the real macho programmers like me who could type
100 words a minute did everything in EMACS. That’s how we did it. So
I have to say that it is really a please to work with an IDE that is
supportive.
Carl It is nice to see because everything is built on objects and it shows.
Alan I ran into Richard Hale-Shaw at VSLive and said “Remember how bad it
used to be? Well they shoved all those people out and brought in some
people who are really smart and put them in charge and it’s really good
now.” You have to understand the depths that Microsoft sank in the early
days. They would make architectural decisions and at every turn it would
be the wrong decision. As I fool around with .NET at every step I see
they made the right decision. I’m just constantly impressed with the level

Page 18 of 23
of the thought and architectural vision that has gone into .NET
<BREAK> Server Explorer
Mark Server explorer is something that I really like. I love being able to look at
databases and not have to go out to Enterprise manager. It’s almost a
Pavlov response to open Enterprise manager when I start the IDE
because I’m so used to having to use SQL Enterprise manager to go back
to deal with the database. I was forgetting the server explore tab was over
there. I just think it is awesome.
Carl I use it all the time, performance counters and services and all the other
things you can just drag and drop. Drag and drop performance counters,
what an idea.
Alan I’m still discovering things like this everyday as I use it. There are things
that I really don’t know about. If you have worked with these tools for
the last 10 years a lot of things have crept on you slowly. I just
discovered on-line help the other day.
Carl/Mark (Laughter)
Alan Here is a question for you to ponder, did Bill Gates invent peek and
poke?
Mark I worked with the DEC platform for a while and the VAX had a Basic
compiler but I don’t remember peek and poke.
Carl We’re friends with the guy who invented the Select Case statement,
Bruce Baka.
Alan I invented WEND, the while end statement. I was working with Gordon
Ubanks, in 1978 maybe, on his Basic language at the time. I was
imploring him to put in a While statement because at the time it only had
the Basic For Next loop, none of the modern looping constructs. Well he
said he did not know how to make that work in the parser. A For Next
loop had a Next statement that ended the loop and he needed something
that would end the while statement so I suggested WEND.
Carl Cool, so you are a multi inventive person. What else don’t we know
about you Mr. Cooper? Don’t tell me you have a band?

Page 19 of 23
Alan No, I’m not much of a musician but I have a son who is in a band. He is
17 years old and plays guitar in a band called “Eleph-funk”
<BREAK> Cooper and Cooper University
Carl What is on the horizon for your company?
Alan My company is now called Cooper (just Cooper) and it is a consulting
organization and we have Cooper U. We teach people about our “goal
directed” methods. I invented this thing called the persona which has
become the most effective tools for interaction design and it has been
widely adopted across the industry. We have done quite a bit of work on
developing personas and teaching people how to use them and other
design tools we have pioneered. But I have kinda turned over day to day
running of the company to my wife, Sue Cooper, and turned my attention
to some new product invention.
Carl Awesome, anything you care to share?
Alan I think there is very little work being done in the area of application
software that is not corporate infrastructure. I think that there is quite a
need for good application software. I have been coding non-stop since
October and have maybe 10,000 lines of code.
Mark It’s got to be fun to be in the programming saddle again.
Alan Well, I think that it is unfortunate that I have to program. It really is. I
just think that there is a remarkable lack of vision in our industry. The
problem is people are so used to being burned by software when you say
your going to do something new they tend to hold on to their wallets.
Mark Do you think we will get to point where computers work like on Star
Trek? I mean where you will be just able to walk up to the computer and
tell it your idea and have it do it for you.
Alan I’ve been married to my wife for 22 years and she still doesn’t
understand what I say. The reason the computers work so good on Star
Trek is that it is fiction! I have said this before, division of labor in the
information age is very clear, people do the thinking and computers do
the work. What happened is all of the fiction writers have the computer

Page 20 of 23
doing the thinking; it just isn’t going to happen that way. Voice is just
injecting a lot of uncertainty to the man machine dialog.
Carl My wife is a nurse so I can follow some of what she does by watching
ER but when I start talking about how I “generated strong names and
deployed my assemblies to the GAC” she says “Uh huh, please pass the
salt.”
Alan You have just made my earlier point! What we programmers do is
completely and utterly opaque to the outside world. We kinda reinforce
that opaqueness and the outside world is perfectly happy to let it be that
way because they are not interested in the geeky stuff we are. I was
excited today because I was able to get my program to do late binding for
the first time. I tried to tell at least 5 people and they just wandered away.
They just are not interested.
Carl (Laughs) It is a lonely business. (Laughs) Can’t you just see the beauty
here?
Alan I’ve wanted to teach a class for years called “Computer Appreciation”
where I could talk about the joys of recursion. I could have a whole class
on the incredible elegance of exclusive ORing things 3 times in a row.
We like that stuff but for normal people it is not even on their planet.
Carl It is a very lonely business. Read any good books Alan?
Alan I’ve been reading Steven Pinker’s book “The Blank Slate.” He is a
brilliant guy and a great writer. It is a more difficult read than his last
book “How the Mind Works” but I strongly recommend it. Most people
have really goofy and incorrect notions about how we think about things.
Programmers, because they work with computers all the time, have a
tendency to think that people will react in deterministic ways and it’s
really wrong. Programmers say things like “the user knows what they
want so I’ll ask the user what they want.” That is really an enormous
ridiculous statement based on series of enormously ridiculous
assumptions. One of the things I like about Steven Pinker’s work is that
he so methodically destroys any thought that we might have that kind of

Page 21 of 23
an attitude toward things. I like “The Blank Slate.”
Carl Did you read Petzold’s book “Code?”
Alan I have it sitting here on my shelf, I bought it when it first came out but I
haven’t read it. I must say that “Programming Microsoft Windows with
C#” by Petzold, the 17th edition, is very well thumbed.
Carl Yes, we have had a number of recommendations on that book.
Alan Petzold’s earlier book is an old buddy of mine, I’ve got a first edition,
very well thumbed and marked and post-it noted. So I was in the book
store looking for books on .NET and found this big heavy book and said
this is just the book I need. It was not until I got home that I realized it
was Petzold. I’ll tell you something about Charlie Petzold; he has a
Window logo tattooed on his arm.
Mark Wow, he is really hard core.
Carl We have to have him as a guest. Well any last thoughts or words of
wisdom before we say goodnight?
Words of Wisdom
Alan Yeah, something has to give in the software industry, I’m a glass is half
empty kinda person, so I tend to see all the bleak things. In general I
think we are slowly moving forward. I do believe that programmers and
business people will be find some common ground; I think we will be
forced to do that. Software is so important and so vital that it has to
happen. So even though I make it sound kinda bleak I think there is
forward progress.
Carl Something I was going to mention earlier, as a consultant, the projects
that ran very smoothly were where the programmer was forced to get into
requirements gathering with business analyst. It wasn’t a case where the
business analyst did all the up front work, created a spec and turned it
over to the programmer. That forced the programmer to understand the
business process and the reason why they were writing the software they
were writing.
Alan It is interesting that for something to get built correctly the programmer

Page 22 of 23
has to understand why but the business people don’t have to understand
about late binding of the GAC. I think it is kinda of one sided. You read a
lot of books and a lot of magazines about being a good programmer and
they say things like “being a good programmer is more than just being a
good coder.” You have to talk to the user; you have to think about
interface.
Carl You have to have bad breath. (Laughs)
Alan I say, if there is so much to programming besides coding why don’t we
have non-coding programmers do that stuff? Non-coding programmers, I
think, are what interaction designers are. They are not user interface
designers, they don’t sit there and draw sketches of the screen; they are
non-coding programmers. They pay attention to that incredible
complicated stuff programmers are being told they need to pay attention
to but they really don’t want to and they are really not that good at it.
Some kinda fake it adequately. There are two kinds of coding, the kind
we love to do and the kind we have to do. I’m talking about the kind that
makes us get up out of bed in the morning and say “oh boy I get to do
some coding today.”
Carl Any good coffee shops out your way?
Alan I used to call coffee programming fluid; it is an important tool, it was a
line item in our general ledger.
Carl I call it liquid sleep.
All (Laugher)
Alan I want to thank you for the opportunity; you guys have asked really good
questions and it’s been a lot of fun to have this wide ranging discussion.
Mark I got to tell you. I’m a big fan; it has been a real thrill to talk to you.
Alan Thank you.
Carl On behalf of Mark and myself I would like to thank you and on behalf of
the thousands of listeners who are ever going to hear this through out
time just a hearty thank you for sharing your words of wisdom.
The End

Page 23 of 23

Das könnte Ihnen auch gefallen