(Difference between revisions)
| || |
Revision as of 13:24, 25 January 2008
poseidons trident pictures white led driver ic old web site archives pluto cartoon character overseas job placements sentenced woman neilsons estate agents landice review treadmill mgm home entertainment st john school board pc and internet monitoring software spy tax donation receipt 4d ultrasound florida zx spectrum average temperatures in spain in march isl france serrate leaves old huffy pk232 mbx la pentola ristorante put together jewelry supplies early symptom of kidney cancer amarillo kgnc padoua italy shackera ancient world mapping project university of hawaii meteorology james handford linux shred directory news channel four reno nyu logo paprika szeged provenza hardwood flooring waterstreet grill cleveland oh types of koi carp logans road house restaurant thunderheader exhaust for 2005 sportster seaveg ancient china papermaking quizzilla site myspace.com lahaina hi prints kx drivers asio tortricid speed dating adelaide ultima 2 cosmetics thick eyelashes lighthouse international church tr3a vaio a trend motherboard manuals sulfur in foods serial for system mechanic 5.0c napier turbo charger sneaker shoes puma i m glad i didn t know ramones record sales vermins snye 01710 russian torrent resource tshirt making software stampeders wild eyes knicker sniffing stories a very long engagment 8310 hillcrest 2nd black card edition guide post price izod clothing for women trolley in san diego e mail urhan john hurt filmography marchiando lesser horseshoe bats embassy ukraine ottawa 2006c state station transfer washington scandisk 512 mp3 mcm systems weight lost exercises llom yousef islam preschool mothers day arts and crafts vermont american tool co vittles vault plus twoscore indian painting art ammonium citrate msds iframe link codes tzds why did we drop the atomic bomb women at war 40k codexs exporter of stainless steel utensils in india imonster daydream in blue ninja motorcycle part raven and beastboy kiss esculenta morchella robert peel mobilixnet verizon freeup prepaid villa des orangers marrakech elk island catholic schools mac recording software interface james lee canter independent schools council information service nightmare before christmas music clips kayseri meb 05848 44th medical brigade vietnam ltuned parts unix c shell tutorial table management distribution system snow craft game aging airframe cub piper populus game armandos pizza colorado transporter 2 soundtrack mecklinburg noir anime mp3s 1940s fashion trends man pulsar chronograph watch mos def berkeley community theater the playwright new york paying off old debt oxygen sensor crown victoria replac ihs canada salvage honda parts summary of mark twains life us green card processing arear codes your finger in the dike madison real estate brooklyn stumptown coffe megatel en honduras elim college learn lyric policlinica puls propane fueled generator radio control submarine the kitten the witches and the bad wardrobe stowe mtn resort mansonite nfl buddy icons max anodizing new nissan quest st anthonys foundation san francisco warcraft model viewer m2 mukteshwar marcus brothers fabrics amateur busty old if the foundations be destroyed tate dodge md senator metzenbaum biography monopod monfrotto ava lakes pussy ranfurly alberta south park taco flavored kisses ppbv conversion lighthouse stained glass window patterns ring my bell ring the bell recycled glass concrete absurd atlantis deluxe 1800s map of north america measuring body composition isis valverde la rebellion en la granja indigo girls tickets tahoe accommodation jersey iron man timex watch womens pdf writer for windows xp romeo and juliet movie scene restaurant in cape girardeau mo lochial flow scope art new york small things jewlery mononucleosis school exclusion samsung unlock software download stone brewers economic shifts steinle insurance microsoft sql server jdbc mi phone directory easy undelete crack ultra mp3 6600 download adventure in australia lyrics count your blessings instead of sheep tab top sheers augusta charles georgia johnson richard rothschilds waterloo canada area code mcpuff instituto libertad y democracia liberty acorn annamarie lytle sienna miller short haircut united kingdom currency conversion kitsilano secondary address tony croato biografia 40 kdl lcd sony v40xbr1 understanding the purpose and power of prayer infant boys dress clothes laporte county jobs jack janie store
What is E?
E is a programming language designed to make it easy to write distributed programs that are correct and secure. For more information, see E in a Walnut and the Erights.org web site.
Why is it called E?
Douglas Crockford writes: 'I chose 'E' because of the progression 'B', 'C'. I observed that there was no language 'D' (Ed: There is now a language called D ). I figured it was a bad luck letter, so we moved on to 'E'. That 'E' was also the initial of Electric Communities was noticed at the time. It also tied in to our development of the Unum distributed object model.'
How can I learn about E?
A good starting point is the Walnut. For further information check out Getting_Started
Is E free?
The code distributed with E is licensed under Mozilla-compatible licenses. According to opensource.org, Mozilla is an open-source license. According to gnu.org, Mozilla is a free software license.
Can't E's goals be met by an API (instead of a language)?
An API on an IPC system can provide inter-process security. But it can't provide intra-process security, because adding an API cannot take away security holes.
ELib, the Java API that underlies E, provides the means for objects to speak to one another in a capability-secure fashion. Objects defined in the E language may only affect the world outside of themselves according to the semantics provided by ELib.
I thought Java was secure. Isn't it?
Sun claims that 'right from the beginning, the Java platform was designed to run programs securely on networks'. Java takes many steps in the direction of language-based security, such as pointer safety and garbage collection. However, as explained in E in a Walnut's 'Capability security' section, Java security is based on identities of principals, not on keys, and is so complicated that no one uses it nontrivially. It may work for confining applets, but not for more sophisticated patterns of cooperation. For an example of Java's pervasive inattention to security, see the discussion in the same section of how Java's ReadStream class fails to be secure.
How can I declare a Java class as safe for importing?
Create a file with the extension .safej and save it to the same class path location as the java class you want to declare as safe. In the .safej file you can declare methods of that class as allowed or rejected. Take a look at the Safej_example. You can find more .safej files in the E distribution in the folder src/safej.
Not yet answered questions
Which E implementation should I use? E-on-Java or E-on-CL?
Is there an IDE?
Developer MarkM uses IntelliJ for development.
Why should I use E instead of (language X)?
Is E stable?