Rosetta Code:Village Pump/Suggest a programming task: Difference between revisions
Content added Content deleted
m (→Prolog interpreter: typo) |
|||
Line 342: | Line 342: | ||
: The hash join algorithm is very useful in the development of a relational database systems. The task consists in implementing the following algorithm and provinduing a simple reproducible example: The records of files R and S are both hashed to the same hash file, using the same hashing function on the join attributes A of R and B of S as hash keys. A single pass through the file with fewer records (say, R) hashes its records to the hash file buckets. A single pass through the other file (S) then hashes each of its records to the appropriate bucket, where the record is combined with all matching records from R. |
: The hash join algorithm is very useful in the development of a relational database systems. The task consists in implementing the following algorithm and provinduing a simple reproducible example: The records of files R and S are both hashed to the same hash file, using the same hashing function on the join attributes A of R and B of S as hash keys. A single pass through the file with fewer records (say, R) hashes its records to the hash file buckets. A single pass through the other file (S) then hashes each of its records to the appropriate bucket, where the record is combined with all matching records from R. |
||
** the following three items could be in a category like program checking or program verification(or whatever this is called) |
|||
* Programming by contract/Design by contract |
* Programming by contract/Design by contract |
||
Some languages support Design by contract as part of the language (e.g. Eiffel) or via libraries or language extensions (cofoja, gcontracts, C#), I think it would be useful to have a simple (probably incorrect) implementation of a task and the contracts that exhibit the programming mistake. --[[User:AlexLehm|AlexLehm]] 09:01, 28 October 2011 (UTC) |
Some languages support Design by contract as part of the language (e.g. Eiffel) or via libraries or language extensions (cofoja, gcontracts, C#), I think it would be useful to have a simple (probably incorrect) implementation of a task and the contracts that exhibit the programming mistake. --[[User:AlexLehm|AlexLehm]] 09:01, 28 October 2011 (UTC) |
||
* Assert |
* Assert |
||
* Unit Tests |
* Unit Tests |
||
==Insufficient information== |
==Insufficient information== |