Evolution of a Computer System - UCSD Mathematics
JOMA
Journal of Online Mathematics and its Applications
Evolution of a Computer Application
John J. Wavrik Department of Mathematics University of California ? San Diego
Wavrik - 1
Abstract
In this article I discuss the process of producing a computer software system for mathematical research or instruction. I show how a mathematician can create a special-purpose computer language to facilitate development of a system.
Mathematical work benefits from the use of software that can be modified and extended as it is used. I show the process of creating a software system of this type by discussing several critical stages in the development of Groups32, a system for working with groups of low order.
JOMA
Journal of Online Mathematics and its Applications
Wavrik - 2
A version of the Groups32 system being discussed in this article is accessible on the Internet at . This web page contains instructions for accessing Groups32 via telnet and some written material including a sample session.
JOMA
Journal of Online Mathematics and its Applications
Table of Contents
Wavrik - 3
Introduction Tips on reading this article The Forth language (a brief introduction)
Groups16 (1990 version) Comments on Improvements Back to the Isomorphism Problem
Groups16 ? Transition First Subgroups Package Sets
Listing Subgroups Some Simple Programs
Groups32 Permutations Search User Interface
Summary
Resources
JOMA
Journal of Online Mathematics and its Applications
Wavrik - 4
Introduction
I address this article to mathematicians and mathematics educators. It is not about the use of a piece of software but rather about a methodology for producing software and about the electronic representation and manipulation of mathematics. In the article I show how a mathematician can produce a special purpose language for a subject area to facilitate writing programs in that area.
Computer programs are often "end products" -- like books, they remain relatively fixed after creation. The design and implementation of large software projects are most often in the hands of teams of experts in computer programming. The end user is not interested in the programming language or the developmental techniques, and, in fact, these things become invisible in the end product. The choice of language, however, can be a significant factor for ease in development, maintenance, and modification.
JOMA
Journal of Online Mathematics and its Applications
Wavrik - 5
In this article I discuss production of dynamic software systems that are targeted at specialized research and instructional areas and are extended and modified as part of their use. The user, designer, and implementer are often the same person. We need, for this work, a language and methodology that allow software to be developed and modified easily. We need to make it feasible for a mathematician, whose expertise lies in other areas, to become involved in the task of creating languages and software systems.
A source of difficulty in programming with conventional general-purpose languages is the gap between the means of expression provided by the language and the concepts of the subject area. We can reduce this gap by using a language specifically designed for a particular subject area. To do this in the realm of conventional compiled languages would require writing a custom compiler ? a formidable task. I will discuss and illustrate an approach that is the moral equivalent of writing a compiler ? but that is viable for a working mathematician.
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- chapter 2 evolution of the major programming languages
- topic 1 overview of computer organization and systems
- programming languages
- history history of programming languages
- the five generations of computers
- programming language use in us academia and industry
- evolution of distributed computing theory
- a basic introduction to programming in fortran
- evolution of programming languages
- programming languages computer science
Related searches
- components of computer system pdf
- component of a computer system
- parts of a computer and their functions
- benefits of a computer network
- advantages of a computer pdf
- advantages of a computer system
- elements of a computer system
- evolution of computer programming
- components of a computer program
- components of a computer network
- parts of a computer system
- advantages of a computer monitor