Baylor Computer Science Programming Archive

At the moment, this archive consists of programs written in many different programming languages. In particular, we are featuring The Sieve of Eratosthenes written in several different languages. All of these programs have been compiled and run.

If you would like to contribute code to this archive, feel free. E-Mail me the code with a printout of the result. Things I am interested in are implementations of the following algorithm in languages other than those posted here, and collections of other algorithms, preferably the same algorithm implemented in several different languages.

The algorithm is as follows.
1. Initialize an array indexed from 0 to 999 with all 1's (You may change the 0 to a 1 or the 999 to 1000 if necessary.)
2. The indices of the array correspond to the integers, with 1's indicating the positions of the primes and 0's indicating the positions of the composites.
3. Cross out 0 and 1, since they are not prime.
4. Repeatedly do the following.
5. Find the first unprocessed number p that isn't crossed out. The number p must be prime.
6. Cross out all multiples of the prime p, starting with 2*p.
7. Terminate the repetition when the index position exceeds 999.
8. Print the un-crossed-out numbers.

This algorithm provides assignments, If statements and WHILE and FOR loops, but is not sufficient to distinguish the various C-type languages from one another. Thus C, C++, Java, and C# all look the same. Eventually I hope to add a binary search tree program to show differences between object-oriented languages.

I realize that it is possible to clean up this algorithm and make it much more elegant. I don't want to do that, because the current implementation illustrates the basic language structures better than a more elegant algorithm. (The cleaned-up version has no while loops or compound contitions.)

Currently Supported languages

Here are the implementation languages. Click on the name of the language to see the code.

Ada
Algol 60
Algol 60 for the IBM 360
Algol 68
APL and J
AWK
BAL: IBM Assembly Language
bash
BCPL
Beta
Basic (Original dialect)
C
C++
C#
COBOL
D
Dylan
Eiffel
Euler
Forth
FORTRAN
Icon
Intel i386 Assembler (GNU version)
Java
JavaScript
LISP
Modula-2
Oberon-2
Pascal (which includes Delphi)
Perl
PHP
PL/1
Prolog
Python
Rexx
Ruby
Scheme
SETL
SmallTalk
SNOBOL4
TCL
VBScript
Visual Basic

Dead Languages

Here are some implementations in languages that have fallen into disuse or have no compiler for Windows or Linux.
B
Bliss
CLU
Jovial

Other languages

We need implementations in the following languages, assuming, of course, that this is possible. All examples need to compile and run correctly. If you want to contribute, remember that it is necessary to reproduce my algorthm without cleaning it up, and it is necessary that your code compile and run correctly. Send me proof of this along with the code.

assembler (Especially x86, PDP-11, VAX, Motorola 68X, SPARC, MIPS, and MIXAL)
Clipper
Esterel
Euclid
Haskell
Hermes
IDL
Limbo
Mesa
ML
Modula3
MUMPS
Occam
PLB
RPG
Sather
SIMULA
Verilog
VHDL
Yorick
anything else you can think of.