3 ms·
The University of Kent worked on occam-pi language which extended the language occam used by the Transputer. http://occam-pi.org/ http://occam-pi.org/ I parti
by samsquire 3y ago
The University of Kent worked on occam-pi language which extended the language occam used by the Transputer.
http://occam-pi.org/ http://occam-pi.org/
I partially attribute this language to my deep interest in parallelism (async, coroutines) as a hobby because I studied occam-pi at university.
Imagine a language that every program written for it is parallel and linearly scalable by default because of the construction of the language and the problem. That's my dream.
- adrian_b 3y agoThe main innovation of Occam, i.e. the only one of its features that did not exist in earlier programming languages, was what in Occam (1985) was named "replicated parallel". This Occam "replicated parallel" was based on the paper "Communicating Sequential Processes" by C.A.R. Hoare (1978-08), where it was named "array of processes". Hoare was an important contributor to the definition of Occam. The Occam "replicated parallel" (1985) is the same as the "PARALLEL DO" of OpenMP Fortran (1997-10) and the "parallel for" of OpenMP C and C++ (1998-10), i.e. the concurrent execution of many threads that share the same code. This structure is essential for being able to use CPUs or GPUs with many cores, because if a programmer would have to write one thousand different function definitions, or even just one thousand different function invocations, in order to fully occupy a processor able to execute simultaneously one thousand threads, that would be hopeless. That is why "parallel for" is the main structure used by CUDA, OpenCL and by the graphics shader languages, even if for some weird reason all these GPU-oriented programming languages use an obfuscated terminology, where many things have different names than in the rest of the computer-related literature, without any rational justification, so they do not say "parallel for", but "kernels" or the like.
- fidotron 3y agoDid you use the pi calculus derived parts of the language at all? I only ever stuck to the classic CSP occam 2.
- UncleSlacky 3y agoAs part of my Physics with Computing degree at UKC (late 80s-early 90s) we learned Occam (pen & paper only!) and were allowed to see (but not touch) the Meiko Computing Surface drawing fractal landscapes in real time.