Post by Santiago A.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
_______________________________________________
fpc-other maillist - fpc-***@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/ma