Author: Richard A. Fowell
Date: 02:23:01 10/19/00
Go up one level in this thread
> My conclusion from your list is the PGN standard is poorly designed. It lacks > flexibility and makes outright bad decisions. It is obvious that some of the > reasons for the variations are that there are *good* reasons to vary. While there are certainly items in the PGN specification that I would think might have been nicer done differently, I feel that, like the QWERTY keyboard, sometimes the only practical thing to do is to make a bad decision and stick with it. The fact that there are many "PGN sins" visible out there might give the impression that there is not agreement on the standard. That would be a misperception. The fact that I only found 18 worth commenting on is an astounding victory for standardization. Consider that there are dozens of rules in the PGN standard, and dozens of programs creating PGN. Any given PGN "sin" (save for shortened line wrap) is performed by a small percentage of programs. Since most programs do not commit any particular one of these "sins", any programmer that thinks their pet "sin" is the "right" thing to do is definitely in the minority. And by sticking to their "sin", they are putting yet another burden on the majority - they have added one more variation that some user of every program is likely to run into at some point, and make the user unhappy with the their program if it will not read it. If you had 100 programmers, each of whom violated only one PGN feature, then each programmer would have to handle something like 50 PGN variations (plus the standard itself) for all programs to be cross-compatible. If you want nicer output - why not create a separate, optional, non-default view for this (call it "text format", for example), and keep your "PGN output" for communication with other software strictly standard. For example, while MacChess provides an "Export PGN" option, it also provides a "save text as colums", "save text as rows", and "save game" option (the latter is a private binary format). "Save text as columns" looks like: White: Topalov, V Black: Anand, V B00 King's Pawn Game: B10 Caro-Kann: B12 Caro-Kann: B17 Steinitz Variation 1. e4 c6 2. d4 d5 3. Nd2 dxe4 4. Nxe4 Nd7 5. Ng5 e6 6. Bd3 Ngf6 7. N1f3 Bd6 ... ... "Save Text as rows" could produce multi-columnar text, as: White: Topalov, V Black: Anand, V B00 King's Pawn Game: B10 Caro-Kann: B12 Caro-Kann: B17 Steinitz Variation 1. e4 c6 2. d4 d5 3. Nd2 dxe4 4. Nxe4 Nd7 5. Ng5 e6 6. Bd3 Ngf6 7. N1f3 Bd6 -Richard
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.