E Programming Language: Write Secure Distributed Software

  • C and C++ are both powerful languages but D brings some new things to the table. Then there's E, innovative yes, but why use E when we have F, or better, F#? Personally, I've used G for a couple years now but I am betting the future on the H language.

    Some people are already skipping ahead to using K, but the guys I'm most scared by are those who only use R.

  • For those wondering, this is Mark Miller, you probably know him from JavaScript as he invented promises and wrote the prototype for the popular Q library before Kris made it more ergonomic.

    Edit: this is also a nice read http://www.erights.org/talks/thesis/

    Some of his current work is about allowing safe execution in JavaScript, see: https://github.com/FUDCo/proposal-frozen-realms/ and http://www-cs-students.stanford.edu/~ataly/Papers/sp11.pdf

  • For what it's worth, capnproto's RPC protocol is based on this. (https://capnproto.org/rpc.html)

  • Outside of its security model, E is an interesting language to study because of its actor/object system. Objects live in 'vats', an actor with a local stack and an event loop thread/process. Objects can sequentially/locally communicate with each other in the same vat, but have to communicate as actors between vats.

    AmbientTalk took it a few steps further, with a concept of near and far references, future pipelining, reflection etc.

    edit: Oops, E already had near/far references and promises. AmbientTalk does add more on the reflection/meta-programming side of things and features for mobile ad-hoc networks such as object discovery.

  • I quickly scan the book it is suggested "Walnut" but I didn't grasp why, or how E is "secure" somebody can help?

  • Oh wow, I was just reading about this yesterday in Coders At Work[0]. Douglas Crockford[1] worked on this at a company that was trying to do some distributing computing work in the 90s-00s. They originally based it off the JVM but SUN had issues with that so they turned it more in to what he described as a scripting language "which is what we have today."

    [0]: http://www.amazon.com/Coders-Work-Reflections-Craft-Programm... [1]: http://javascript.crockford.com/

  • Wasn't E a somewhat popular Amiga PL?

  • I think I'll stick with Elixir.