22 ms·
Beyond Light Table
- giancarlostoro 12y agoEveryone is having all the fun in the other side of the country, and I'm stuck in Disney World missing out. Sad stuff.
- ibdknox 12y agoWe'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.
- 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.
- fitchb 12y agoChris: I've been following your work since I backed LightTable on Kickstarter. I just want to say congratulations and keep on truckin'. I've been programming professionally for about three years. When I got my first job, I spent days setting up ruby/rails/zsh/vim/git. I was seriously dumbfounded. I could not believe that programmers (in 2011) actually worked this way. And I was even more perplexed that the main tools for reasoning about my code were print statements, browser reloading, and unit tests (so, so many unit tests). This is "the pain we forgot", except it's recent enough that I've never forgotten it. Thanks for your work. I'm looking forward to a better programming for my kids. And hope to support any way I can.
- MoOmer 12y agoFor ruby, there's Pry [0]. [0]: http://pryrepl.org/ http://pryrepl.org/
- jdewald 12y agoI prefer not to think of unit tests as a write to reason about the code you're writing now, but to let the system confirm that your current reasoning doesn't contradict with your previous reasoning (about other parts of the code).
- scrollaway 12y agoThe "And Light Table" section leaves a lot to be desired. I get that it's not abandoned but development.. used to be active on it and now? I mean Light Table is a great IDE but it just needs so much done. It feels like 95% complete in every corner. The vim keybindings are buggy, Python plugin lacks proper virtualenv/custom python support, performance is not quite there either... I forget all the issues I encountered back when I used it but there has been very few releases since and it's super concerning to just see what was once an extremely active project slowly go in maintenance mode. Please, quell my fears. You guys put together an amazing Kickstarter and used to put out so much in terms of updates and feature updates; I don't see that anymore. With all that said, best of luck with Eve, sounds awesome. ... Edit: I think these graphs are pretty telling. https://github.com/LightTable/LightTable/graphs/code-frequency https://github.com/LightTable/LightTable/graphs/code-frequen...
- robertfw 12y agoI'm also really disappointed with this announcement. I had been putting off learning Emacs because I told myself "don't bother, give ibdknox and friends some time to put some polish on LightTable, and you'll have a modern Emacs". Looks like it's time to dive into Emacs...
- muraiki 12y agoI just got back into using Clojure after a bit of a hiatus (and after having learned vim). I found a very comprehensive book online called "Clojure for the Brave and True," but then saw that chapters 2 and 3 are about using Emacs. I figured, "Don't worry about that, I'll just use Light Table." I installed it and noticed that not much had changed. Still, I maintained hope that LT would keep improving and be the awesome Clojure/Clojurescript editor I thought it would become. Needless to say, I'll be reading those Emacs chapters this weekend. :(
- johnwalker 12y agoPlease see my reply just above yours. You can use vim with clojure too!
- josephwegner 12y agoThe description of Eve seems pretty vague, which I'm sure is intentional, but it'd be nice to get a bit of clarification. It sounds like Eve will essentially be a visual programming language, similar to the many others that have come across Hacker News. Chris - is Eve a visual programming language? If so, what makes it better than all the others that have tried and failed?
- sdegutis 12y agoThis is the best comment I've seen on this thread so far. And yet it's already near the bottom. I didn't want to believe it, but it looks like HN is highly biased toward anything that has some VC behind it, flocking to it like it's suddenly going to change the world.
- jeffreyrogers 12y agoI've noticed this too lately and it's a bit depressing.
- dragonwriter 12y ago> I didn't want to believe it, but it looks like HN is highly biased toward anything that has some VC behind it, flocking to it like it's suddenly going to change the world. Considering who sponsors HN, the biases of the community it draws aren't that surprising.
- gagege 12y agohttps://www.youtube.com/watch?v=L6iUm_Cqx2s https://www.youtube.com/watch?v=L6iUm_Cqx2s Here's a demo they did a while ago. I think it kind of explains what he intends to do with Eve, at least as a concept. On an older blog post he said that it has changed a lot since this demo.
- sanderjd 12y agoThere is a podcast from a while back[0] that does a great job of describing their goals and strategy in depth. [0]: http://podcasts.thoughtbot.com/giantrobots/111 http://podcasts.thoughtbot.com/giantrobots/111
- sdegutis 12y agoEve's goal is to completely simplify and reshape computer programming at large? Oh. Well, best of luck to you.
- GuiA 12y agoInteresting move. I've just read Peter Thiel's startup notes, and one point he's adamant about is to build your product as a monopoly for a small market (this is in no way new advice, but since I just finished his book his formulation is the most recent one in my head). E.g. Facebook and Harvard students, AirBnB and housing for conferences, etc. If you can't get to mass adoption in a small niche, how are you going to scale it up? Additionally, your product has to be at least an order of magnitude better than what the niche already uses (e.g. Facebook was an order of magnitude better than Harvard's static face book). I have a hard time seeing what small niche Eve will dominate, and how it's at least 10x better than any existing solution. Looking at the examples they give: > a scientist doesn’t have to rely on the one person in the lab who knows python Scientist these days pretty much have to pick up a programming language (Python, R, Matlab, etc.) throughout their undergrad/early grad studies. If you're going to target that niche, not only are you fighting against the huge investment professors and labs have made in existing tools (along with the small libraries/frameworks they built themselves), but you also have to provide an equivalent quality ecosystem for the weird data formats some very specific niches use, for the lab equipment, and so on. If you wanted to deliver a 10x improvement on the existing state of computation in research labs, you'd have to spend a lot of time focusing on exclusively that. > a child could come up with an idea for a game and build it in a couple of weekends They already can, using Scratch or the myriad similar tools available which will probably remain better because they were designed with game design in mind. > your computer can help you organize and plan your wedding/vacation/business. People already use MS Office, Google Docs, etc. for these tasks. Unless Eve brings a 10x improvement to those tools, how can they ever hope to displace them? My dad has been using the same version of Excel for the past 10 years, I have a hard time imagining people like him switching over. In his lectures, Peter Thiel spends some time talking about all the solar startups that emerged more or less at the same time in the late 2000s, only to fail miserably. While the buzz and excitement for solar power companies was there, in reality they could not deliver on what startups need to deliver to thrive: a product solving a real problem for a niche market that's at least 10x better than the existing solution in place. I feel like we're in a similar space with all those "learn to code" and "new programming tools" companies that have been steadily emerging. No doubt, the CS academic and HCI researcher that I am is excited by Eve- I'm sure they've done their research and that it would be a really neat product. The entrepreneur in me is however extremely doubtful.
- jmagoon 12y agoIt seems like the hard part of programming is and always will be the problem solving part, and not the syntax memorization / environment setup. Business leaders, at least where I work, are not programming due to the fact that they just don't think computationally, not that they have to fiddle around with a DB connector. I'm curious about the target audience and the drive to make programming "easier". Sure--the tools can help, but it doesn't necessarily help a user solve the problem correctly. Is the audience programmers? Is it for replacing programmers with software power users? Or am I totally missing the point, that this is a totally new way of solving problems in a language agnostic way?
- sdegutis 12y agoThe goal of getting programming into everyone's hands seems totally misguided. Not everyone is cut out for computer programming. Just like not everyone is cut out to be a doctor or a pilot or a farmer.
- mwcampbell 12y agoSure, not everyone is cut out for programming. But there's still a fair amount of incidential complexity we can eliminate, which will make programming more approachable to more of the people who would be good at it.
- jamii 12y agoLockharts Lament (https://www.maa.org/external_archive/devlin/LockhartsLament.pdf https://www.maa.org/external_archive/devlin/LockhartsLament....) applies equally well to programming. People in general are smarter and more adaptable than HN seems to believe. The real obstacles to more widespread programming are a) showing people that it can make their lives easier and b) smoothing the learning curve so that it provides rewards before their patience runs out. We know this because many people do build amazingly complex systems with Excel and Access and VB6. They are clearly capable of computational thinking. They just don't have the time or inclination to invest thousands of hours into learning bash/emacs/python/js/html/css before seeing any results.
- Luyt 12y agoI can't help reading 'Eve Online' everytime I read 'Eve'. I guess it's a time-space deformation.
- karmajunkie 12y agoI really do hope these guys are able to accomplish their goal, but I remain skeptical. We've seen efforts from folks like Google and MIT down to small companies trying to solve this "problem", when it seems to me that the underlying reality is simply that software is hard. Layer abstractions over it if you must, but at the end of the day those will only get the layperson over the hump of trivial problems, leaving one disillusioned when the tool is unable to realize loftier goals.
- kylecordes 12y agoI agree, there is a considerable risk they have traded in a less interesting problem they could solve very well (IDE), for more interesting challenge that they will end up not getting to market with (programming tools for "the rest of us"). I think this is the nature of VC investment, though. The money is there to chase risky things.
- KobaQ 12y agoI'll be excited when I see it. Light Table was announced to change the way we're writing code, too. But the execution didn't quite match the vision.
- hme 12y agoAnything to do with Aurora ? https://www.youtube.com/watch?v=L6iUm_Cqx2s https://www.youtube.com/watch?v=L6iUm_Cqx2s
- ibdknox 12y agoWe renamed Aurora to Eve, though it's changed significantly since that video. We found lots of issues with that way of thinking about the world and so worked to find a better model. The name Aurora didn't seem to test very well, but we've found Eve to work rather nicely.
- michaelsbradley 12y agoChris, so you found some of Prof. Harel's work interesting? https://news.ycombinator.com/item?id=7489865 https://news.ycombinator.com/item?id=7489865 Or did you arrive at a use case for temporal logic from another avenue? Congratulations, by the way, eve sounds exciting!
- throwaway420 12y agoI hope Light Table doesn't get essentially abandoned, despite throwing in a final pity paragraph about it not being so. There haven't been any new Light Table updates recently and that's disappointing. It's not unusable as is, but it's lacking that last 20% of refinement and polish and perfect documentation and other things that makes good software into great software.
- nazgob 12y agoLooking at Github activity I don't think that this will be the case. You can clearly see that guys are busy with Eve now.
- serve_yay 12y agoAt some point, somebody will succeed in some real fashion with a tool that allows non-programmers to make software (for real, not baby software). And after that I'll just go live in the woods, I guess. The cost of my labor will go from a lot to basically zero. Still, even though their goal (and the goal of similar projects) is my obsolescence, I wish them luck. It will probably be a massive overall good. But it's also a reason why I think all the current frenetic activity about teaching more people to program will end up being the wrong thing.
- robrenaud 12y ago> somebody will succeed in some real fashion with a tool that allows non-programmers to make software (for real, not baby software) I'll bet this won't happen. If you can get non-programmers to produce what we think of as real software now, I am sure whatever insight you made will make programmers create much better, more complicated software. See also, http://en.wikipedia.org/wiki/Jevons_paradox http://en.wikipedia.org/wiki/Jevons_paradox
- serve_yay 12y agoI am not totally sure it can or will really happen. I'm just a garden-variety pessimist.
- discreteevent 12y agoDon't give up just yet. They might take away some of the work in the solution but the world will still need people who can think about the problem. Most people can't do that. I am sure they will do much better than MS Access. But still, years ago I had to work on a couple of projects where the spec was some system in Access that the domain experts had coded up. What a mess! - Really, you have no idea. They eventually could not fix the bugs themselves which was why the new system was being written. So there will always be room for people who can organise and abstract things.
- serve_yay 12y agoTrue, people can "do stuff" but one must really understand what's going on to analyze and fix problems. Maybe we'll all have jobs un-screwing the terrible messes people make with their visual tools :)
- dragonwriter 12y ago> Imagine a world where everyone has access to computation without having to become a professional programmer - where a scientist doesn’t have to rely on the one person in the lab who knows python, where a child could come up with an idea for a game and build it in a couple of weekends, where your computer can help you organize and plan your wedding/vacation/business. This seems to misunderstand fundamentally what it means to be a professional programmer. Knowing some programming language isn't it, its a mode of thinking and analysis. I think that with programming things get confused in people's minds because there is less of a clear professional distinction between construction and design than in physical engineering, but learning languages and syntax is the trivial part of programming already. Eliminating the hard part of the requirement to become a professional programmer is an AI complete problem, because it means you are getting the computer to do your thinking for you. Many people who try to make programming better starts out with tools like IDEs or analysis tools, maybe proceeds to actual new languages, and ends up tilting at the windmill of transforming programming by replacing it with something that eliminates the need for professional programmers entirely -- and while we tend to get useful tools out of the other step, that last one is pretty consistently a place where we get vague hopes and pretty demos and, if anything of lasting use, salvaged pieces that end up as analysis, etc., tools for professional programmers. I'm not saying this isn't interesting or that I don't want to see where it goes, but the description provided of both the goal and how the people promising they can deliver it have "found the way" by "studying the past and revisiting some of the foundational ideas in computing" is something I've heard from some group or another every few years for the last several decades. What I don't see is why this time is different.
- rictic 12y agoAnd yet, people do get useful work done with spreadsheets. They build computer programs that solve problems for them. There are many programs that aren't feasible to write in a spreadsheet, but there are many useful ones that are. I think success for this project looks more like a supercharged spreadsheet than a simplified programming language. There will be many programs that won't be feasible to write in it, but I think they could carve out an area wherein there are many useful programs that can be. If that area is large enough, that would be a big deal.
- oillio 12y agoI am a bit disappointed about Light Table, though it was obviously coming. Good luck with Eve. I am sure you have read it already, but the paper "Out Of The Tar Pit" by Ben Moseley and Peter Marks might be of interest. http://shaffner.us/cs/papers/tarpit.pdf http://shaffner.us/cs/papers/tarpit.pdf The first half is pretty dry. Around Section 7 they get into describing a non-standard way to look at application design. Their language design ideas might fit well with the goals of Eve.
- ibdknox 12y agoA lot of our overarching design is based on things they laid out in Out of the Tar Pit :)
- oillio 12y agohehe, cool. I thought the separation of concerns sounded familiar. I expect Eve will have an open architecture? So that those of us that like to plumb the depths can play too. Most of these "programming for the masses" projects inadvertently throw up road blocks to experienced programmers. GUI's where you have to use the mouse and click 10 times to create a function, complicated formats that don't lend well to source control, etc. With what we saw with Light Table, I am hopeful you will easily sidestep these sorts of issues.
- jamii 12y ago> I expect Eve will have an open architecture? So that those of us that like to plumb the depths can play too. See https://news.ycombinator.com/item?id=8397747 https://news.ycombinator.com/item?id=8397747 :)
- aabajian 12y ago"...doesn’t have to rely on the one person in the lab who knows python" I'm a long term Java programmer who recently learned Python. Python is sensational. We should encourage everyone to know a language like Python, not pass it off as the domain of "professional programmers".
- idunning 12y agoI'm a PhD student, and a big Julia fan (and contributor), and I STILL think everyone should know Python (or similar). It truly can be the language for everyone, and I've found it amazingly easy to teach it to people.
- tolmasky 12y agoA story about the initial introduction of computers to the lab my dad worked at, with no particular concrete conclusion: My father is a microbiologist. When he started his postdoc at OHSU, they actually had a information artist guy in the department (apologies, I have no idea what the profession's name actually is). When you were writing a paper, you'd go to the graphics office/dept/whatever and give him your data, which he'd then lay out in some huge post board or something, then take a picture of it and shrink it down. Clearly much more time consuming than what Excel can accomplish for you now. I think around that same time they were just starting to get computers installed everywhere. By the time my dad left OHSU a few years later, this person was working in the mail room, his profession no longer existed (or at least wasn't particularly employable anymore). Everyone was now making their own charts, graphs, visualizations or what-have-you using their computers. I, being a programmer, always thought about this as a success story. Interestingly enough, my dad has a different take on it. His perspective is that he used to be a scientist, now he's a scientist and a shitty artist. The way he sees it, its now his responsibility to learn this myriad of tools (photoshop, illustrator, Canvas hehe), whereas before his sole focus was more so on "the science". I certainly see it on my end, he's much better at Photoshop than I am, and at the same time knows a bit of HTML to get by, etc etc. However the reality isn't that the time to make these graphics has magically dropped to zero, its just that is become simple enough to not justify having an entire art department handling it, but hard enough to be annoying to him. He certainly spends a lot of time being angry at Photoshop now, which seems to be perfectly acceptable for a professional designer, but a strange consequence of being a scientist. Another result is that you now have someone not trained in data visualization trying to express his findings (vs possibly having someone who has a degree in that making suggestions about how to best present it). Its interesting to try to reconcile these results. Its quite possible that there is no lesson here and its simply a spectrum of trade offs, no perfect scenario. Certainly everyone agrees Microsoft Word is a clear net positive, maybe visualization is just less of a win. Or maybe this is just because we are in an intermediate step, at some point things will be so easy that you 1) don't need a separate department, 2) it takes almost no time and 3) it inspires you to create really good visualizations without having much background in that. Who knows. On the other hand some people would argue that this is actually displaying a deeper educational problem, where if there was more interdisciplinary teaching, then every scientist would have some grasp of data visualization and then its just a matter of having a better Photoshop. As time goes on I become more and more skeptical of this approach however. It seems strange to "empower" people when you are actually burdening them with additional responsibility. Since you can do everything yourself, it now becomes "your fault" for not being good at everything.
- manifestsilence 12y agoAs a fairly new (4 years) programmer with an avid interest in comparative language features and tooling, this looks like the direction that every cool new thing I've read about or attempted to create myself seems to be going. The LISPers have always been there, preaching freedom from syntax and a focus on semantics, but it has never made it into a readable form for your average new aspiring programmer. I keep thinking what we need is for the structure of programs to be something saner than the one-dimensional byte stream that we keep pretending programs aren't by splitting them into lines, functions, classes, and files. Tables aren't fundamentally different than those other constructs, in the same sense that programming languages aren't fundamentally different from each other - BF is Turing complete and all that. But usability and learning curve, as someone said on here, really matter, and tables have a far more clean and rigid structure than a mess of braces. The most difficult problems in programming aren't the low level algorithms, they're the social problems along the lines of how do you involve large numbers of new programmers in a project without ruining it, or how do you empower users to create their own features without starting over and building a custom rules engine?
- jcarden 12y agoOne can imagine a tremendous number of useful applications something like EVE would enable. Working in a top notch cancer research lab, I can think of several instances where an exceptionally talented lab biologist needs some computational work done but doesn't have the slightest idea of how to get started. Hopefully, EVE will bring down some of those barriers and change this. This is exciting.
- bri3d 12y agoHow does Eve compare and relate to similar, older attempts to use spreadsheets as a visual programming metaphor, like Forms/3? ftp://ftp.cs.orst.edu/pub/burnett/ForJFP/JFP.fordistrib.pdf It seems like the interaction between spreadsheets and programming is an oft-explored area - it will be interesting to see what this evolution brings.
- jamii 12y ago* Collection-oriented rather than cell-oriented. Eve is loosely based on datalog which is closer to SQL or prolog than to a spreadsheet. The relational query model is much more powerful than vlookup. I believe we can make it as approachable. * Networked / multiuser. Excel deals poorly with concurrent access to data and reacting to events. Most of the users we talk to have problems with sharing spreadsheets and moving data through pipelines. We aim to provide a shared database so that one users computations can easily depend on another users data and can respond to changes or new data. * Web-native. The web is unfortunately the only distribution platform with any reach. That's one of the things that killed VB6. * Not ugly. It may be shallow, but people don't like to use ugly software and will perceive it as being harder to use (eg http://www.ergonomicsclass.com/wp-content/uploads/2011/11/Tractinsky_2000.pdf http://www.ergonomicsclass.com/wp-content/uploads/2011/11/Tr...) That said, the forms/3 HCI research is excellent and their recent work on preventing errors (http://eusesconsortium.org/wysiwyt.php http://eusesconsortium.org/wysiwyt.php) has been especially educational.
- bri3d 12y agoThanks for the response. All of these pain points are definitely true, in my experience. I'm working on a database-backed spreadsheet product too, and it sounds like we have very similar ideas about the weaknesses of the current spreadsheet model. Our output product is still 'rich' spreadsheets rather than apps, though, and while we have a programmable VM and data processing language our language looks much more Excel than prolog or SQL. We also were really interested in the forms/3 research during our early development which is what prompted me to post.
- EvanMiller 12y agoThe vision here is noble, and I applaud what Chris has done with Light Table, but based on the discussion here, I think the Eve team is setting themselves up for disappointment. 1. By bringing investors on board, and promising Hacker News they're going to change the world, they're basically asking to be stressed out all the time. This is not conducive to innovation. 2. There's a fundamental tension between creating something usable by Joe in accounting and something that is cutting-edge from a technical perspective (highly concurrent etc). 90% of line-of-business programs use less than 10% of CPU, and approximately 0% need high concurrency. Joe in accounting is not going to build the next WhatsApp, and every moment you spend figuring out multi-core whatever, you're not thinking about how to help Joe make his Cash Flow Prediction Tool look slick. 3. From a marketing perspective, creating a new category of software is an enormously difficult undertaking. There are two related problems here: A. You have to find potential customers. Because nothing like Eve exists, the market does not exist. I.e. the world's "creators" don't all go to the same conferences, visit the same websites, and hang out in the same IRC channels. Light Table at least was addressing an existing market, i.e. "programmers who use X/Y/Z", so you could actually find customers, and they could tell their programmer friends about it. B. After you find potential customers, you have to educate them, i.e. explain the potential benefits and teach them how to use the darn thing. This requires a major investment from both you and from your interested customers. It is much, much easier to sell something that relieves the customer's pain than something that promises him "superpowers". 95% of "creators" have only vague and incorrect notions about programming, so you'll have a hell of a time explaining the product. Let's say you want to target Joe in accounting: What will the advertisement actually say? "Do you miss VB6?" 4. The fact that the LT team is giving up on Light Table when it's still the proverbial "couple of guys" is not a good sign. From a marketing perspective, Light Table had every advantage in the world: tons of publicity / viral videos, a clearly defined market, and an exciting product that got people talking. The fact that they're throwing in the towel tells me, well, they quit too early, and they'll quit on Eve when the going gets tough. To be more specific, I think Chris's fears about the market for Light Table are totally unfounded. To wit: * "The competition has millions of man-hours invested". Who cares? On a day-to-day basis I execute maybe 3% of the code paths in my editor. In my view, Light Table is a classic opportunity to offer 10% of the functionality of the bloated competition but really knock that 10% out of the park. Look at e.g. Pixelmator versus Photoshop or [toot toot] Wizard versus SPSS. * "Programmers don't pay for software". I'm sorry, but this is a poor excuse, and if I were your drill sergeant, and this were an 80s movie, I'd be screaming in your face right now. Programmers are a wealthy and growing segment. They'll pay for stuff if it helps them get their job done (GitHub, TextMate, books, conferences, heck Visual Studio). Not only that, with the product's positioning, you have a great opportunity to sell to people who want to be programmers, the "ski pants" market, if you will. If you read the comments in this thread, you'll notice that your users are complaining about the Light Table's lack of polish and they clearly recognize the need to pay someone to provide that polish. In sum, I think the LT team should have worked themselves into a crying, bleeding, starving mess to make Light Table a commercial success, and then pursued bigger ideas once they had the business experience under their belt. Even if it took a few years, they'd be in a much better position both financially and psychologically to tackle a Grand New World-Changing Product once they had the routine down from their Small Life-Changing Editor. As an indie-app-developer-whatever myself, I would kill for the kind of publicity and market opportunity that Light Table had. I wish Chris & Co. all the best with Eve, and I truly hope they succeed. But based on what I'm reading, I don't think they don't deserve to.
- jryan49 12y agoWould you guys be hiring remote workers?
- jamii 12y agoI'm afraid not. I worked remotely for a few months before getting my visa and it was tremendously unproductive. We're dealing with a lot of new and unfamiliar ideas and it's hard enough communicating about them in person in front of a whiteboard, let alone over slack.
- Confusion 12y agoImagine a world where everyone has access to computation without having to become a [..] programmer Imagine a world where everyone has access to basic arithmetic, without having to know how to use pen and paper to calculate and without having to how to operate a calculator.
- MoosePirate 12y agoI have high hopes for this area. There are a huge amount of ad-hoc problems that are today solved most easily by throwing together an Excel file, even for a very competent programmer. There is currently no faster way to manipulate and do small scale programming on data. For decision analysis and modeling, you go straight from excel to a full-blown program, without any other compelling options. A product with some interesting ideas in this area is Calca: http://calca.io/ http://calca.io/
- paymetodream 12y agoAdmirably. As there is a lot of money in the table I would like to be paid for dreaming. Nothing is impossible, but at this level pay me beforehand.
- vannevar 12y agoLight Table failed because it was overly ambitious. So the response is to start a new, vastly more ambitious project?
- CmonDev 12y ago"Light Table will continue to go on strong." Sure.
- todd8 12y agoThere is a temptation to think that programming isn't that hard, that somehow we just need lighter shoes and we'll run a four minute mile. I look forward to a better spreadsheet, but I don't think it will revolutionize programming. Just tackling the spreadsheet though is a big enough, worthy enough, and valuable enough goal, I hope they succeed. In the continuum of programming tasks, tasks best for spreadsheets are pretty far down the scale. But these tasks are very common and an improved tool could have a very big impact. After grad school I did real time process control programming for semiconductor manufacturing. Complex machines, which couldn't be slowed down, were programmed in assembly language and had many simultaneously moving parts, all under the control of software. Programming, done in assembly language, was a mess. It was hard, very hard, we had to build all of our own tools, including the operating system that ran on the minicomputer running our software. The mechanical engineers were very talented and built amazing machines, but they thought that the understood the "hardware" so they should be the ones to write the software to run it. Of course, this didn't work out at all. It's easy to believe that programming shouldn't be that hard. Computation can be intrinsically difficult in ways that new tools don't help. Consider a simple problem like suffling a deck of cards. Having a tool that makes a shuffle easy to code doesn't make it a fair or efficient shuffle. On the otherhand, most students of Computer Science would know the pitfalls of shuffling by the time they got through a couple of years of grad school. One can't expect that even intelligent people will understand that the a fair shuffle has to pick one of the exactly N! possible shuffles with uniform probability and that the following loop doesn't do it (for a number of reasons): (* Randomly rearrange each card *) for ctr := 1 to 52 do begin random_number := random(51)+1; tmp := card[random_number]; card[random_number] := card[ctr]; card[ctr] := tmp; end;
- dragonwriter 12y ago> I look forward to a better spreadsheet, but I don't think it will revolutionize programming. If you look at the research papers they cite, its not so much that they are aiming at a better spreadsheet which will , as a side effect, revolutionize programming, but a better programming model than those currently deployed which will, as a side effect, revolutionize spreadsheets. My initial post was highly skeptical, and I still think that there's an uphill battle here. But I think that they have a good foundation to build a tool that both eases and empowers "casual programming" (including the kind of things that would be done in spreadsheets and that people don't and won't think of as programming) and empowers professional programmers to focus on the hard part of professional programming. That said, its far from the first improvement of this general description that's been tried -- even with a good foundation -- and while I think its by far the best foundation I've seen for it, most of the key application domain areas have "good enough" solutions that its going to be hard to get people out of. (I am increasingly convinced that the initial casual-programmer web app focus makes sense, though, because while there's lots of established incumbents in that space, there's no dominant player to displace, so while it will may take a lot of polish to get decent uptake there, its an easier fight than going straight for Excel out the gate, and better reach than focussing on pro programmers as the initial focal market.)