comp.lang.ada
 help / color / mirror / Atom feed
* software modernization (leonid dulman)
@ 1996-08-21  0:00 dulman
  0 siblings, 0 replies; 2+ messages in thread
From: dulman @ 1996-08-21  0:00 UTC (permalink / raw)



                              SOFTWARE MODERNIZATION.
                            -----------------------
                               by Leonid Dulman

    Computer programming  is one of most  conservative areas of engineering
    activity  due   to  the  high   costs  of  innovation   resulting  from
    re-education, abandonment  of software, and  possible new errors.  Thus
    new programming languages, methods and operating systems make their way
    to the important segments of the software market with great difficulty.

    Nobody wants to abandon cumulative  software creation and to begin from
    "tabula rasa ".  Thus many bugs pass from  project to project. Software
    which  was written  10-15 years  ago more  and more  turns into  "black
    boxes", because few of those who wrote it still work in the same job or
    even  the  same  firm.  Hence  numerous  corrections and modernizations
    written by various programmers have  made program code non-readable and
    non-understandable  even  if  the  original  code  was elegant and well
    structured.

    If we consider the main purposes of software modernization, they can be
    separated into two groups:

    The first:  Lending software a modern  look and feel, ie  a modern user
    interface. Examples  are the transition  of code and  applications from
    DOS to WINDOWS or from UNIX to  X-WINDOWS and X/Motif. This part of the
    work, before we had modern VISUAL SYSTEMs, was rather labour-consuming.
    It  required  much  time  and  highly  skilled  programmers with a good
    knowledge  of  the  operating  system.  Programming  API  interface and
    resources is a very complex problem.

    The second: New product and new versions creation , expanding the sales
    and application opportunity and correcting revealed errors.

    In industry the creation of new products likewise requires huge efforts
    for   new  technology   development,  special   training,  and  special
    manufacturing equipment.  But nevertheless, in  competitive markets, we
    notice continued progress, with the  continuing appearance of new items
    and retirement from production of old items.

    Today, since the occurrence of numerous and diverse VISUAL SYSTEMS, the
    creation of the user interface  has become a much less labour-consuming
    problem. Main efforts are transferred to algorithm and problem solution
    areas.  Programming via  VISUAL  TECHNOLOGY  enables the  programmer to
    react more easily  to the system designer's efforts  to market a system
    with the most  elegant interface. Thus the programmer  has more time to
    devote to the proper functioning of the application.

    The main  challenge in continuing  system modernization is  to preserve
    the huge  investment in installed  software while creating  the desired
    improvements and corrections at a modest cost relative to a clean slate
    approach.

    Thus we must face the question "so how shall we do it?"

    Even piecemeal rewriting of program modules from C to ADA 95 can reveal
    and correct many bugs during the recompilation stage.

    The  most  expensive  part  of  such  a  modernization  project is code
    debugging and testing. For debugging a complex project, it is necessary
    to develop and to write the  required test programs. The system testing
    difficulty does not depend strongly on which language is used. However,
    the finding and correction of a "rare" bug in an assembly module can be
    a much more  difficult problem than  algorithm realization in  a modern
    language.

    Another  problem is  finding and  correcting probable  compiler errors.
    They  are very  difficulty to  find and  they can  appear at unexpected
    times,  for example at the transition from one version operating system
    to another.

    After 10-15 years experience with  the new modern programming languages
    and  new software  development technologies,  I think  that the heavily
    modified software  will still be with  us and we must  continue to seek
    economic means to bring the benefits of the most modern technologies to
    it.

    In programming today,  there is no sharp division  into system analysts
    who draw block  diagrams or write algorithms in  some meta language and
    programmers  who  translate  these  meta  programs  to concrete program
    modules. Modern designing and  programming permit partial mechanization
    of  the  conversion  from  interface  specification  packages, in which
    abstract data types are entered,  to their further concretion. Thus the
    system  designing  is  checked  by  the  compiler. The software becomes
    highly  structured,  and  code   development  can  be  accomplished  by
    programmers  or small  teams working  in parallel.  A large project can
    utilize a  large number of  programmers with good  assurance that their
    many independently  created modules will operate  successfully when all
    are combined into the final program.

    Soon new ADA  95 VISUAL SYSTEMs for UNIX, OS/2,  and WINDOWS will allow
    the creation  of reliable high-performance systems  for firms that will
    be step up bravely and will  proceed to modernize C, COBOL, and FORTRAN
    programs  by utilizing  ADA 95.  These firms  can enter  into the 21'th
    century with software products suitable for the 21'th century.






^ permalink raw reply	[flat|nested] 2+ messages in thread

* software modernization (Leonid Dulman)
@ 1996-08-22  0:00 dulman
  0 siblings, 0 replies; 2+ messages in thread
From: dulman @ 1996-08-22  0:00 UTC (permalink / raw)



                              SOFTWARE MODERNIZATION.
                            -----------------------
                               by Leonid Dulman

    Computer programming  is one of most  conservative areas of engineering
    activity  due   to  the  high   costs  of  innovation   resulting  from
    re-education, abandonment  of software, and  possible new errors.  Thus
    new programming languages, methods and operating systems make their way
    to the important segments of the software market with great difficulty.

    Nobody wants to abandon cumulative  software creation and to begin from
    "tabula rasa ".  Thus many bugs pass from  project to project. Software
    which  was written  10-15 years  ago more  and more  turns into  "black
    boxes", because few of those who wrote it still work in the same job or
    even  the  same  firm.  Hence  numerous  corrections and modernizations
    written by various programmers have  made program code non-readable and
    non-understandable  even  if  the  original  code  was elegant and well
    structured.

    If we consider the main purposes of software modernization, they can be
    separated into two groups:

    The first:  Lending software a modern  look and feel, ie  a modern user
    interface. Examples  are the transition  of code and  applications from
    DOS to WINDOWS or from UNIX to  X-WINDOWS and X/Motif. This part of the
    work, before we had modern VISUAL SYSTEMs, was rather labour-consuming.
    It  required  much  time  and  highly  skilled  programmers with a good
    knowledge  of  the  operating  system.  Programming  API  interface and
    resources is a very complex problem.

    The second: New product and new versions creation , expanding the sales
    and application opportunity and correcting revealed errors.

    In industry the creation of new products likewise requires huge efforts
    for   new  technology   development,  special   training,  and  special
    manufacturing equipment.  But nevertheless, in  competitive markets, we
    notice continued progress, with the  continuing appearance of new items
    and retirement from production of old items.

    Today, since the occurrence of numerous and diverse VISUAL SYSTEMS, the
    creation of the user interface  has become a much less labour-consuming
    problem. Main efforts are transferred to algorithm and problem solution
    areas.  Programming via  VISUAL  TECHNOLOGY  enables the  programmer to
    react more easily  to the system designer's efforts  to market a system
    with the most  elegant interface. Thus the programmer  has more time to
    devote to the proper functioning of the application.

    The main  challenge in continuing  system modernization is  to preserve
    the huge  investment in installed  software while creating  the desired
    improvements and corrections at a modest cost relative to a clean slate
    approach.

    Thus we must face the question "so how shall we do it?"

    Even piecemeal rewriting of program modules from C to ADA 95 can reveal
    and correct many bugs during the recompilation stage.

    The  most  expensive  part  of  such  a  modernization  project is code
    debugging and testing. For debugging a complex project, it is necessary
    to develop and to write the  required test programs. The system testing
    difficulty does not depend strongly on which language is used. However,
    the finding and correction of a "rare" bug in an assembly module can be
    a much more  difficult problem than  algorithm realization in  a modern
    language.

    Another  problem is  finding and  correcting probable  compiler errors.
    They  are very  difficulty to  find and  they can  appear at unexpected
    times,  for example at the transition from one version operating system
    to another.

    After 10-15 years experience with  the new modern programming languages
    and  new software  development technologies,  I think  that the heavily
    modified software  will still be with  us and we must  continue to seek
    economic means to bring the benefits of the most modern technologies to
    it.

    In programming today,  there is no sharp division  into system analysts
    who draw block  diagrams or write algorithms in  some meta language and
    programmers  who  translate  these  meta  programs  to concrete program
    modules. Modern designing and  programming permit partial mechanization
    of  the  conversion  from  interface  specification  packages, in which
    abstract data types are entered,  to their further concretion. Thus the
    system  designing  is  checked  by  the  compiler. The software becomes
    highly  structured,  and  code   development  can  be  accomplished  by
    programmers  or small  teams working  in parallel.  A large project can
    utilize a  large number of  programmers with good  assurance that their
    many independently  created modules will operate  successfully when all
    are combined into the final program.

    Soon new ADA  95 VISUAL SYSTEMs for UNIX, OS/2,  and WINDOWS will allow
    the creation  of reliable high-performance systems  for firms that will
    be step up bravely and will  proceed to modernize C, COBOL, and FORTRAN
    programs  by utilizing  ADA 95.  These firms  can enter  into the 21'th
    century with software products suitable for the 21'th century.






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1996-08-22  0:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-08-22  0:00 software modernization (Leonid Dulman) dulman
  -- strict thread matches above, loose matches on Subject: below --
1996-08-21  0:00 software modernization (leonid dulman) dulman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox