1. Background

1. Background

1.1 Team members

Kevin Dziulko

Bob Starkweather

Noel Stanko

Chris Trimper

 

1.2 Language Name

ACE = Algebraic and Calculus Expressions

1.3 Language Purpose

The purpose of the ACE programming language is to use logic, as well as some common mathematical precepts and operations to make programming easier. Certain languages are very math deficient and often force you to write routines or functions for mathematical operations that range from simple to complex. For example, C++ has no built in way to evaluate exponential values. Our proposed language would be based on mathematical concepts and logic. As such, it would include operations for exponents, modulus, division, greatest common divisor, factorials, derivatives and many others. Ideally the language would also be able to handle symbols as variables, and to treat them as numbers, so as to make possible the representation and evaluation of polynomials like 7x^2 + 3x + 2. Other built in functions may include Pascal's Triangle, the Pythagorean Theorem, and common area formulas. Therefore, parts of our language will be functional in design. The language might be upgradeable to have a graphical portion to it, in which equations can be visually represented and played with. This feature may become useful in applications such as statistics of population, showing population density and population growths. Also the language would include basic logic functions: if, then, and, or, while, for, and others. Maybe not by these names, but the same ideas will be there. This would make our language mostly imperative, with the capabilities of functional and visual languages as well.

The language will be designed to make logical problem solving easier. It should be able to create programs that can stand alone to solve certain problems, or programs that can be linked to programs of other languages. This way, a program written in C++ might call a program written in our language to perform some mathematical task because our program is suited to perform that task quicker or better. Another goal we are trying to work at is to create a language that is easy to write and read, as long as you are familiar with mathematics.