views:

917

answers:

11

There is a version (popularised by Joel Spolsky) attributing the demise of WordPerfect to a refusal of its programmers to use anything but assembler that led to delay of the first WPwin release and as result eventually to losing the all important battle with Microsoft.

There are a few references to programming work being done using assembler in the autobiographical book "Almost Perfect" by W. E. Pete Peterson who used to have a major influence at running the corporation. But these references go back to early 80's when WordPerfect was trying to gain a significant market share by defeating WordStar and not early nineties when the battle with MS took place.

I am looking for a second independent source to confirm the assumption.

Maybe someone who worked for WordPerfect Corporation at a time, who was close to the company, or had a chance to see the source could clarify the issue.

Your help is much appreciated, thanks!

Please note that this question is not about any other theories or reasons behind WordPerfect demise. I really just need to clarify whether they used assembler as a primary language for WPwin and (as a bonus really) whether there were discussions held within the corporation about assembler being the right choice.

Concisely:

  • Did WPCorp use assembler as a primary language for WPwin?
  • Were discussions held at a time amongst WP Corp staff about assembler being the right choice (was it management or programmers decision)?
+1  A: 

It's also worth noting that in the early days, they used assembler because a reliable (let alone efficient) C compiler was not available on some of their target platforms.

Mikeage
This is true. C was considered "too slow" for some of the platforms, specifically the ancient crap from the 1970s.
Robert S.
Running windows on the older DOS computers showed many inefficiencies as well, so I could see them choosing assembler.
Adam Davis
Windows 3.0 on a 1982 8088 PC must have been an existential experience.
Robert S.
Windows 2.1 on my old 10mhz 8088 took awhile to load, but ran fine once loaded. We were spoiled back then, DOS loaded VERY fast. Not sure that Win 2.1 then was worse than how horribly slow Vista loads now on modern hardware.
Brian Knoblauch
+4  A: 

Another contributing factor, reported in Merrill R. Chapman's book In Search of Stupidity, was that they apparently assigned the Windows WordPerfect project to their 'B' team and kept the cream of the crop still working on the DOS product. This resulted in the first release of WordPerfect for Windows being buggy, lacking features and slow.

Additionally, and at the time, Microsoft's Office was a reasonably cohesive suite of applications that integrated well unlike the WordPerfect/Borland suite.

Add to the mix lots of fundamentally bad business and strategic decisions and you had a recipe for the end of WordPerfect.

In Search of Stupidity is a fascinating insight into how well known names such as Ashton Tate and Borland basically screwed up their market leading positions through fundamental business mistakes, complacency and incompetance.

Kev

Kev
Explain the downvote?
Kev
I will add one downvote because it is not an answer to the question, even if it is interesting. In fact I won't because not a single answers is about the question asked
shodanex
@shodanex, the answer to the question is "possibly but that's not the only reason."
Robert S.
@Kev, your first paragraph is spot-on. Further, WPCorp developers simply didn't know Windows and the "B" team had to figure it out as they went along.
Robert S.
I've edited the question to tease out the specific inquiry, but the question was: Was WPWin programmer in assembly, and were there internal discussions about whether assembly was the right choice. The answer, "possibly but that's not the only reason" does not fit, though it may be relevant.
Adam Davis
@Adam, I have updated my answer with those specifics.
Robert S.
"whether assembly was the right choice." - WordPerfect's problems weren't down to choice of coding tools. Their problems were far wider, the assembler issue is miniscule compared to the business problems they created for themselves....(cont.)
Kev
...which are well documented. I chose to widen the scope a bit to also demonstrate that WP's downfall was due to bad business and poor strategy rather than fixating on the assembler question. The choice of coding tool does not on it's own cause a business to fail.
Kev
A: 

Personally, what I think killed WordPerfect is that the people buying the word processors weren't the people using the work processors. They were all turned on by flashy GUIs, WYSIWYG, and marketing jazz when they really don't need any of that. There's a reason that Latex is used in the publishing business, and why coders still use emacs and vi. When you're in text mode, and can do everything with the keyboard, you can get a lot of work done.

Kibbee
the truth hurts some people! I recall a SOP we upgraded to windows years ago, and the data entry users suddenly became significantly slower at their jobs - because they were using the mouse instead of just the keyboard.
gbjbaanb
+4  A: 

Joel has a habit of distilling a complex problem down a single issue. This helps to make his points clearly rather than getting bogged down in unnecessary detail. IMO this is large part of what makes his writing so entertaining.

Given that, I think he could make a fair argument that it is irrelevant what lanuage they were writing in at the time in the early nineties when they were compteting with MS.

At that point it could be argued that they had fallen behind so far due to there original decision that from that point on they were playing catch-up technologically long before that started impacting their market share.

I am not sure if you are trying to determine whether Joel's argumenent is valid (which in my opinion it is without any further facts), or whether you really just want to know which laguage the first version of WPwin was written in, in which case perhaps you should have just asked that question and left Joel's opinion out of it.

Modan
A: 

I had always heard the same story not with wordperfect but GeoWorks. Anyone remember it? I have not been able to double check whether word perfect was indeed coded in assembly.

David Rodríguez - dribeas
http://www.osnews.com/story/1864 interview with their CTO seems to confirm the point on GeoWorks
Totophil
+12  A: 

The reason they chose assembler instead of C is because managers like Peterson were involved in the decision. Pete didn't know a thing about programming or software development, but he was the numbers guy and he had it in his mind that assembly language would be better for the bottom line.

A lot of the decisions he made in regards to WP itself seemed to only focus on quarter to quarter rather than the long term. I don't mean to bash on Pete too much. He was excellent at being the numbers guy, but he was a terrible manager and a worse visionary.

The choice of assembly language is marginally related to the failure of WPwin to seal the deal. That problem had a lot more to do with Pete's near-reckless desire to defeat Microsoft rather than work with them. Pete also was an OS/2 fan. But Joel is right: if WP had been written in C, the transition to Windows would have been faster. However, WPCorp didn't have any Windows developers on staff (they were all DOS guys) and concepts like the Windows SDK were very unfamiliar. There were many reasons that WPwin was delayed, and the fact that it wasn't written in C is just one of them.

So to answer your questions directly:

Did WPCorp use assembler as a primary language for WPwin?

Yes, absolutely.

Were discussions held about assembler being the right choice?

Yes. These discussions occurred in the early 1980s and as WPCorp dropped platform support into the late 1980s, the subject of using C (and Forth, among others) was brought up several times. The investment in assembly programmers and the codebase was already made and management didn't want to spend money on more expensive (and hard to find) Windows developers, plus spend the millions on rebuilding the core WP codebase.

I didn't work at WPCorp (too young) but one of my family members did. He lost a lot of hair while working at WPCorp, and ultimately quit when Pete enacted draconian policies about what you can and can't do during the 12 hours you're supposed to be at work.

Robert S.
So the interesting point here: WP was already written in assembler, and the transition to WPWin suffered. But why? Assembly is the same for dos and windows. Swap out the visual interface for the windows API (accessable in assembler), leave everything else the same...
Adam Davis
Is the inference simply that the developers couldn't make the mental transition necessary to re-target the existing assembly code to work with the event driven windows interface and API? Or is it less the programming language and more the politics surrounding the port?
Adam Davis
Fun stuff to consider, anyway.
Adam Davis
Like I've said here and elsewhere, the fact that WP was in assembler wasn't the *only* reason that WPwin was delayed, as Joel maintains. The main reason was WPCorp's aversion to Windows.
Robert S.
@Adam, it's the politics. Big time. The Windows model didn't fit in the WPCorp culture and Pete didn't want to jump into bed with Microsoft for many personal and professional reasons. But the question is about assembly, not WPCorp politics. :)
Robert S.
I updated my answer to specify that Windows developers were hard to find, not developers who knew C.
Robert S.
No surprise Windows developers were hard to find (relatively new and niche technology at a time), besides programming for GUI is very different from ChUI. Additionally in those days programs didn't tend to have multiple UI's and code was optimised for a single UI (not much of layers separation).
Totophil
Out Into Space thanks for the contribution, it's really appreciated. Would you know of any books, articles, internal memos on the topic?
Totophil
Well, Almost Perfect covers it pretty well, especially if you read between the lines. You can also find a nice deconstruction in an old 1997 issue of InfoWorld (not sure which one).
Robert S.
Out Into Space, Peterson writes about original team being keen on carrying on with WP for DOS, but nothing about assembler, tools choice etc. Reading between the lines he was all for developers to make decisions on their tools, but nothing explicit.
Totophil
+1  A: 

As someone from Orem Utah, I knew many people who worked at Word Perfect, dozens of them. But I think that in reality the User know more about why Word Perfect failed rather than the people who worked there.

I was in my teens when Word Perfect was in business, so I didn't know much about computers back then, but have since learned several programming languages, and the Linux platform.

I have always been a numbers guy myself, and want to understand things on the most basic Level. I was also a professional machinest for about 5 years, and not to brag, I will say that I was probably one of the best machinest there. I knew more about the machines than anyone. I could write programs in G-code, when other people would need to use graphical programs like Gibb's to setup the machines to run parts. I did all sorts of clever stuff when I worked there that I doubt anyone else in that shop could ever do. But was I the most valuable machinist there? NO. And this is why, because I loved the nuts and bolts of things so much, that I always did things the hard way, just for the heck of it. It allowed me to become very knowledgeable, and understand things on a deep level, but it also made me far less productive. I didn't see it then, but I do see it know.

People who are computer Guru's, always have a hard time putting themselves in the position of people who are not Guru's. I am a computer Guru, and I used to tell everyone why they should use Linux instead of Windows. And I convinced several people to try, and Boy, do I regret it. They had such a miserable experience with it, that they curse it to this day. The problem wasn't Linux, it was the fact that they weren't that good at computers, and tackling something like a Linux distribution, was way over their heads, especially back then in the late 90's and the early part of this decade.

So, what is my point?

Yes, assembly must have been an obstacle to them in the long run. Maybe that is what they had to start with, but as time went on, it was like me programming a Mill in GCode vs. someone programming in Gibbs or Surface Cam. Though I was probably far brighter than the Gibbs guy, it much longer for me to finish the job than him.

Also, Word Perfect was to cryptic for to long. The average person using it wasn't a computer scientist. So, for people using the program vs. word, it was like the difference between writing in GCode vs. using Gibbs.

Anyway, that is my humble opinion. Ask yourself, why did you go with word instead of Word Perfect? Don't ask the people who wrote it, because they thought what they where making was what you would want, but it wasn't.

+1  A: 

My computer science teacher in the early 90s was a lead programmer at WordPerfect (he moonlighted with us). He one one occassion stated that there was a lot of code in Pascal that was getting translated into C through a sequence of two preprocessors (a proprietary one and C's preprocessor).

I'm sure there was oodles of assembly in there too, but if you are going to the effort of preprocessing your code into another high-level language, you had better have a lot of it floating around. I somehow doubt it, though as Wordperfect was also available on Apple II, Mac, HPUX, VAX, Sun, OS/370, and NeXT (those are the ones I remember, I'm sure there were more (a x86 Linux version floated around in the late 90s))

McBeth
+2  A: 

I don't know where this "Peterson was big fan of OS/2" coming from. He wasn't. It's right there in his book.

"I became an opponent of Windows out of desperation. I called it a toll booth on the road to the future. We had little choice but to hope that IBM could somehow make OS/2 a success, so Microsoft would not have too big an advantage over us in the GUI market. IBM was big, but they were not nearly as dangerous an applications developer as Microsoft. Given the choice of riding on the back of an elephant or a fox, we felt much safer atop the elephant. "

I think this part of the book describes the best why they failed on Windows platoform:

"Alan and I had lunch at COMDEX with some high-placed officers from IBM. They assured us that Windows would not succeed and that an agreement had been struck between IBM and Microsoft which would effectively stop Microsoft from making a success of Windows. It seems funny now, but at the time we were impressed by what they told us. They said Windows was neutered, and we believed it."

Source: Chapter 10 of "Almost Perfect" by Peterson

lubos hasko
A: 

All the early word processors I can think of were coded in assembly language. Transitions are tricky. Picking on WordPerfect seems silly, as many, many word processors died along the way. WordPerfect did a good job lasting as long as it did. Where is WordStar now?

The stories I remember are about NetWare (I think). If I recall correctly, they transitioned from assembly mostly written by one guy to C written by a team. They made it, but there was a lot of shareholder concern about what might happen if their superstar programmer got hit by a bus.


I was in the game industry during the shift from DOS to Windows. It was a real hassle because Windows was slow compared to DOS. I can imagine that taking the performance hit of moving to C at the same time as taking the performance hit of moving to Windows, at the same time as moving to Windows APIs might have seemed dangerous.

Has anyone mentioned the advantage Microsoft had in using the APIs. Didn't Word use undocumented API calls, at least at first? I think I remember WordPerfect arguing that Microsoft was giving an unfair advantage to Word. And Microsoft arguing that it was eager to have Windows products, so of course it would not do that.

All this is hindsight, though. Back then no one knew if Windows would be a flash in the pan or not. OS/2 could have won.

Nosredna
A: 

As a person who worked on the WPWIN team from before it was the WPWwin team I would like to jump in here. If anyone ever looks at this thread again. It is true that WP programmers were forced to write in assembler. At least one who understood the power of compilers used a compiler to generate his assembly code that was checked in. That is how the equation editor was developed. But this is for the core code. The windows UI was written in C, not assembler. The core formatter was in assembler up through 6.0 I believe.

I truly must disagree that the windows team was the "B" team. I think there were those in the other parts of the company who may have felt that way. But I did not see that at all. The windows team in my experience had some of the brightest and most insightful developers in the company. Certain managers who wished to run the project spread that rumor. Then failed to deliver also using the "A" team. The people were not the problem at at all

Not porting the code to a better development environment was a critical decision in WP's failure, this greatly delayed the later versions of WPWin (6.0 and later). but as important was the failure to recognize the fundamental shifts in the market. OEM bundling.Office Suites and falling margins. These are really what did WP in...

dripdrip