[fpc-other] Re: Original Version of Photoshop Was Written in Pascal; Source Released

Programming yahoo-prog at heplist.com
Fri May 25 23:25:38 CEST 2018


On Thu 2018-05-24 10:00, Santiago A. wrote:
> The 1990 version of Photoshop was written in Pascal.
>
> http://www.computerhistory.org/atchm/adobe-photoshop-source-code/
>
> I've read that first Apple OS was in pascal.  Also that first Autocad 
> version was written also in Pascal, but it need to exchange floppy 
> disks too many times for compiling.

Funny you mention Photoshop...

Around this time I was asked to submit a program to represent my school 
in a state media competition. My response was, sure, ok. I wasn't really 
that interested, so I just grabbed one of the programs that I had and 
made it more user friendly. The program I chose was a graphics program I 
had written (using MS QuickPascal) to create assets for a game I was 
building. There weren't any graphics programs that had the abilities I 
wanted or was able to use true color, so I just slapped together this 
program to do that. It was essentially a throw-away program as far as I 
was concerned (one of those side-programs you make to facilitate making 
another program). When I was asked to submit a program to represent my 
school, I took this throw-away program, made it more user-friendly 
(mainly added an auto-hiding menu bar instead of using key-combos, and 
made it prettier to look at), created an example picture (a picture of a 
dragon's head) and saved it to be included with the disk, and threw 
together a 1 page "user manual" (for one, I had to explain 
transparencies [what I called what we now call "layers"], and also 
instructions to load the example picture to show what could be made with 
it) and turned it in.
      The school submitted the disk late (the state competition had 
already picked a winner), but despite that, they still awarded me first 
place (because they had already picked another first place, my program 
and whatever the other person's program was were made tied for first). I 
got a cheesy little trophy which the school displayed until I graduated.
      I just shrugged it off...
      ... until I got a visit from some people who wanted to buy my 
program from me. They explained that their company had plans for porting 
their graphics program (Photoshop, which I had not heard of until then) 
to PC and that in the process of looking to see what was out on the PC 
side of the world that they had come across my throw-away program that 
had won, and that some of its features they were interested in using, 
and, thus, they were interested in buying my program (basically, they 
wanted the features, and wanted to legally cover their ass). Sure, 
whatever. Signed a bunch of paperwork, got a nice check, gave them my 
source code, was told I can no longer sell it as-is (I wasn't selling 
it, so, I didn't care), and that was the end of it.

      Well, almost... When PhotoShop *finally* did get released for PC 
(I think, 1993 ??? ), I found a copy, and I was curious why it seemed 
sluggish compared to the Apple version used in the computer labs, so I 
looked at its code with a disassembler (Eric Isaacson's D386; I love his 
A386 assembler, BTW) and noticed it did some pretty inefficient things 
and some pointless loops (as far as I was concerned, it looked, to me, 
like they were intentionally making it run slower on PCs). This kind of 
pissed me off (I didn't like the idea of being indirectly involved on 
the Mac side of the whole PC vs Mac speed thing that was going on at the 
time), so, I have refused to use Photoshop ever since then. Instead, I 
use PaintShop Pro. The PC vs Mac speed war has been dead for decades, 
but I can be stubborn (I still refuse to use PhotoShop).

      BTW, MS QuickPascal... I loved it back in the day. I still have my 
original copy, and most of the source code I had written. Occasionally I 
will actually go back to a program I wrote in the '90s in QuickPascal to 
see how I did something there (it has become a bit of a reference set 
for me for how to solve certain problems when programming now). 
Sometimes I'll even cut-and-paste some of my old QP code into my new FPC 
code, and there often isn't too much effort needed to update it. FPC is 
kind of good like that (the main thing that has to be updated is usually 
things like direct memory access or port access... Can't really do that 
in Windows, so that's a Windows issue, *not* a FPC issue).

-- Y


More information about the fpc-other mailing list