THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700
rodwelch@pacbell.net
S U M M A R Y
DIARY: November 23, 2008 12:56 PM Sunday;
Rod Welch
Gary comments on Morris' analysis of SDS for 64-bit processing.
1...Summary/Objective
..............
Click here to comment!
CONTACTS
0201 - Dynamic Alternatives
020101 - Mr. Garold L. Johnson;
SUBJECTS
Default Null Subject Account for Blank Record
0403 -
0403 - ..
0404 - Summary/Objective
0405 -
040501 - Follow up ref SDS 10 0000. ref SDS 9 0000.
040502 -
040503 -
040504 -
040505 -
040507 - ..
0406 -
0407 -
0408 - Progress
0409 -
040901 - On 081114 met with Morris to review progress on Medit for SDS using
040902 - Java development tools. ref SDS 8 YD64
040904 - ..
040905 - In later discusison with Gary, there was consideration of deviating
040906 - from prior success using assembly language which has been effective
040907 - for nearly 30 years, shown in the record meeting with Morris on
040908 - 081104. ref SDS 6 VO3P
040910 - ..
040911 - On 081120, received a letter from Gary following up on discussions
040912 - with Morris about deviating from prior pattern and practice for Medit
040913 - development. ref SDS 9 KD7J
040915 - ..
040916 - On 081122, received a copy of a letter from Morris responding to
040917 - Gary's letter on 081120, ref SDS 10 YX7N, and in which Morris says in
040918 - part...
040919 -
040920 - 1. I agree Rod started out with a good intent with the line
040921 - numbers, but they are now a mess. He has moved to indentation
040922 - to add structure in his records which is easy to recognize
040923 - visually, but is a real problem for a computer to understand.
040924 - (Take a look at some of his tables), ref SDS 10 NX9V
040926 - ..
040927 - 2. A real issue is "syntax". If computer parsing is to be useful,
040928 - then the record must have unambiguous syntax. The commas and
040929 - other items are part of the syntax. I challenge you to take
040930 - Rod's records and parse them with any BNF style parser. (I have
040931 - tried and failed), ref SDS 10 NX4R
040933 - ..
040934 - Today, received a copy of Gary's letter responding to Morris' letter
040935 - on 081122, and saying...
040936 -
040937 - 1. Subject: Re: Issues Affecting Software Longevity
040938 - Date: Sun, 23 Nov 2008 11:35:15 -0800
040946 - ..
040947 - 2. Updated Record
040949 - ..
040950 - I updated the record on the web
040951 -
040952 - http://www.welchco.com/sd/08/GLJDY/02/08/11/20/062144.HTM
040954 - ..
040955 - 3. Regular Syntax for SDS Records
040956 -
040957 - a. I agree with wanting a cleaner syntax for SDS records. The
040958 - only way I know to do the job better is to build an
040959 - outliner rather than an editor as a basis for the program.
040960 - The leading indentation would thus be regular and
040961 - controlled rather than left to the whim of the user.
040963 - ..
040964 - b. Line numbers work in SDS only because the program handles
040965 - everything concerning them. The only reason to edit them
040966 - is when you screw them up somehow. I think the same would
040967 - be true of a true outline structure.
040969 - ..
040970 - Gary discussed line numbers in his record on 081120 at line 051503
040971 - which was reviewed on 081120. ref SDS 9 5O67
040973 - ..
040974 - Gary's letter continues...
040975 -
040976 - c. I haven't gone so far as to recommend something like the
040977 - text markup languages used to generate HTML. They are
040978 - simple for simple things but break down at tables. Using
040979 - simple tags to delimit sections could make record handling
040980 - a lot easier without needing line numbers for structure.
040982 - ..
040983 - 4. Build What Exists
040984 -
040985 - a. Having said that, I think there is merit in the idea of
040986 - building a modern SDS that does what the current one does
040987 - without trying to understand it all that much.
040989 - ..
040990 - This aligns with planning on 070907 to develop 64-bit version of SDS
040991 - with C, ref SDS 1 V35O, and implementation beginning on 081104 using
040992 - Java. ref SDS 6 2W6I
040994 - ..
040995 - Gary's letter today further aligns with his letter transmitting his
040996 - record on 080422 noting that SDS assembly language platform enables
040997 - huge work product stretching over decades [30 years] -- a feat matched
040998 - by no other known efforts. 080422, ref SDS 4 KH8L
041000 - ..
041001 - Review on 081104 Morris showed progress on developing an updated Medit
041002 - program to run SDS on 64-bit microprocessor technology. ref SDS 6 2W6I
041003 - Review at that time cited Morris' successful experience building an
041004 - editor with assembly tools that enables development of effective
041005 - knowledge management technology. ref SDS 6 VO3P
041007 - ..
041008 - On 081120 telecon with Gary discussed professional presentation on
041009 - advantages using assembly language to continue successful work
041010 - history. ref SDS 9 KD6H Gary's SDS record on 081120 cites
041011 - disadvantages using assembly language, and no advantages, based on
041012 - "zero chance" other popular software programs are created in with
041013 - assembly. ref SDS 9 KD6O
041015 - ..
041016 - On 081114 Morris discussed challenges developing the Medit editor for
041017 - SDS support using Java development technology. ref SDS 8 YD64
041018 -
041019 - [On 081123 Morris reports progress developing new Medit
041020 - editor with Java and notes challenges using this method
041021 - meeting requirements for SDS macro code, and difficulty
041022 - avoiding "redoing" a bunch of SDS code. ref SDS 12 RO4X
041024 - ..
041025 - [On 081130 Gary's letter cites disadvantages using
041026 - assembly lanaguge and no advantages of assembly language
041027 - for the editor to support what already exists for SDS,
041028 - ref SDS 13 IK5H, as previously proposed on 081123.
041029 - ref SDS 11 V29Y
041031 - ..
041032 - Gary's letter continues...
041033 -
041034 - b. By improving on the macro language or even exposing enough
041035 - of the internals to support scripting in Groovy, we could
041036 - have an experimental environment that would allow us to try
041037 - ideas much more readily than presently, actually deliver
041038 - the product, and migrate functionality into the core as it
041039 - makes sense.
041041 - ..
041042 - c. I can (and have) thought about many ways of improving SDS.
041043 - It would be easier to do if it were in an environment where
041044 - evolution were facilitated. A Java version of MEdit with no
041045 - more warts than absolutely needed would be a great place to
041046 - start. Systematic migration of the SDS macro code base
041047 - would eventually give us either a much improved scripting
041048 - environment or a full Java implementation.
041050 - ..
041051 - 5. Redeployment Required
041052 -
041053 - a. You noted "A program will require redeployment every few
041054 - decades in the best of conditions", and I agree.
041056 - ..
041057 - Gary seems to reference Morris' letter yesterday on 081122.
041058 - ref SDS 10 NX4X
041060 - ..
041061 - On 080422 Gary noted that SDS assembly language platform enables huge
041062 - work product stretching over decades [30 years] -- a feat matched by
041063 - no other known efforts. 080422, ref SDS 4 KH8L
041065 - ..
041066 - Gary's letter to Morris continues...
041067 -
041068 - b. What makes that easier is regularized structure, using text
041069 - rather than binary for data, and documenting the program
041070 - itself. All of this is relatively standard software
041071 - engineering.
041073 - ..
041074 - 6. 32-bit Characters
041075 -
041076 - a. It does seem that Unicode will eventually move to 32-bit
041077 - characters as you suggest.
041079 - ..
041080 - Morris discussed 32-bit characters in his letter on 081122.
041081 - ref SDS 10 NX5S
041083 - ..
041084 - Gary's letter to Morris continues...
041085 -
041086 - b. Once "plain text" becomes 32-bit, we can stop fooling with
041087 - it.
041089 - ..
041090 - How does this relate to Morris' concern on 081114 of finding a font
041091 - that supports SDS line draw features? ref SDS 8 PS6O
041093 - ..
041094 - Gary's letter to Morris continues...
041095 -
041096 - c. More and more software is becoming Unicode-aware.
041097 - Microsoft, of course, never found a standard it didn't want
041098 - to pervert.
041100 - ..
041101 - 7. Protection From Internals
041102 -
041103 - a. You said "One of the things I like about Java is that the
041104 - code can't get at physical things such as parts of a
041105 - number, so I can't write the code in a manner that depends
041106 - on things like byte ordering, integer size, etc."
041108 - ..
041109 - Gary cites Morris' letter on 081122. ref SDS 10 NX6W
041111 - ..
041112 - Gary's letter to Morris continues...
041113 -
041114 - b. This is the point I have made about control vs.
041115 - productivity. By relying on the language system to protect
041116 - us from details, we lose some degree of control -- we are
041117 - dependent on the Java community to keep Java current, but
041118 - we gain a great deal of freedom in the process.
041120 - ..
041121 - This should be expanded with examples to evaluate trade-offs between
041122 - control and productivity. Often increased "control" is the path to
041123 - better productivity. Here Gary seems to present a conflict.
041125 - ..
041126 - Gary's letter to Morris continues...
041127 -
041128 - 8. Controlled Java Subset
041129 -
041130 - a. I haven't looked at Java, and it may not have this problem
041131 - to the extent that, say, C++ does, but it is often
041132 - worthwhile to restrict use to a subset of a language. I
041133 - doubt that the problem is as severe in the Java language as
041134 - it is in C++ (that *would* be hard to imagine), but we may
041135 - have a similar situation with respect to Java libraries.
041137 - ..
041138 - b. The number of components and component types simply drives
041139 - me nuts. Do you know of a reference that provides an
041140 - inventory of what is available, where each thing fits, and
041141 - how they interact?
041143 - ..
041144 - c. It seem clear that learning Java isn't going to be the
041145 - problem, but choosing among all the various libraries
041146 - certainly could be.
041148 - ..
041149 - 9. Proprietary Formats
041150 -
041151 - 1. DMOZ has a good listing of documents relating to the idea
041152 - of Open Standards, and Open Formats that make the case for
041153 - open, non-binary, standard (or at least documented) data
041154 - formats.
041155 -
041156 - http://www.dmoz.org/Computers/Data_Formats/Open_Standards/
041158 - ..
041159 - 2. While I am not suggesting we adopt any of the standards,
041160 - the arguments for the nature of data formats are well
041161 - taken.
041163 - ..
041164 - 3. They provide a base for redeployment of software as needed.
041165 - Insuring that it is always possible to build software to
041166 - handle and possibly upgrade data formats is one aspect of
041167 - software longevity.
041169 - ..
041170 - 10. Polyglot Programming
041171 -
041172 - 1. I mention the concept of "polyglot programming" in the
041173 - record
041174 -
041175 - http://www.welchco.com/sd/08/GLJDY/02/08/11/20/062144.HTM#PB5K
041177 - ..
041178 - Gary refers to his record 081120, cited his letter the same day.
041179 - ref SDS 9 KD7J
041181 - ..
041182 - 2. Their results for Jython vs. Raw Java are enough to give
041183 - one pause. The theory sounds really good, but may not work
041184 - all that well in practice.
041186 - ..
041187 - 3. Do you know anything about Groovy? Since it was designed
041188 - to be Java rather than being "bolted on" it might not have
041189 - the performance penalties.
041191 - ..
041192 - 11. Exposing Program Internals
041193 -
041194 - 1. The question of what of the editor external to expose and
041195 - how is a thorny one. I have considered that in Delphi, for
041196 - example, "actions" are used internally as a package that
041197 - can be tied to invocation, menu items, buttons, or
041198 - commands. Scripting languages require an exposed
041199 - interfaced, and so doe OLE (or whatever the name is today).
041200 - I wonder if it would be possible to abstract the concept so
041201 - that an action could be developed as an atomic item and
041202 - used in all the ways mentioned above. If we could do
041203 - something similar for the SDS macro language and some sort
041204 - of scripting language, it would be great.
041206 - ..
041207 - 2. I would love to see a plugin technology, eventually, so
041208 - that the core system could be extended without having to
041209 - interfere with the central code.
041211 - ..
041212 - 12. End Babble
041213 -
041214 - a. I tend to run on.
041216 - ..
041217 - b. Later.
041218 -
041225 -
041226 -
041227 -
041228 -
041229 -
041230 -
041231 -
041232 -
041233 -
041234 -
041235 -
041236 -
041237 -
041238 -
041239 -
0413 -
Distribution. . . . See "CONTACTS"