4 ms·
Most of the comments seem to be about the page design, for a page that was probably created in the 90s. Nevertheless, Emerald the language is pretty fascinating
by cross_wiber 8y ago
Most of the comments seem to be about the page design, for a page that was probably created in the 90s. Nevertheless, Emerald the language is pretty fascinating, and way ahead of its time (it was developed in the mid to late 80s). They had strong static typing, including getting co-/contravariance right a decade before Java got it wrong! It was the first object-oriented language that I know of to have a statically-typed structural type system. In fact, the technique that Go uses to implement dynamic dispatch was independently invented 20 years earlier in Emerald. And its objects were mobile, which very few languages even today attempt.
- dmix 8y ago> And its objects were mobile, which very few languages even today attempt. Can you explain what you mean by that? FYI I vouched for your comment, it was [dead] for some reason. But I found it relevant and interesting.
- cross_wiber 8y agoEmerald objects can move from one node to another. So, for example, if an object on machine X wants to perform computation using data on some remote machine Y, the object can move to Y and have (fast, local) access to Y's data, then move back to X when it is done. So the computations themselves are mobile. This required some cleverness in the implementation, because a process's stack might even be split between multiple machines (I might be remembering that wrong).
- jonathanstrange 8y agoThe code snippet on the page looks incredibly clean and readable, exactly how I wish modern languages would look like. Too bad Algol-style syntax is no longer used that often (except for Delphi).