Slashdot Mirror


ELIoT, Distributed Programming For the Internet of Things

descubes writes: ELIoT (Extensible Language for the Internet of Things) is a new programming language designed to facilitate distributed programming. A code sample with less than 20 lines of code looks like a single program, but really runs on three different computers to collect temperature measurements and report when they differ. ELIoT transforms a simple sensor API into a rich, remotely-programmable API, giving your application the opportunity to optimize energy usage and minimize network traffic.

Using fewer resources than Bash, and capable of serving hundreds of clients easily on a Raspberry Pi, ELIoT transparently sends program fragments around, but also the data they need to function, e.g. variable values or function definitions. This is possible because, like in Lisp, programs are data. ELIoT has no keywords, and program constructs such as loops or if-then-else are defined in the library rather than in the language. This makes the language very flexible and extensible, so that you can adapt it to the needs of your application.

The project is still very young (published last week), and is looking for talented developers interested in distributed programming, programming languages or language design.

17 of 91 comments (clear)

  1. Wanted: API which is not a rich API by swb · · Score: 4, Funny

    Is there such a thing, or are all (advertised) APIs considered, rich, lush and exquisite as the 12 square feet of Corinthian Leather in the back of my '75 Cordoba?

  2. Re:Phone... Home... by wonkey_monkey · · Score: 2

    What's E.T. short for?

    Because he's only got little legs.

    --
    systemd is Roko's Basilisk.
  3. Re:Why not lisp by bondsbw · · Score: 4, Funny

    Like Clojure? That's a cool name. It's like "closure" but with a J. But let's not talk about functional programming, that's icky.

    And best thing, nobody even has to know it is LISP! Parenthetically speaking, of course.

    --
    All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
  4. Re:Why not lisp by knightghost · · Score: 2

    Lisp failed because 1) it's hard (different thoughts/mentality to program) and 2) flexibility = unsupportable by another developer.

  5. And, privacy and security? by gstoddart · · Score: 4, Insightful

    So are privacy and security baked into this or any of the other crap in this "Internet of Things"? Or are we continuing to write insecure garbage which will ignore these very important things?

    As long as IoT is a marketing term about what this bold new future will bring us (more shit to buy, less security) .. I am of the opinion that this is a solution in search of a problem.

    Consumers aren't saying "gee, what we really want is a bunch of pieces which screw up our privacy and security because people are too lazy and greedy to build it in".

    People who want to sell us on this idea are driving this.

    Sorry, but this stuff is basically proof of concept of "wouldn't it be cool if" while paying zero attention to the real world issues which will need to be solved before this will ever be a viable thing.

    Right now it's just marketing hype, and a bunch of glassy eyed futurists trying to tell us how a technology nobody is asking for is going to revolutionize the world.

    I don't see a single application for IoT that means I as a consumer want this or trust this. In fact, I see lots of evidence this is poorly thought out, thrown together, and not anything which will benefit anybody but the people selling it.

    Get off my damned lawn.

    --
    Lost at C:>. Found at C.
    1. Re:And, privacy and security? by swb · · Score: 4, Interesting

      In the headlong rush to market and sell the IoT, it sure seems like IoT devices are either trying to stake out a standalone role or they're just punting everything related to serious networking and security to some central controller system. Worst is the combination of both of these concepts into "cloud based" controllers, giving you weak devices with little inbuilt intelligence coupled with forced data exporting to "the cloud".

      I don't even understand what constitutes IoT in real world applications these days -- thermostats? Alarm systems with some kind of internet interface? Those LED lights you can change on your phone? Web cameras?

      The kinds of data that seem smart would be more like smart electrical panels that allow you to closely monitor and control electrical consumption on a per-breaker basis, especially when tied into solar/wind or generator based backup systems, but I don't hear anything about that.

    2. Re:And, privacy and security? by Zontar+The+Mindless · · Score: 2

      I would just prefer that I not come home to find my flat reduced to smouldering rubble because some marketroid thinks I just have to be able to turn my stove on at home while I'm at the office... and some script kiddy with time on his hands finds a 'sploit for mine.

      --
      Il n'y a pas de Planet B.
    3. Re:And, privacy and security? by gstoddart · · Score: 2

      While your concerns are certainly valid... this post is about a programming language, not something you buy off the shelf.

      If you the ELIoT programs that you write to have security, IMPLEMENT IT.

      You know what? Anybody trying to make the programming language for the IoT who spends zero time on security and privacy ... well, they're idiots.

      It basically says "were going to solve the fun problems but we don't give a shit about the elephant in the room".

      If the IoT isn't build from the ground up to have privacy and security, then it's going to be garbage from the onset.

      Saying "if you want security then write it yourself" is a lazy and moronic evasion of the problem. Design it properly and it can be something good. Fail to design for the real things it needs to be able to do, and it's just a hodge podge of crap.

      If the language which is supposed to be super awesome for IoT ignores these things, then it's not worth a damn for any real applications.

      We see countless consumer products which absolutely suck at security. Obviously we can't rely on corporations to give a damn or be qualified to do it. In which case if the platform doesn't have this built in, the platform is crap.

      But, it's IoT, and largely a marketing term. Which means it already is crap.

      --
      Lost at C:>. Found at C.
  6. "Less than 20 lines of code" by Junta · · Score: 2

    While this looks like a perfectly reasonable language, I'm a bit weary of this sort of bragging about line counts. I could do the same thing, it would look roughly like:
    ssh pi2.local 'while :; do pitemp=`ssh pi.local get_temp`; mytemp=`get_temp`; if [ abs($((mytemp - pitemp)) -gt 2 ]; then echo "Temperature on pi is $mytemp and on pi2 $mytemp. "'
    (abs and get_temp are up to the person to have the functions).

    Talk about the syntax being nicer, but lines of code is no big deal in this particular case. It has a nice and non-ugly 'run this on another host' syntax and automatically takes care of the communication channels in a reasonable fashion with a low amount of fuss. Leave it at that.

    --
    XML is like violence. If it doesn't solve the problem, use more.
    1. Re:"Less than 20 lines of code" by tomhath · · Score: 2

      Yea, only 20 lines of code. Because all the real work is done in the library it calls. Nuff said.

  7. ...or a class of languages by Plumber,+Programmer, · · Score: 2

    If you add one 's', then you could use that name to describe a whole class of languages, or "Extensible Languages for the Internet of Things." I'm betting they don't have a better or more specific name because the only driving philosophy behind it is to "make a language for the Internet of Things." Alternately, they let some marketer choose the name, which is just as sad. What makes it worse is that its target environment, the "IoT," doesn't have a better name for ITSELF because the people pushing it don't really have a really strong, useful case for it, just a solution ("hey, we can put a simple computer in anything!") looking for a problem. (Sure, there are things that might be more useful when they're connected to SOMETHING else, but most devices? Not so much. The bigger concern is security and LIMITING the connections to only those who need it.) Also, I guess I should point out that the predecessor to Java, Gosling's "Oak," was intended for running "smart appliances," in other words, for some sort of Internet-connected devices...

  8. Re:Internet of Things by monkeyxpress · · Score: 2

    I particularly dislike the phrase 'internet of things', but I know I'll dislike any term that sees common adoption while the media/marketers have an interest in the field until that interest dies down and it no longer becomes fashionable for companies to shoehorn it into their message.

    How about 'Consumer Oriented Connectivity & Knowledge Systems?

  9. Re:Wanted: API which is not a rich API by cant_get_a_good_nick · · Score: 2

    I re-read your comment with the accent of Ricardo Mantalban in my head; it was much improved.

  10. Re:Why not lisp by slickwillie · · Score: 4, Funny

    "Lisp failed because 1) it's hard (different thoughts/mentality to program) and 2) flexibility = unsupportable by another developer."

    That will never "compile". Here, try this:

    (((((Lisp) ((failed) because) ((1))) (it(')s hard) ((different) (thoughts/mentality) ((t)o) program) and 2)) flexibility) (= unsuppor)(table) (by another developer.)))))))))))))))))))))

  11. Re:Why not lisp by rlwhite · · Score: 2

    If I were developing something for the IoT space, I'd call it Integrating the Distributed Internet of Things (IDIoT).

  12. Oh good by 0xdeaddead · · Score: 2

    another boutique language that won't be here in five years.

  13. Re:Why not lisp by HiThere · · Score: 2

    No. Lisp failed because the early versions were inefficient and then, during a critical period, the compilers were too expensive to afford. Around 1995 a decent Lisp compiler cost about $2,000 (depending on what utilities you needed). At this point I went looking for what it would cost today to purchase a copy of Allegro Common Lisp suitable for building GPL software. I couldn't readily find that information. This despite the fact that, e.g., Steel Bank Common Lisp is as free as gcc.

    When developers are learning their trade, they need to learn of basic tools, and they depend on libraries being available. This was the basic advantage of both the GPL and of C. C compilers were cheap, Fortran compilers were expensive. So C won. (And the early C compilers didn't have any noticable advantages over the Fortran compilers of the day except that they were cheaper. That, of course, changed as people wrote libraries for use with them.)

    OTOH, Lisp does have very different strengths than to C and Fortran. E.g., handling numbers is clumsier, but handling variable length strings of data is simpler. That may also have had an effect.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.