So after they didn't exactly revolutionize the IDE with Light Table, and pivoted to revolutionizing programming, they seem to have kind of come around to revolutionizing... groupware? Which at least seems more plausible, as it ought to be possible to make a better groupware application than Lotus Notes. I think the larger implication is: Programming tools are actually pretty good, and the larger process of programmin…
Eve Version 0
111–120 of 195 posts
Re: Eve Version 0
#112Earlier quoted context omitted.
The shift is primarily due to the fact that relatively few people seemed to want to build large applications, including ourselves. There are definitely some differences between building large apps and these more communication/analysis tasks, but we think the foundation itself applies to both. The language is an adaptation of the Dedalus[1] semantics, which the BOOM lab did some amazing things in distributed systems w…
My take from the abstract of Dedalus is "and adds an explicit notion of logical time to the language" If you're interested in building a tool that relies on distributed communication and data flow it makes sense to bake a notion of logical time into the the system. Boolean logic has no notion of time. If you propose x != y say, you could be saying that throughout the lifetime of the system x is never equal to y or yo…
Hickey's ideas about time and state are also pretty relevant - http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hic...
One of the things we are still working on is expressing non-monotonic logic nicely (things like "birds can fly, but penguins can't, but Harry the Rocket Penguin can"). It's unpleasant in standard datalog but I think we can provide a nicer interface.
Re: Eve Version 0
#113So every time I've seen something like this (ETL tools, LabView, Scratch, pd/max, etc) I've noticed a common problem. They're dead simple to create simple things in, but often times simple things grow into complex things over time and once things become complex things implemented in graphical programming languages they become nightmarish to maintain. Subtle logic ends up buried... Simple processes like a full search…
Check out my note on visual programming. [1] The short answer is we have lots of tools in mind that will help with this, but programming this way just creates a very different kind of system. We've built some complex things and they've remained fairly flat and we made sure that it is both readily apparent what is contributing to your current query and easy to navigate into it if you want to see more. For the most par…
Re: Eve Version 0
#114Earlier quoted context omitted.
Check out my note on visual programming. [1] The short answer is we have lots of tools in mind that will help with this, but programming this way just creates a very different kind of system. We've built some complex things and they've remained fairly flat and we made sure that it is both readily apparent what is contributing to your current query and easy to navigate into it if you want to see more. For the most par…
Well, I guess this is as good a comment as any here to say this... I feel morally obligated, as someone who has been frequently skeptical about visual programming on HN, to point out that what I personally really meant is that... "Along the way to version 0, we tried everything from a Mathematica-like notebook built on functional programming to a purely spreadsheet-like model. We built dataflow languages and madlib b…
The question is, when someone is thinking "this is what my app should do," what is the model of the "this" inside their mind? What form does it have, and can we make computers be able to read something closer to that form, rather than having the human have to add more layers on that form before handing it to the computer.
If development becomes a conversation between the computer and the human, it might be more interesting, satisfying, fun and spawn some directions that the human would not have come to so quickly with earlier forms of development tools. Thus, this whole thing being about a search for something 'cool and fun' rather than being like 'X is bad, Y is a solution,' like a kid walking out in his/her backyard and looking for cool things with not much preconceived notion of what to look for. Exploration. Not replacing programming everywhere or things like, that, but "hey, here's a thing we made, why don't you try it and see if you like it."
Re: Eve Version 0
#115Earlier quoted context omitted.
Check out my note on visual programming. [1] The short answer is we have lots of tools in mind that will help with this, but programming this way just creates a very different kind of system. We've built some complex things and they've remained fairly flat and we made sure that it is both readily apparent what is contributing to your current query and easy to navigate into it if you want to see more. For the most par…
Do you have any thoughts on how automated tests would work in this world? You mentioned email filters and responders in the OP, and I remember that everytime I start creating filters I quickly hit a point at which debugging or changing them becomes fraught.
The overall plan is to provide a bunch of really interesting generative testing facilities. For example, we can generate data based on your integrity constraints that tries to sneak values into the system that would break them. Being a live language also helps a lot here - you're inherently testing as you build things. We want to make it easy to just capture that while you're doing it.
Re: Eve Version 0
#116Earlier quoted context omitted.
Agree -- if Facebook had an "export my friend list to Excel" button, then plenty of non-programmers could perform this task using existing tools. I read the tutorial and I am sort of struggling to see what benefit this would give someone who was already an Excel power-user.
An excel power-user is indistinguishable from a programmer. If you are an excel power-user, and don't think you are a programmer, learn javascript, http://eloquentjavascript.net/ .
Re: Eve Version 0
#117Earlier quoted context omitted.
Do you have any thoughts on how automated tests would work in this world? You mentioned email filters and responders in the OP, and I remember that everytime I start creating filters I quickly hit a point at which debugging or changing them becomes fraught.
We do! One neat thing about our architecture is that literally everything is just data and side-effects happen outside of the system itself. This means if you disconnect the "watchers" that do things like send email based on the presence of rows in the email table, you can safely do anything you want. This resolves a bunch of issues around testing for us. The overall plan is to provide a bunch of really interesting g…
Re: Eve Version 0
#118Earlier quoted context omitted.
I am currently working as an Actuarial Analyst, but I have also worked several years as a programmer. As an analyst the tools I use are excel, access, SAS Enterprise guide and Oracle SQL developer. One of the big problems I face is that we have no good way to abstract away a process and really make it reusable. My general work flow is using SAS to pull data from multiple sources, combine and run the data through some…
I haven't used it extensively, but SQL Server Integration Services (SSIS) looks like it does a lot of the things you're talking about.
https://en.wikipedia.org/wiki/Extract,_transform,_load#Tools
Re: Eve Version 0
#119> In order to accomplish that, we do need a way to describe processes. We need a way to "program." But switching the goal from building applications to analyzing and communicating information changes everything. Our current programming tools are awful thinking tools. Instead, they were designed to build complex systems. How much effort does it take to write a program to scan through your facebook friends and check to…
Agree -- if Facebook had an "export my friend list to Excel" button, then plenty of non-programmers could perform this task using existing tools. I read the tutorial and I am sort of struggling to see what benefit this would give someone who was already an Excel power-user.
The task was to send alerts whenever a friend was nearby. Excel is amazing for non-professional programmers, but it doesn't deal well with changing data, unless you want to click the "export my friend list to Excel" button every five minutes. There are tools that will act as real-time data sources in Excel but it's not a natural fit. If we did nothing but make "real-time Excel" it would still be incredibly useful for a lot of people.
Re: Eve Version 0
#120Earlier quoted context omitted.
The stack choice is especially interesting since I thought they were big fans of Clojure. I would like to hear their rationale for Rust/TypeScript over Clojure/ClojureScript (or Clojure/Javascript). EDIT: typo
There was some discussion in http://incidentalcomplexity.com/2015/02/24/january--february... > While running in the browser is a requirement for Eve, it's always been clear that using javascript directly was not a long-term option. So many of our implementation problems come down to lack of control over data layout. For Eve we need to implement: > New types (like intervals) - but there is a space overhead of 24 extra…