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.
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.
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?
What's E.T. short for?
Because he's only got little legs.
systemd is Roko's Basilisk.
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.
Lisp failed because 1) it's hard (different thoughts/mentality to program) and 2) flexibility = unsupportable by another developer.
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.
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: :; 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. "'
ssh pi2.local 'while
(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.
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...
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?
I re-read your comment with the accent of Ricardo Mantalban in my head; it was much improved.
"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.)))))))))))))))))))))
If I were developing something for the IoT space, I'd call it Integrating the Distributed Internet of Things (IDIoT).
another boutique language that won't be here in five years.
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.