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"