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 30, 2008 07:21 PM Sunday;
Rod Welch
Letter from Gary on SDS longevity consideration of assembly language.
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 13 0000. ref SDS 12 0000.
040502 -
040503 -
040504 -
040505 -
040507 - ..
0406 -
0407 -
0408 - Progress
0409 -
040901 - Background is reported on 081126 explaining discussion on building a
040902 - foundation for SDS to extend long term. ref SDS 13 KD5J
040904 - ..
040905 - A letter to Morris with a copy to Gary, ref SDS 13 KU4G, cited
040906 - analysis on 081123. ref SDS 12 RO7T Gary evidently reviewed this
040907 - source on 081123, and looked at analysis on goals for SDS stability,
040908 - shown further in the same record for applying knowledge tools across
040909 - generations. ref SDS 12 EJ4M Gary also looked at the earlier record
040910 - on 081104 discussing use of assembly language for the new version of
040911 - Medit. ref SDS 6 265M
040913 - ..
040914 - Received a letter from Gary this afternoon without any explanation of
040915 - source nor context, but citing the records on 081104, and 081123, and
040916 - saying...
040917 -
040918 - 1. Subject: Software Longevity
040919 - Date: Sun, 30 Nov 2008 10:56:30 -0800
040927 - ..
040928 - 2. Current technology using ink and paper since 1500, was reviewed
040929 - on 081104 to set target for SDS longevity, ref SDS 6 265M,
040930 - required for cultural transformation [citing the record on
040931 - 081123]. ref SDS 12 EJ4M
040933 - ..
040934 - 3. Morris observes that technology needs to be retooled
040935 - periodically, and I see no conflict.
040937 - ..
040938 - Helps to get the source for observations, in this case Gary's referent
040939 - seems to be Morris' letter on 081123. ref SDS 12 RO6X
040941 - ..
040942 - Gary's letter to the team continues...
040944 - ..
040945 - 4. Reading English from the 1500's takes more than being able to
040946 - read the text -- language itself changes over that time span.
040947 - Clearly there is a related technology issue -- old writings
040948 - that persist are legible today to the extent that the material
040949 - they were written on didn't decay. Yet within the last 15
040950 - years, we have had to move to acid-free and archival papers for
040951 - things like scrapbooking and archival-quality books.
040953 - ..
040954 - What is the foundation for growing knowledge across generations, cited
040955 - on 081123. ref SDS 12 EJ4M
040957 - ..
040958 - At least in Western civilization, the alphabet credited in the Legend
040959 - of Prometheus, reviewed on 991108, ref SDS 1 5810, and cited in
040960 - Plato's Phaedrus from 400 BC, reviewed on 991209. ref SDS 2 3416
040962 - ..
040963 - Gary's letter to the team continues...
040964 -
040965 - 5. As I discussed in my first record, we have an ongoing issue
040966 - with digital media, requiring archived information to be
040967 - migrated to new media as older ones are obsoleted. The
040968 - advantage of digital media, however, is that copies are as good
040969 - as the originals. Then we add the issue of format and arrive
040970 - at a need for non-binary, non-proprietary formats with matching
040971 - standards ans specifications.
040973 - ..
040974 - 6. Programming Language and Longevity
040976 - ..
040977 - Rod asks whether assembly language provides greater longevity
040978 - than higher level languages since it is closer to the hardware.
040979 - ref SDS 6 2671
040981 - ..
040982 - Gary does an excellent job here of providing a link to context for
040983 - considering his remarks today.
040985 - ..
040986 - Links to other referents would help maintain context.
040988 - ..
040989 - Gary's letter to the team continues...
040990 -
040991 - 7. There are multiple issues associated with programming language
040992 - longevity:
040994 - ..
040995 - 1) The language itself.
040996 -
040997 - Languages evolve and die. Without control over the
040998 - development tools, a language can be lost by becoming
040999 - unavailable on a new platform.
041001 - ..
041002 - 2) Libraries.
041003 -
041004 - Increasingly, a language platform depends on the available
041005 - libraries as much as on the language itself. Those
041006 - libraries evolve (and become obsolete) faster than the
041007 - languages, in many cases.
041009 - ..
041010 - 3) Operating system.
041011 -
041012 - Every program makes use of the operating system it runs on
041013 - for support. A Windows 3.1 program will not run on Windows
041014 - XP, and Macintosh programs will not run on Windows, even
041015 - though both operating systems are running on an Intel
041016 - platform.
041018 - ..
041019 - 4) Hardware platforms.
041020 -
041021 - From peripherals to the actual CPUs, hardware changes over
041022 - time, but somewhat more slowly than software. The Intel
041023 - Pentium processor is different from the older X86 platform,
041024 - even though they are made by the same company. They are
041025 - still in the same family, but there are more instructions
041026 - on the Pentium.
041028 - ..
041029 - 8. Assembly Language
041030 -
041031 - a. Assembly language is no protection against change in
041032 - operating system as we see trying to move from DOS to
041033 - Windows.
041035 - ..
041036 - Gary's analysis is excellent on considering assembly language for
041037 - extending longevity of SDS, discussed on 081104. ref SDS 6 VO3P
041039 - ..
041040 - On 081120 asked Gary to develop a professional presentation on
041041 - advantages of using assembly language for the editor, ref SDS 9 KD6H,
041042 - and, ref SDS 9 KD6O Gary submitted his record on 081120 that explains
041043 - disadvantages of assembly language. ref SDS 9 4Q4F
041045 - ..
041046 - Gary's later comments on 081123 suggested building what already
041047 - exists, ref SDS 11 V29Y, which is an editor based on assembly language
041048 - noted on 081104. ref SDS 6 VO3P
041050 - ..
041051 - Analysis today does not seem to list any advantages of assembly
041052 - language along the lines of analysis on 081104. ref SDS 6 VO3P
041054 - ..
041055 - Gary's letter to the team continues...
041056 -
041057 - b. Lack of libraries means that we have to build the entire
041058 - technology ourselves, which slows development.
041060 - ..
041061 - c. Assembly language relies on development tools the same as
041062 - other languages do, with the additional difficulty that
041063 - assembly language generally doesn't have multiple
041064 - suppliers, and if they do, the formats of the language are
041065 - often different.
041067 - ..
041068 - Does this come down to the compiler; what language is used for the
041069 - compiler?
041071 - ..
041072 - Gary's letter to the team continues...
041073 -
041074 - d. Assembly language needs to be upgraded along with changes
041075 - in hardware also.
041077 - ..
041078 - e. In summary, assembly language offers no advantage in terms
041079 - of protection from obsolescene beyond that afforded by
041080 - other languages.
041082 - ..
041083 - What about other advantates cited on 081104? ref SDS 6 VO3P
041085 - ..
041086 - Gary's letter to the team continues...
041087 -
041088 - 9. Achieving Application Longevity
041089 -
041090 - a. In order to achieve longevity, an application must be
041091 - designed for longevity and it must be supported by an
041092 - organizational structure that can survive to support the
041093 - application.
041095 - ..
041096 - b. The application must be retooled from time to time as the
041097 - underlying support erodes. For many years the comparison
041098 - standard for large mainframe computers was the quality of
041099 - their emulation of the obsoleted 1401 computer. Some
041100 - applications were running on those emulators decades after
041101 - the original computer was obsolete.
041103 - ..
041104 - c. As Morris pointed out, COBOL is more than 50 years old, and
041105 - shows no signs of dying. FORTRAN is alive and well. It can
041106 - be argued that neither COBOL nor FORTRAN is a mainstream
041107 - language any longer, but they both flourish in their areas
041108 - of excellence.
041110 - ..
041111 - Morri's letter on 081122 cited COBOL. ref SDS 10 NX4X
041113 - ..
041114 - Gary's letter to the team continues...
041115 -
041116 - d. The C programming language is well supported by multiple
041117 - sources, and source code for compilers is available.
041119 - ..
041120 - e. Java looks like it may have the potential for long term
041121 - survival as well. It is widely used, open source, and has
041122 - multiple sources.
041124 - ..
041125 - f. If longevity is a real issue, we need to look at all of the
041126 - factors involved. We don't have the resources to address
041127 - all of them, so picking a platform that offers a realistic
041128 - chance of a few decades is about as much as we can do.
041130 - ..
041131 - 10. Ensuring Java Longevity
041133 - ..
041134 - If we wanted to ensure that we would always be able to use
041135 - Java, we would have to do at least:
041136 -
041137 - a. Keep up to date with source code for all java libraries,
041138 - development tools, and java itself.
041139 -
041140 - b. Since it is a good bet that Java is written in C++, we need
041141 - to keep up to date with bootstrappable code for a C++
041142 - compiler. That is, we need to have source code for a C++
041143 - compiler that compiles using the compiler itself.
041145 - ..
041146 - c. We need to migrate to new operating systems as they
041147 - predominate. We can rely on the Java developers to do that
041148 - for so long as Java remains viable.
041150 - ..
041151 - 11. For anything beyond that, we have to have a documented
041152 - "as-built" design for the application to allow it to be moved
041153 - to new languages as necessary.
041155 - ..
041156 - 12. So, we do not have the resources, so the best we can do is to
041157 - take an educated guess at something that will give us a
041158 - reasonable lifespan, design the application carefully so that
041159 - it is as easy to follow as possible, and plan on upgrading over
041160 - time as necessary.
041161 -
041170 -
041171 -
041172 -
041173 -
041174 -
041175 -
041176 -
041177 -
0412 -
Distribution. . . . See "CONTACTS"