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.
The 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).
I recently took a compilers course from Hutchinson, and he talked a bit about the design behind object passing in Emerald from a compilers point of view, how once you have garbage collection, it's easy to implement moving objects between nodes of programs. Interesting concept that I was surprised to find wasn't as commonplace!
One issue is that at scale, communication costs dwarf almost every other cost. So, sending objects between nodes isn't as critical as you might think it is for distributed systems.
(I was also in Norm's class! It was awesome, and also got me over the Rust hype to some degree)
Garbage collection isn’t absolutely necessary with lifetime/liveness or explicit frees. Furthermore, at scale in production, if a GC were absolutely necessary, then it’s vital to have a concurrent, incremental collector like c4 because GC 30 sec pauses and sharding up app servers with 2 GiB heaps is unacceptable in the real world.
Among other things, they also show how we keep reinventing the wheels (with slightly different paint jobs).
Our biggest achievement nowadays seems to be clients asking for data in the shape preferred by the client - with data being in a primitive tree like format with anemic types.
Or a bit more complicated neural nets.
We still haven't moved beyond van neumann architectures.
From my memory, creates an object, gets all the other active nodes in the cluster, moves them to that node and then back to the original node, showcasing the object passing feature of the language.
With even a tiny bit of CSS (which can be inlined in the head tag if you don't want an extra fetch), you end up with this: https://jmn.link/css-example.jpg . That's 152 bytes of non-minified CSS to accomplish that.
Going further, if you drop the table-based layout, then you can get something equally as small, that doesn't break horribly on mobile.
Of course, none of this was really an option when this page was created (look at the age of all the links in it).
Blue text on dark green background is not very colorblind friendly. Even if you don't use fancy javascript or css, a strong colorscheme with proper contrast does wonders.
The impression the page design had on me was highly different. Does the developer really want me to use the language? If so, why not invest only a bit amount of time in thinking about it's presentation?
If they want to be thematic, they should make the word Emerald in emerald green, which this background is not. Readability should not be sacrificed for some theme or branding dealie.
[+] [-] cross_wiber|7 years ago|reply
[+] [-] jonathanstrange|7 years ago|reply
[+] [-] dmix|7 years ago|reply
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.
[+] [-] blueish|7 years ago|reply
[+] [-] all2well|7 years ago|reply
(I was also in Norm's class! It was awesome, and also got me over the Rust hype to some degree)
[+] [-] himom|7 years ago|reply
[+] [-] beders|7 years ago|reply
Among other things, they also show how we keep reinventing the wheels (with slightly different paint jobs).
Our biggest achievement nowadays seems to be clients asking for data in the shape preferred by the client - with data being in a primitive tree like format with anemic types.
Or a bit more complicated neural nets.
We still haven't moved beyond van neumann architectures.
[+] [-] TooBrokeToBeg|7 years ago|reply
[+] [-] maxfurman|7 years ago|reply
[+] [-] blueish|7 years ago|reply
[+] [-] rubberbuckaneer|7 years ago|reply
[+] [-] dmix|7 years ago|reply
https://en.wikipedia.org/wiki/Kilroy_was_here
[+] [-] masklinn|7 years ago|reply
[+] [-] himom|7 years ago|reply
[+] [-] dmix|7 years ago|reply
http://www.emeraldprogramminglanguage.org/TSE-1991-paper.pdf
But it hasn't seen much use outside of the 1980s in academia. I doubt you'll find much on it.
[+] [-] gweinberg|7 years ago|reply
[+] [-] Barrin92|7 years ago|reply
[+] [-] mchahn|7 years ago|reply
[+] [-] megaman22|7 years ago|reply
[+] [-] jhomedall|7 years ago|reply
Going further, if you drop the table-based layout, then you can get something equally as small, that doesn't break horribly on mobile.
Of course, none of this was really an option when this page was created (look at the age of all the links in it).
[+] [-] overcast|7 years ago|reply
[+] [-] dangerbird2|7 years ago|reply
[+] [-] tcfunk|7 years ago|reply
[+] [-] unknown|7 years ago|reply
[deleted]
[+] [-] theyinwhy|7 years ago|reply
[+] [-] akrasuski1|7 years ago|reply
[+] [-] toasterlovin|7 years ago|reply
[+] [-] macjohnmcc|7 years ago|reply
[+] [-] DoreenMichele|7 years ago|reply
[+] [-] codingdave|7 years ago|reply
[+] [-] asdsa5325|7 years ago|reply
[+] [-] dang|7 years ago|reply
[+] [-] hota_mazi|7 years ago|reply
[+] [-] stesch|7 years ago|reply