home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!noc.near.net!nic.umass.edu!m2c!jjmhome!smds!rh
- From: rh@smds.com (Richard Harter)
- Newsgroups: comp.lang.misc
- Subject: Re: Assessing a language
- Message-ID: <1993Jan8.065819.14682@smds.com>
- Date: 8 Jan 93 06:58:19 GMT
- References: <nharvey.726365226@probitas>
- Reply-To: rh@ishmael.UUCP (Richard Harter)
- Organization: Software Maintenance & Development Systems, Inc.
- Lines: 105
-
- In article <nharvey.726365226@probitas> nharvey@probitas.cs.utas.edu.au (Nicole Harvey) writes:
-
- >hi,
- > I posted the following article to another newsgroup, and I was told this had
- >been already been discussed in this newsgroup. Did anyone save the responses?
- >Is there a FAQ for this newsgroup?
-
- > I am involved in assessing a language. Does anyone know of a standard
- >set of problems that I could use to judge the languages compabilities?
- > Can anyone think of a problem that represents a real need in a language?
- >For example, we have tested it for the eight queens problem to show that
- >it can do state space searches. We have also made sure it can generate the
- >Fibonacci numbers. Can you think of any other well known problems?
- > What things do you expect to be able to write relatively simply using any
- >language? I would like to hear from people working in all areas.
-
- This is a good question. One standard way to tackle language assessment
- is to have a check list of features, e.g.
-
- -> Does it have recursion?
- -> Garbage collection?
- -> Strong typing/Weak typing/No typing
- -> Arithmetic
- -> Machine equivalents
- -> Big nums?
- -> Other
- -> What database access facilities?
- -> User defined types?
- -> Objects?
- -> What intrinsic data structures?
- -> Lazy evaluation?
- -> Application specific features?
- -> I/O
- -> Language intrinsic/Libraries
- -> Ports/handles/file names/file numbers
- -> Access to OS
- -> Level and type of modularity
- -> Syntax structure
- -> Algebraic
- -> Lispish
- -> Stack language
- -> Muddled
- -> Consistency of language syntax?
- -> etc.
-
- One trouble with a features check list (besides the inevitable
- religious wars) is that it doesn't tell you much about how
- convenient or inconvenient the language is to use and what
- applications it is really good for. The merit of a good problem set
- is that it puts a language to the test. The problem set should cover
- a wide variety of applications, and yet each problem should be fairly
- simple. Here are some problems for different areas:
-
- 1. General language strength
-
- 1.1 Write a program that, when run, prints itself.
- 1.2 Write an interpreter for the language in the language
- 1.3 Write a symbolic debugger for the language
-
- 2. Arithmetic/mathematical
-
- 2.1 Write an FFT library routine
- 2.2 Write a matrix inversion routine
- 2.3 Write a random number generator
- 2.4 Compute pi to one thousand digits
- 2.5 Write a Runge-Kutta routine and a Newton/Raphson
- routine that work together as co-routines.
-
- 3. Tree search
-
- 3.1 Solve the eight queens problem
- 3.2 Write an equivalent of the UNIX find utility
-
- 4. Data record processing
-
- 4.1 Read a file of formatted records and print totals for
- specified fields.
- 4.2 Read a file of formatted records which has names in one
- field and data in another. Print totals and name for
- each distinct name.
- 4.3 Do 4.1 and 4.2 for various formatting conventions.
-
- 5. String processing
-
- 5.1 Read a file created with a text editor such as vi which has
- line feeds after each line. Prepare this file for input to
- a word processor, i.e. remove line feeds within a paragraph.
-
- 5.2 Process a file of text and capitalize the beginning character
- in each sentence.
-
- 5.3 Find all words in a file of text that are present in more than
- one case format, e.g. Polish and polish.
-
- 6. Database communication
-
- 6.1 Do a query to a database with an SQL interface.
-
- This is just a start on a list. I would be mightily interested in
- seeing people improve the list.
- --
- Richard Harter: SMDS Inc. Net address: rh@smds.com Phone: 508-369-7398
- US Mail: SMDS Inc., PO Box 555, Concord MA 01742. Fax: 508-369-8272
- In the fields of Hell where the grass grows high
- Are the graves of dreams allowed to die.
-