Hacker News new | past | comments | ask | show | jobs | submit login

Can Eve call into C without any overhead?

If it can't, then "your entire programming stack" is excluding the kernel and a lot of existing libraries/code.




The whole thing is written in javascript and typescript, so my guess is no.


Why does it need to be without overhead in order to be accurate that it unifies the entire stack?


Because to qualify as "the entire stack", you need to be able to talk to the kernel efficiently, which in practice means: call into C without overhead.

I have no problem with what Eve is doing, but it's not "the entire stack" and with Eve's paradigm, never will be. And that's okay—just stop calling it "the entire stack".


Can Eve modify CPU microcode without any overhead? If it can't, then "your entire programming stack" is excluding a lot of stuff I can't be bothered to enumerate.

</satire>

Also relevant: "To bake an apple pie from scratch, first one must blah blah universe blah" -- Sagan

"Entire stack" is relative to the interests of the audience, not a description of the entire dependency chain. If you're claiming that YOU go around modifying the kernel, then yes, a language that doesn't do that won't replace YOUR entire stack. (And, conversely, some people have, as their "entire stack", less layers than in this post (for example, maybe their web-app uses no dynamic server-side routes/state/etc, and so it's just static assets plus super-heavy frontend JS). For such a webapp, there's less unifying possible to do, because there were less layers to start with.)

But the stack they describe in TFA is a very common "entire stack" for a team to have to deal with. It's very common to just take all the C/C++ bits (kernel, libs, rdbms, probably some webserver, and so on) as given-and-immutable, and to work at the layers above that: DB-contents, backend, web-API, frontend, etc.

I have no claim about whether or not Eve solves these problems. I do think that their linguistic use of "unifies your entire programming stack" is entirely justified, in context.


> I do think that their linguistic use of "unifies your entire programming stack" is entirely justified, in context.

To be clear, the author of this story isn't affiliated with Eve in an official capacity, just one of our early users :)

Although we would like Eve to replace all sorts of stacks, we'll leave it to our users to implement Eve where it's appropriate. What's nice about Eve is that you can use it for as much or as little as your project requires. Eve could strictly be the datastore layer or the frontend layer or the glue layer. Or all three. We want Eve to be flexible, that way it can fit into a project where it makes sense.


Fine, but why without overhead? You're not addressing that. Why can't it unify the stack while making things slightly less efficient? It's not as though all of the things we need to do as programmers are constrained by computation resources.


It depends what is meant by "unify" and what is the "stack". What I just read that a language is meant to "unify the full stack", I think I'll be able to rewrite with it any piece of the stack used, including my graphic driver, the network stack, etc. I believe most modern application are relying on underlying elements of "the stack" that need to be fast/low latency enough when interacting with each other. Unfortunately the C ABI is still king there...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: