ECS might have a higher initial complexity overhead, but once you scale up, ECS can really help you keep complexity at bay.
There's a great talk [0] from the Overwatch developers where they talk about how they built Overwatch using the ECS architecture. They barely mention performance at all, but instead talk about how it helped deal with complexity.
At https://story.ai we're using Shipyard ECS to model the data behind the structured editing experience. Although at first I was suspicious, I've come to realise it's an extremely elegant way to handle our complexity.
Consider for example, a snippet that reads along the lines of:
when there is a new stripe charge
send a slack message
It's very nice to attach something like a "ScopeContext" component to each Entity that has a "TokenLine" component, that is a Vec of EntityIds that are sharing values into scope. Very easy to model and add without interfering with other data structures.
That's not necessarily the same thing though.
Verbosity can obscure the information you're trying to gather from the code you're reading. A "can't see the forest for the trees"-kind deal.
I cannot see the source code for the documentation. This happens to me in so many cases. I work with a couple of codebases that have 90% documentation, 10% code. In Ada, code IS the documentation that also can be formally verified. It is wonderful.
I'll also note, I emailed him a random question and he spent a non-trivial amount of time answering it and just came off as a legitimately decent and helpful person. So piling on, I'm also a fan now.
If you're interested in things being implemented in non-standard languages, I would check out the Make-A-LISP project on Github [1]. Someone even took it upon themselves to write an implementation in AWK :) [2]
The problem is that it's not the "clickfarming" apps that are the real danger for the majority of people, I'd argue it's the endless algorithmically tailored content and social media streams most of us consume. The ones that fill our every - otherwise - idle moment with something to distract us with.
I spend at least as much time on HN as Facebook these days. (My relationship with HN is fine but my relationship with my phone is not as healthy as I feel it should be.) I think the problem is related to the fleeting mental rewards of surprising information, not any particular application. Perhaps the product of all available applications.
Is this still actively maintained? I haven't kept up with the project but my impression was the original creator moved on and left the project in the cold
Eve is - was, when I last checked - a poor reiteration of Smalltalk with a bit of CWEB bolted on top. You can get much more mature implementation if you just download Pharo, with the added benefit of Pharo being native, not browser-based.
Chris is one of very few people in tech that I genuinely dislike, because he managed to get me to believe in him and in LighTable, only to dump LT and make me feel stupid. LT was an ambitious project, promising to finally deliver something better than Emacs for working with dynamic languages and there was a chance of it being completed in this decade. Eve is a moving target and after two years it's not any closer to being a practical tool.
Personally, I need a modern, powerful editor, preferably polyglot, with tight integration with languages runtimes and Emacs-level scriptability - and that's what LT promised. It could have been a real, immediate improvement in how I work with code. Switching to Eve development is adding a gorilla and a whole jungle in fire to the banana we (LT backers) originally needed. Not to mention, Chris failed to complete a simpler project, I see no reason to believe he'll do a good job on Eve.
> A number of folks were upset by our decision to work on Eve in lieu of Light Table, but in reality, we were working on Eve to finally arrive at the LT we always hoped to have.
I must admit I was one of those upset that they "left" light table. Thank you for sharing the link to Eve
I love Light Table and used it all the time for teaching Clojure. Unfortunately the instarepl feature was moved into a separate plugin which increased the barrier to entry for new adopters: https://github.com/LightTable/LightTable/issues/2283
Happy to see any movement in this space because as far as I can tell, Clojure(Script)/DataScript/Datomic are the killer long-term web stack.
There's a great talk [0] from the Overwatch developers where they talk about how they built Overwatch using the ECS architecture. They barely mention performance at all, but instead talk about how it helped deal with complexity.
[0] https://www.gdcvault.com/play/1024001/-Overwatch-Gameplay-Ar...