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
Ada's failure to support Lisp-type constructs needed in applications involving artificial intelligence concerns some observers. These features will be prevalent in future weapons control and related embedded systems.
Lisp code itself can be included in Ada programs using the latter's interface specification, but too much of this hybridization would violate the very uniformity Ada was intended to provide.
Whether Ada is ultimately accepted may depend on whether it is used for artificial intelligence, and what effect this will have on its future viability in military and commercial embedded systems.
Most RecentTechnology Articles
Prolog isn't limited to artificial intelligence applications, although it is certainly strong in that arena. It is also a good, general purpose programming language that can be employed for many procedures, especially those involving data relationships in database applications.
"Prolog runs well on general purpose hardware. It also mixes well with other languages," says Peter Gabel, president of Arity Corp., Concord, Mass. "C syntax expressions can be embedded in Prolog. This marriage of the two languages further enhances Prolog."
From a conceptual standpoint, Prolog programs exist as an aggregation of logical premises or axioms. Upon execution, a program validates a result emanating from those logical premises. It differs from other conventional languages (Pascal, Fortran) not only syntactically, but in its very structure and intent.
Initially developed during the early 1970s, Prolog has now been designated as the language of choice for the Japanese Fifth-Generation architecture. Coupled with that kind of endorsement, Prolog's database capability and strength in pattern matching and backtracking make it even more relevant today.
A simple Prolog clause might look like this:
tag("Bob Jones", "CLC Comm")
tag("Al Smith", "CLS Comm VP")
tag("Bob Morgan", "CLS Comm Treas")
tag ("Henry Davis", "MBE-1 Corp")
tag("Tom Carter", "MBE-1 Corp")
locus("CLS Comm", "Berlin")
locus("MBE-1 Corp", "San Diego")
locus("MBE-1 Corp", "La Jolla")
The first entries, i.e. tag or locus, are called a functor. The items within the parentheses are referred to as arguments. Prolog will search for one or more items in a database using a pattern such as: tag ("Person", "MBE-1 Corp"). When finding a match, it leaves a backtracking marker in the database if there is another alternative. Then the next "MBE-1 Corp" argument receives the backtracking marker.
These markers are not an intrinsic part of the database, but applied automatically by Prolog. Many markers may be used during a search. The pattern matching which goes on during a search follows a precise set of rules involving variables and constants, which are exhaustively delineated in technical volumes dealing with Prolog.
The preceding example barely scratches the surface of Prolog's richness as a language. It is in reality a comprehensive programming tool that employs identical syntax for programs and data.
A Prolog program is integrated in the Prolog database and consists of a collection of axiomatic clauses. The combination of pattern matching, backtracking, control structures, and variables form the basis of the language's incredible power.
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
Most Recent Technology Publications
Most Popular Technology Articles
- BizRate to monitor in-store customer satisfaction for Office Depot stores - Market Intelligence
- Speed control of separately excited DC motor
- 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



