ConEuc? Concurrent Euclid (programming language) - Page 1
Forum section: electronics / general

author: legacy
author_rank: Super Contributor
timestamp: October 07, 2015, 08:12:24 pm
content: Concurrent Euclid(also known asConEuc) is a concurrent descendant of theEuclid programming languagedesigned by James Cordy and Ric Holt, then at theUniversity of Toronto, in 1980.ConEucwas designed forconcurrenthigh performancehighly reliablesystem software.TheTUNISoperating system is a Unix variant, and it was implemented entirely inConcurrent Euclid, this becauseConEucextends a core subset ofEuclidwithprocessesandmonitorsas well as language constructs needed for systems programming including separate compilation, variables at absolute addresses, type converters, long integers and other features.Good theory, good book (see theAmazonlink, the book/second hand is available for a few bucks), about practice … well, it "seems"ConEucwas implemented by a small (~k bytes?), fast, portable compiler that was self-compiling and had replaceable code generators, but I haven't seen sources aroundsomeone with a better experience here ?I have bought that book and I appreciate it

author: richardman
author_rank: Frequent Contributor
timestamp: October 07, 2015, 09:02:40 pm
content: I have the book, from the 80s! :-)Good theoretical concepts. Holt is a brilliant mathematician. However, good languages based on good languages do not necessarily mean good general purpose programming language.I think for concurrency, the "Future" construct may be the future, but jury is still out.There is no shortage of coroutine and light weight threads, something is still missing though, mainly they require a DIFFERENT language, and if COBOL is still being used, when it should have been dead 30 years ago, this means something...

author: legacy
author_rank: Super Contributor
timestamp: October 08, 2015, 08:20:03 pm
content: I am readingthispaperit claims "Threads Cannot be Implemented as a Library": interesting

author: richardman
author_rank: Frequent Contributor
timestamp: October 08, 2015, 08:47:36 pm
content: Quote from: legacy on October 08, 2015, 08:20:03 pmA bit of hyperbole. The problem is the concurrency model of shared (e.g. global) variable access. Not all concurrent programming make use of shared variables the way they imply - may be some, certainly, not all.A better model for concurrency is probably using channels, which are encouraged by most languages which support concurrency anyway, and not shared memory. However, it's also true that possibly channels cannot be support as library code either.My own interest in this is back to those "thousands" of IoT sensors and devices communicating. They ought to use a higher level abstraction that poking at the TCP/IP level.

author: legacy
author_rank: Super Contributor
timestamp: October 08, 2015, 08:57:35 pm
content: yes, it's good when the model it'sshared memoryorientedI agree with you.

author: legacy
author_rank: Super Contributor
timestamp: October 09, 2015, 12:21:21 am
content: It makes me thinking aboutAda Protected Objectan other example:Mutex Object, used byModula-3

author: helius
author_rank: Super Contributor
timestamp: October 09, 2015, 01:01:58 am
content: Why better models of concurrency are needed:http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf

author: miguelvp
author_rank: Super Contributor
timestamp: October 09, 2015, 01:38:11 am
content: Erlang is a proven concurrent programming language.Not hard to get your head around it if you can program FPGAs, also you can only use a variable once, but the message passing is 2nd to none.

author: codeboy2k
author_rank: Super Contributor
timestamp: October 09, 2015, 05:47:29 am
content: Holt was my Professor back in my University of Toronto days... We did ConEuc programming on a 6809 trainer board in our 4th year EE labs. We built an OS with it during the course. It was pretty nice to work with, and very cool for the time. I too still have the original book from the 80's.By this time, new students were starting to use The Turing Language for general programming, and Turing Plus for systems programming. Both of these borrowed heavily from ConEuc. I still like the cleanliness of Turing, although some people look at it like it was some kind of modern day cobol. I just liked that everything had to be explicitly imported and declared upfront before you used it, and I still like this. I have a love/hate relationship with dynamic programming languages like python, php, lua, etc.I've never tried Erlang, but it's on my list

author: legacy
author_rank: Super Contributor
timestamp: November 21, 2015, 01:14:45 pm
content: what about the RUST language ?