Thread View: comp.lang.misc
2 messages
2 total messages
Started by Nicole Harvey
Thu, 07 Jan 1993 00:07
Assessing a language
Author: Nicole Harvey
Date: Thu, 07 Jan 1993 00:07
Date: Thu, 07 Jan 1993 00:07
17 lines
1198 bytes
1198 bytes
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. Nicole nharvey@probitas.cs.utas.edu.au
Re: Assessing a language
Author: Richard Harter
Date: Fri, 08 Jan 1993 06:58
Date: Fri, 08 Jan 1993 06:58
105 lines
4197 bytes
4197 bytes
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.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads