Technology Industry
Industry: Email Alert RSS FeedMore ways to say 'program': why developers are exploiting C, Ada, Prolog and Lisp programming tools
Software Magazine, July, 1988 by Jerry Cashin
MORE WAYS TO SAY 'PROGRAM'
Most programming languages are part of an evolutionary chain that stretches from early assembly languages, which mercifully terminated machine language coding, to a successor language of a higher level of abstraction.
Pascal, for example, has roots in Algol, a language that first arrived on the scene in the 1960s. In turn, both Algol and Pascal have made their mark on Ada.
The impact of one language on another continues unabated as new technologies present opportunities for new languages, which in turn offer novel capabilities for solving contemporary problems.
Most RecentTechnology Articles
While C, Ada, Prolog and Lisp do not represent a complete list of emerging languages, they are good examples of three important programming language types: System Design Languages, Block Structured Languages and Symbolic Relational Languages.
C is a good example of a System Design Language. A key element of C is its assembly language-like ability to provide access to the hardware configuration underneath while still supporting high-level language features found in modern languages.
Type checking and control structures which follow current software engineering practices are also available. Ada fits precisely into the category called Block Structured Languages. An important feature of languages found in this classification is that programs are clearly segmented into procedural blocks, similar to subprograms in other languages. Storage requirements are not finalized at compile times, as is done with Fortran and Cobol. Instead, storage requirements are set at execute time as each succeeding block is entered and exited. Block Structured Languages also support strong data typing.
The Symbolic Relational Language category includes the last two of our "emerging" candidates, Prolog and Lisp. Both have evolved into strong association with artificial intelligence applications, but each also offers a powerful method for relating data, making them useful choices for database work as well. They are very high level in nature and strong in symbolic logic.
The four languages featured here span a continuum that ranges from the machine-associative traits of C to the symbolic relational characteristics found in Prolog and Lisp.
Ada falls in the middle, exhibiting traces of the features of the other two groups, but it also maintains a unique identity of its own. A few specific characteristics help to explain the appeal of each language.
The potential for portability is C's dominant feature. In fact, "it is widely acknowledged as being the most portable of languages," according to Dr. Lawrence Woodruff of Rapitech Systems Inc., Suffern, N.Y. "It is an attractive mix of high-level and machine-level capabilities, sort of a high-level assembler," he said.
Each C program exists as a sequence of files, some parts of which are data definitions and others which are standard programmed procedures.
The data definitions may be external or internal in nature. External definitions interrelate among multiple files while internal ones are relevant only within the file where they are located. Procedures, on the other hand, are all external. Files developed independently can be compiled, then linked together to produce a cohesive execution module.
C has close ties to the Unix world. It has been the Unix system programmer's language of choice because of its dual role as a high-level system-engineered programming tool, as well as a machine-level access mechanism for efficient design.
Recently, C has started to get strong support in non-Unix environments, primarily as a result of the widely accepted draft standard on C from the Ansi standards committee. Made up of over 100 representatives from academia, industry, and government, the standards group is currently reviewing comments following circulation of the draft language document. This new standard will impose unique methodologies for C programmers and analysts.
The initial definitive statement regarding C was documented in Kernighan and Ritchie's seminal book The C Programming Language, published in 1978. Before the recent standards effort, the Kernighan and Ritchie book was the de facto standard. There was no other significant reference at the time, although "it offered a small definition compared to the X3Jll work of recent vintage," declared Rapitech's Woodruff.
Kernighan and Ritchie weren't the only people to have an impact on C. In order to respond to different requirements, supersets of the language's original capability gained acceptance. Two of the most notable were developed at Berkeley and Microsoft Corp., respectively.
They added facilities such as enumerated data types [in Pascal you've seen it as DAY = (MON, TUES, FRI)]; and declarator extensions such as Pascal and Ncar. The additions also helped to dispel some of the ambiguities found in the original landmark work.
ANSI RESOLVES MANY C AMBIGUITIES
The Ansi directive for C further resolves any latent imprecision in the language definition, as well as offering a new standard library. The C execution library had been very vendor-specific up until the time of the Ansi standard, seemingly contradicting C's portability claims. But the new standard has changed all of that. It has introduced many changes to the library in order to unify its features and enhance the product's overall portability. Some of the new routines include the following:
CXO UnpluggedSmart Business interviews on BNET
Brought to you by CBS MoneyWatch.com
- Best- and Worst-Paid College Degrees
- 6 Things You Should Never Do on Twitter or Facebook
- How Much Sleep Do You Really Need?
- 6 Big Myths about Gas Mileage
- 5 Rules for Immediate Annuities
- Death in the Family: 12 Things to Do Now
- Dumbest Things You Do With Your Money
- 6 Online Networking Mistakes to Avoid
- 401(k) Mistakes to Avoid
- 5 Economic Scenarios to Keep You Up at Night
- The Real ‘Best Places to Retire’
- Best Credit Cards for You
- 12 Tough Questions to Ask Your Parents
- The Real ‘Best Colleges’
- Home Buyer Tax Credit: How to Cash In
- Why You Shouldn’t Bash Cash
- 8 Phony 'Bargains' and Better Alternatives
- Danger: 3 Debit Card Scams to Avoid
- 6 Myths About Gas Mileage
- 29 Fees We Hate Most
- Quick and Easy Ways to Boost Returns
- Best Stocks to Buy Now
- Lower Your Taxes: 10 Moves to Make Now
- New Jobs: 8 Lessons from Real-Life Career Switchers
- The New Job Market: Who Wins and Who Loses?
- Health Care Reform's Public Option: Everything You Need to Know
- Volunteer Work When Unemployed: Should You Work for Free?
- Whose Recovery Is This?
- Long-Term-Care Insurance: 4 Biggest Risks to Avoid
Content provided in partnership with
Most Recent Technology Articles
- INTERVIEW WITH BEN BUTTERS, DIRECTOR OF EUROPEAN AFFAIRS AT EUROCHAMBRES : "A PERFECT ROAD MAP FOR EU CLUSTERS DOES NOT EXIST".
- AGENDA.(Brief article)(Conference notes)
- FIGHT AGAINST INTERNET PIRACY.
- INTERNET : AUTHORS' SOCIETIES URGE ACTION AGAINST PIRACY.
- TELECOMMUNICATIONS : BUSINESSEUROPE HOSTILE TO FURTHER CONTRACTUAL OBLIGATIONS.(Brief article)
Most Recent Technology Publications
Most Popular Technology Articles
- Speed control of separately excited DC motor
- BizRate to monitor in-store customer satisfaction for Office Depot stores - Market Intelligence
- Effects of creative, educational drama activities on developing oral skills in primary school children
- Failed businesses in Japan: a study of how different companies have failed, and tips on how to succeed, in the Japanese market
- Political stability and economic growth in Asia



