Live data from Hacker News

How Eve unifies your entire programming stack

hackernoon.com

91–100 of 109 posts

Re: How Eve unifies your entire programming stack

#91
post #69

Earlier quoted context omitted.

Yeah that's awful. In Ruby it'd be like: all_checked = todo.select(&:completed?) none_checked = todo.reject(&:completed?) todo_count = todo.count(&:completed?)

In C# var allChecked = todos.All(todo -> todo.IsCompleted); var noneChecked = todos.None(todo -> todo.IsCompleted); var todoCount = todos.Count(todo -> todo.IsCompleted);

Did you guys notice that both of your examples use sigils?

Try Avail[1]:

  allChecked    = select element from todos list where [element is completed]
  allNotChecked = select element from todos list where [element is not completed]
  todoCount     = count of element in todos list where [element is completed]
I'm cheating a tiny little bit: `todos list` would probably need to be defined above as a method (I don't remember if one can have variable names with a space inside the name in Avail) and `_is completed`/`_is not completed` would also need to be defined.

Rebol or Red could be also interesting in this regard, also Forth and Factor. Still, Avail goes the farthest in terms of allowing you to write a truly human-readable code (EDIT: however, they support all of Unicode for names and such, so you can go nuts with sigils too, if you want).

(Possibly also Inform 7[2], but I don't know it, so can't really say much.)

[1] http://www.availlang.org/ [2] http://inform7.com/

Re: How Eve unifies your entire programming stack

#92
post #74

Earlier quoted context omitted.

how much percent of front-end devs do 'only' native UIs? I mean even most of the mobile people were web devs once...

I don't think this is true. I've worked a major mobile dev studio and not even 1 developer had a background in web dev.

Interesting, I only met only one that had no web experience

Re: How Eve unifies your entire programming stack

#93
post #74

Earlier quoted context omitted.

how much percent of front-end devs do 'only' native UIs? I mean even most of the mobile people were web devs once...

> I mean even most of the mobile people were web devs once... What makes you think that? Most native UI developers I know have never been web devs.

I don't know if I'm right, but I only met web devs who've gone mobile when the hype started

Re: How Eve unifies your entire programming stack

#94
post #26

Earlier quoted context omitted.

Check out this 2009 research paper that Eve is based on; it's an important new extension to logic programming: https://databeta.wordpress.com/2010/01/05/introducing-dedalu... Also please let me know what you think about Part II (coming later this week). It's all about logic programming and CQRS.

I only skimmed this very quickly, but the difficult issues in that tech report seem to concern issues in distributed systems. Does Eve have a distributed "story"? My impression was that it was mostly a synchronous rule language that, at each time step, does vaguely Datalog-like stratified evaluation and then updates its state. That's a very nice model and indeed rooted in logic programming, but I have the impression…

Distributed systems is the goal for the next milestone of Eve. Remember that Eve is still in early alpha.

Re: How Eve unifies your entire programming stack

#95
post #62

I was keeping a close eye on Eve until it changed direction from programming for everyone to yet another lisp . Is there any writeup/discussion on why this happened? I do like learning about mind-expanding languages, and something resonated with me when the CardWiki interface was revealed. I get that this language is very 'human readable' but at the end of the day if I want to read or write it I will actually have to…

> I get that this language is very 'human readable' I wonder why people say/think that. The language uses sigils like @ and #. Sigils automatically make a language non-"human readable" since they have no "human meaning". And no, "you just have to learn the meaning of the language constructs and then you can read it" is not "human readable" in a useful sense. From what I gather, in Eve the @ sign refers to databases.…

Yeah, this is my big complaint. It almost seems like it's less understandable to make the whole literate programming bit relevant.

Imo, literate programming should be solved by more expressive languages, not prose commentary layered on top.

Re: How Eve unifies your entire programming stack

#96
post #75
post #74

Earlier quoted context omitted.

how much percent of front-end devs do 'only' native UIs? I mean even most of the mobile people were web devs once...

Everyone that does applications that require OS APIs, interaction with external devices, factories, embedded, air gaped desktops, care about the UI/UX of the user. Native UI isn't a synonym for mobiles.

But those are niche applications.

Web and mobile are driving the bulk of development these days, so development terms are going to reflect the concentration on Web and mobile.

Re: How Eve unifies your entire programming stack

#97
post #96
post #75

Earlier quoted context omitted.

Everyone that does applications that require OS APIs, interaction with external devices, factories, embedded, air gaped desktops, care about the UI/UX of the user. Native UI isn't a synonym for mobiles.

But those are niche applications. Web and mobile are driving the bulk of development these days, so development terms are going to reflect the concentration on Web and mobile.

Mobile is native, thankfully.

And for web, not every business out there is sold to it, thankfully.

There are tons of companies on this planet that only use the web for putting their contact details and that's it, many of which actually use FB for it. All their internal software is desktop based.

Re: How Eve unifies your entire programming stack

#98

Earlier quoted context omitted.

In C# var allChecked = todos.All(todo -> todo.IsCompleted); var noneChecked = todos.None(todo -> todo.IsCompleted); var todoCount = todos.Count(todo -> todo.IsCompleted);

Did you guys notice that both of your examples use sigils? Try Avail[1]: allChecked = select element from todos list where [element is completed] allNotChecked = select element from todos list where [element is not completed] todoCount = count of element in todos list where [element is completed] I'm cheating a tiny little bit: `todos list` would probably need to be defined above as a method (I don't remember if one…

> Did you guys notice that both of your examples use sigils?

As the person that initially mentioned sigils, I did not say that they are always evil. I just said that you cannot use them and at the same time claim that you have a human-centered fully intuitive programming language.

I'm very fine with using -> symbols for anonymous functions... In fact, I'm fine with other sigils as well, if they are explained properly.

> allChecked = select element from todos list where [element is completed]

To me, knowing nothing about this language, this reads like collecting the subset of the completed elements out of all the elements. But the original task was to compute whether all elements are completed, i.e., whether this subset is equal to the whole. So you're doing something else, or your language is misleading me.

Re: How Eve unifies your entire programming stack

#99
post #75
post #74

Earlier quoted context omitted.

how much percent of front-end devs do 'only' native UIs? I mean even most of the mobile people were web devs once...

Everyone that does applications that require OS APIs, interaction with external devices, factories, embedded, air gaped desktops, care about the UI/UX of the user. Native UI isn't a synonym for mobiles.

The phrasing/example in article is very web-oriented. But can you imagine interacting with your native UI toolkit as an Eve database, similar to how @browser works? Or your external devices over a protocol, similar to how @http or @mqtt works?
Post reply on HN