6 ms·
We've been waiting to announce the news for a while now. Can't tell you how happy we are to finally get it out. We're tremendously excited about the potential
by ibdknox 12y ago
We've been waiting to announce the news for a while now. Can't tell you how happy we are to finally get it out.
We're tremendously excited about the potential we have with Eve and everyone we've talked to about it so far leaves with their head reeling. There's been an undercurrent brewing in the programming community that we're approaching a sort of transformational point in the way software ends up built. We hope to be part of that transformation.
I don't talk about it a ton in the post, but Eve isn't just about giving the Excel generation a seat at the table, but it's also explicitly designed to get us back to what we do best: solving problems. There are some pretty amazing properties that fall out of simplifying things as much as we have: concurrent by default, a real shot at auto-parallelization, a debugger that can tell you when, why, and how a value came to be, diffs not of code but of the output, the chance for true real-time collaboration on software, introspection into every part of the system, and so on. We'll be talking more about how it works over the next couple of months, but I can promise you now: there's some exciting stuff coming for all of us.
As always, in the interest of sharing with the community who helped us get here, I'm happy to answer any questions!
- smrtinsert 12y agoI've always felt that the tuple oriented view of the world of database was closer to what we should be doing instead of objects (or more lately functions?), although fp definitely gets you closer. My one comment is to please make eve keyboard oriented from the start. I really don't want to use a mouse. I should be able to navigate every entity logically with a keyboard. For example, I should be able to hit a key to select available link endpoints and another to connect them. I like visual, but I love keyboard oriented a lot more. Dragging and scrolling are way too overused ui interactions.
- ibdknox 12y agohaha it's funny, this is almost always the first worry programmers have after we talk about Eve. Don't worry, we'll make sure it works whether you use the mouse, a keyboard, maybe even a touch screen or voice. :)
- smrtinsert 12y agoAwesome! Congratulations on the funding, looking forward to see it soon.
- taciturntom 12y agoSuggestion: if you want this to succeed, constrain your scope. Say No to touch-screen & voice! (IMO they are crippled interfaces compared to the keyboard) Just say 'NO'. & best luck :)
- aeden 12y agoIf they want to reach a billion people then they're going to have to live in a world of touch screen (and maybe voice). At NDC Oslo this year there was a keynote by Luke Wroblewski on user experience on the web. There's a video on Vimeo: http://vimeo.com/97305189 http://vimeo.com/97305189 The key takeaway was that a significant percentage of people are using their smart phones with either only their thumb or their forefinger. Many people don't even have a computing device with a traditional keyboard and full-size screen. That talk got me thinking about this question: what would programming look like if you only use your thumb? I don't think you can write off these interfaces, rather I think we may need to start to really think about separating creation of core components of software and then orchestrating the interaction of these components as a different aspect to developing software.
- freehunter 12y agoI've often wished I could program even a RAD proof of concept kind of thing on my phone. Many ideas come to me while I'm not at a computer (our desks are not always the most inspiring place we find ourselves) and as a consequence, are gone before I get back to work. If you're wondering how programming with just your thumbs might work, look at Touch Develop from Microsoft Research.
- bengillies 12y agoIf they want to reach a billion people then starting off by targeting all 1 billion is probably the wrong way of going about it.
- taciturntom 12y ago+100 1. Powerful keyboard-based navigation/manipulation will be extremely helpful. 2. RDBMS-style tuples seem weird to me; why not objects? Quite natural to a layperson, IMO. If a "cell" can hold an object ({name: "Brown shoes", price: { amount: 254, currency: "USD"}} rather than just a scalar value like $2.54) a spreadsheet can be a lot more powerful.
- dragonwriter 12y agoWith a sufficiently rich type system (with composites and sets as domains), there's not a lot of difference when you are talking about pure data (instead of how the data structure relates to behavior) between tuples and objects.
- jamii 12y agoTake a look at http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.5640 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.... . Object databases, XML databases and network databases were around long before relational databases. The key problem the relational databases solved is not having to bake the access paths into your data-structure.
- ckluis 12y agoAs a non-programmer, business/marketing guy who fuddles around code when needed - this makes me super excited.
- thewarrior 12y agoWhen can we expect to see a demo ?
- ibdknox 12y agoWe're shooting for a big reveal early next year.
- deleted 12y ago[deleted]
- otoburb 12y agoLiked what I saw with Juno[1] (Julia IDE based on Light Table) and hope sometime after the big Eve reveal next year that Juno can easily migrate. The Juno team clearly felt that Light Table was one of the better and more extensible IDE platforms for Julia to work within. Best of luck. [1] http://junolab.org/ http://junolab.org/
- ibdknox 12y agoJuno is fantastic and we'll help them do whatever we can with LT.
- brainopia 12y agoWhat domain-specific editors are you planning to include in public release? Something for UI construction on the web? Is it planned that users of Eve will routinely construct new or modify existing domain-specific editors to the task at hand? Since first focus of Eve is on web apps (and it's hosted on javascript, correct?), will it cover both client and server applications? Will there be an FFI? If I remember correctly, you're planning to use datalog+time+constraints and plan to use materialized views extensively, is it so? Will ability to work with changes as a stream and aggregate over them in more interesting ways than "the last always wins" be builtin in Eve? Have you tried to show a prototype to children and how do they respond in learning such system if so? What was the reaction of academic friends who were not too familiar with standard forms of programming (like you did with the first prototype of Aurora)? If I'll ask more questions will it be all right and not too much trouble? :)
- jamii 12y ago> Is it planned that users of Eve will routinely construct new or modify existing domain-specific editors to the task at hand? Not sure at this point. For now we are focusing on the core interactions and we'll build out the rest once we've put tools in peoples hands and seen how they work. > What domain-specific editors are you planning to include in public release? Something for UI construction on the web? The table, rule and function editors for managing data and logic. A UI editor, hopefully with some constraint-based layout model. Various debugging/tracing/understanding tools. > Since first focus of Eve is on web apps (and it's hosted on javascript, correct?), will it cover both client and server applications? It will have to. Not sure yet how that will work. We can do websocket-style stuff at the moment but we will want to provide something simpler on top of that. > Will there be an FFI? Yes. You will be able to add new functions / datatypes (like http://www.postgresql.org/docs/9.1/static/xtypes.html http://www.postgresql.org/docs/9.1/static/xtypes.html), new table/index data-structures (like http://www.postgresql.org/docs/9.1/static/gist-intro.html http://www.postgresql.org/docs/9.1/static/gist-intro.html) and new query-plan/data-flow nodes. The editor and compiler are mostly written in Eve. The core language is tiny but very extensible - since execution order is not specified explicitly but determined from data-flow you can drop new logic in anywhere to add new compiler optimisations or new editor commands. The language is also very data-centric - this week I was playing with programs that modify their own code by writing to the ast tables, triggering the incremental compiler to update the dataflow plan. > If I remember correctly, you're planning to use datalog+time+constraints and plan to use materialized views extensively, is it so? Will ability to work with changes as a stream and aggregate over them in more interesting ways than "the last always wins" be builtin in Eve? We're still trying out different models of time. The ideal semantic model is append-only, never forget. Implementing that on a real machine needs some restrictions to prevent exploding. Dedalus (http://db.cs.berkeley.edu/papers/datalog2011-dedalus.pdf http://db.cs.berkeley.edu/papers/datalog2011-dedalus.pdf) attaches epochs to each facts and only allows rules to query the current or last epoch. Edelweiss (http://db.cs.berkeley.edu/papers/vldb14-edelweiss.pdf http://db.cs.berkeley.edu/papers/vldb14-edelweiss.pdf) allows querying any epoch but uses static analysis to figure out when data can be safely deleted without changing the results. > Have you tried to show a prototype to children and how do they respond in learning such system if so? What was the reaction of academic friends who were not too familiar with standard forms of programming (like you did with the first prototype of Aurora)? No children yet. We test things on adult non-programmers regularly. That lead to a couple of surprising changes like getting rid of nesting / scoping (no matter what we did visually, people just couldn't figure it out). > If I'll ask more questions will it be all right and not too much trouble? :) Keep 'em coming.
- mtrimpe 12y agoThis is as good a place as any to ask, but why aren't you piggybacking on the work that's being done in the Clojure community on these issues? I'm working on something similar but much more constrained myself [1], but initiatives like Brandom Bloom's EClj and Reid McKenzy's KISS are already on their way to building the foundation for what you need with Eve but within the Clojure format/community. Taking that route would also give you a natural path to keep LightTable alive and going and eventually get it bootstrapping/self-hosting. [1] https://speakerdeck.com/mtrimpe/graphel-the-meaning-of-an-immutable-world https://speakerdeck.com/mtrimpe/graphel-the-meaning-of-an-im...
- jamii 12y agoProgramming suffers heavily from path dependencies. There are lots of suboptimal things that we are stuck with because of all the other suboptimal things. We are trying for a clean break.