Live data from Hacker News

Eve: Programming designed for humans

programming.witheve.com

131–140 of 401 posts

Re: Eve: Programming designed for humans

#131

Earlier quoted context omitted.

So your defense of literate program gives, as a defense, what I would think of as an attack on literate programming: Take this strawman for instance, how could you find the bug in the following code without the accompanying comment? // Print every other line of the array to the console for (var i = 0; i Because the problem with that is that now you have two competing sources of authority -- the comment, and the code.…

I don't know that I really agree with this criticism. I don't think having the additional context gives you two authorities which you are helpless to reason about. The code will tell you what is happening regardless of what is intended, the comments will tell you what was intended regardless of what is happening. More often than not, having both of these pieces can tell you where inconsistencies in the larger picture…

> The code will tell you what is happening regardless of what is intended, the comments will tell you what was intended regardless of what is happening.

Unless you write the comment, then the code, then change the code and don't update the comment. Now if the code is wrong, both the comment and code are wrong.

In current languages letting code handle the 'what', and comments handle the 'why' works well enough. Not saying it is a perfect system, but the idea of the comment being expanded to include the 'what' as well doesn't seem like progress in the right direction to me.

Re: Eve: Programming designed for humans

#132
Fantastic work.

The 'story-like' literate programming is the direction in which programming will (should) move in the future imho.

Visually, you could explore the idea of 'literal-visual' programming (just invented), something like:

commit [#imageFor #student "student-icon.jpg"]

Then have a button to toggle between rendering records as text and 'visual' records, in which "[#student ] is replaced with a pictogram. Now you have a more 'abstract' look at the algorithm - could be interesting.

Similarly, an entire block of code could be switched to 'visual view', which displays the block as an image, which could be, for example, the screenshot of the last output it produced.

---

The Core language is interesting - declarative, functional and dynamically typed (right?) query language. Some Prolog scent there.

My only concern is that it might be a bit too 'limited' for larger scale applications ?

But for exploratory data mining, it looks like a great tool.

It seems to be well suited for queries in large scale distributed databases (like a p2p network) - is my intuition correct ?

If true, then I can see interesting ways in which Eve could be integrated with ipfs for example and used as a data mining tool...

I enjoy things that create sparks of ideas in my mind, Eve has done that for me today ;).

Re: Eve: Programming designed for humans

#133
post #2

Hi All! Many of the folks here have been following us for a long time and we're really excited to finally pull everything together to show you all where our research has taken us. Eve is still very early [1], but it shows a lot of promise and I think this community especially will be interested in the ideas we've put together. As many of you were also big Light Table supporters, we wanted to talk about Eve's relation…

So your defense of literate program gives, as a defense, what I would think of as an attack on literate programming: Take this strawman for instance, how could you find the bug in the following code without the accompanying comment? // Print every other line of the array to the console for (var i = 0; i Because the problem with that is that now you have two competing sources of authority -- the comment, and the code.…

[deleted]

Re: Eve: Programming designed for humans

#134
post #4

This looks cool! Always like seeing what idbknox comes up with. I'm still reading stuff, so apologies if this is answered elsewhere, but what is the plan / workflow / constraints to handle prose getting out of line with code? In current software I read / write it's already an issue, I feel like the more you take out of code and put into prose the more this could become a challenge. I'll keep digging and reading, awes…

We really take two approaches to this. The first is we're trying to build tooling to convince you that this is a good idea. For instance, something as simple as a table of contents generated from headings in your code. It's a great overview of your program, a convenient form of navigation, and it takes hardly any time write. I mean, I've seen tons of programmers do this anyway, with fancy ascii headings. Let's just m…

This is interesting. I have one follow up question: If Eve gets smart enough to understand that the code and the prose diverge from each other, shouldn't it also be able to generate the correct code from the prose? That way you'd eliminate the duplication that is happening. It also should allow you to modify the generated code by modifying either the prose or the code, whatever the programmer prefers.

Re: Eve: Programming designed for humans

#135
post #88

Earlier quoted context omitted.

Chrome here 1080p at 960px. Ubuntu. http://i.imgur.com/PxLlDkP.png EDIT: Also: base.js:7035 Blocked a frame with origin " https://www.youtube.com" from accessing a frame with origin " http://programming.witheve.com" . The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match. EDIT2: Why does opening the chrome console fix the text cut off issue....…

But did your finger get unstuck? Did it get stuck during installing Gentoo? These things happen. Careful.

:o how did you know about my stuck finger! I need to learn to hack better to counter-hack people like you! ;)

Fix confirmed!

Re: Eve: Programming designed for humans

#136

Earlier quoted context omitted.

So your defense of literate program gives, as a defense, what I would think of as an attack on literate programming: Take this strawman for instance, how could you find the bug in the following code without the accompanying comment? // Print every other line of the array to the console for (var i = 0; i Because the problem with that is that now you have two competing sources of authority -- the comment, and the code.…

I don't know that I really agree with this criticism. I don't think having the additional context gives you two authorities which you are helpless to reason about. The code will tell you what is happening regardless of what is intended, the comments will tell you what was intended regardless of what is happening. More often than not, having both of these pieces can tell you where inconsistencies in the larger picture…

>The code will tell you what is happening regardless of what is intended, the comments will tell you what was intended regardless of what is happening.

The comments will tell you what was intended at some point regardless of what is happening. In any mature code base that includes these "what not why" comments, the comments will inevitably document old intents that have since changed.

> Maybe I'm biased because I'm pretty proficient in the business domains I specialize in, so I can understand, conceptually, what the application is suppose to support and consider the validity of the programmer's intent as well as the code's function.

Given that, why do you need these kinds of comments at all? You already know what the code is supposed to do anyway, why introduce a comment that you might later forget to update, leaving less knowledgeable colleagues confused?

Re: Eve: Programming designed for humans

#137

Earlier quoted context omitted.

So your defense of literate program gives, as a defense, what I would think of as an attack on literate programming: Take this strawman for instance, how could you find the bug in the following code without the accompanying comment? // Print every other line of the array to the console for (var i = 0; i Because the problem with that is that now you have two competing sources of authority -- the comment, and the code.…

Right, this is exactly the argument we are making. Given just the block of code above, we don't know enough to make the determination. Who is right? We can't possibly no without more. That's why commenting code is not enough, and that's why literate program is important. Imagine if you came across this in actual code. You might first check if the code was changed recently and by whom, and whether the comment or the c…

You didn't address at all what forces the programmer to keep the prose and code in sync. If you still have code that's read and translated by the compiler, and prose that's ignored by the compiler completely, how have you actually changed anything?

Re: Eve: Programming designed for humans

#138

Earlier quoted context omitted.

So your defense of literate program gives, as a defense, what I would think of as an attack on literate programming: Take this strawman for instance, how could you find the bug in the following code without the accompanying comment? // Print every other line of the array to the console for (var i = 0; i Because the problem with that is that now you have two competing sources of authority -- the comment, and the code.…

Right, this is exactly the argument we are making. Given just the block of code above, we don't know enough to make the determination. Who is right? We can't possibly no without more. That's why commenting code is not enough, and that's why literate program is important. Imagine if you came across this in actual code. You might first check if the code was changed recently and by whom, and whether the comment or the c…

Well, I did skim a little bit through Eve's source code, specifically the files in https://github.com/witheve/Eve/tree/master/src and subs, and the first thing that stroke me was: it's not literate. As a matter of fact, it doesn't have more comments than an average code base, maybe even less.

Why? Where is the prose? What makes programs supposed to be written in Eve different from Eve itself?

Re: Eve: Programming designed for humans

#139
I don't know if it's more or less "for humans" than any other programming environment, but I think the search/bind/commit model is an important interesting approach. Given a good enough way to connect new external resources as Eve databases, I can see that model making Eve incredibly productive as a high-level glue language.

Re: Eve: Programming designed for humans

#140

"An IDE like Medium, not Vim" What's wrong with Vim? I think they're trying to cater to "the non-programmer crowd" with this, but by trying so hard it's alienating real programmers. I love vim, and I hate Medium with passion. I'm sure there are a lot of other HN people who are not so much a fan of the types of people who just write meta posts, rant posts, listicle posts, self help posts, growth hacking posts on Mediu…

That's what I was thinking. I'm a human, I like my Vim and C.

The main limitation of a language like that is that, if you care about performance at all, you have to program for the machine first, not for humans.

You're always writing for both to some extent. For me this is the main challenge of programming; writing code that executes efficiently and correctly, and that is legible to humans.

I love Python and other high concept languages but if I want to code for performance I need to understand what the machine is doing. The tower of abstraction is so high with these languages, at the end of the day it's easier to go, eff it, I'll do it in C, than to try to understand exactly how this code will be executed down at the bottom of the tower.

Post reply on HN