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
_______________________________________________
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other

Reply via email to