TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

New release of Self programming language

97 pointsby russellallenalmost 8 years ago

5 comments

ChuckMcMalmost 8 years ago
Wow. For those who don&#x27;t know, there was a big &#x27;language bake off&#x27; at Sun between TCL, Java, and Self (all being funded by Sun Labs) and Bert Sutherland (then director of Sun Labs and brother of Ivan) required that the language changes stop and then we&#x27;d look at each one, and decide which one to move forward on. When the world sort of exploded at the WWW conference held in Darmstadt Germany in 1995, Java officially &#x27;won&#x27; and both Self and TCL were de-committed. (not canceled per-se but not getting any more funding either).<p>I like to think that all three languages benefited from the competition.
评论 #14415752 未加载
评论 #14416282 未加载
bhkalmost 8 years ago
Can we ever get away from the misnomer of &quot;prototype-based OO&quot;?<p>In Self we have two ways of specialization:<p><pre><code> 1. Prototypes 2. Parents </code></pre> Prototypes are objects that are &quot;cloned&quot; to create instances, a very simple and direct notion of inheritance. We create an object (a &quot;prototype&quot;) with properties that apply to a larger set of objects, and then for each instance we copy (clone) it and then add or modify properties as necessary for the instance. Self had optimizations to deal with this so instances did not end up being very fat.<p>Parents are objects that other objects &quot;inherit from&quot;. At run-time property lookups are delegated to a parent. The difference between a parent and a prototype is that changes to the prototype do NOT affect the derived instances. Changes to a parent DO affect the derived instances.<p>So, when I read about &quot;class-based&quot; versus &quot;prototype-based&quot; languages, I cringe. It is really &quot;class-based&quot; versus &quot;parent-based&quot;. How did cloning get confused with run-time delegation?<p>Self introduced the notion of self-describing instances. That is the essential coolness. The simplifying notion.<p><a href="http:&#x2F;&#x2F;www.selflanguage.org&#x2F;_static&#x2F;published&#x2F;self-power.pdf" rel="nofollow">http:&#x2F;&#x2F;www.selflanguage.org&#x2F;_static&#x2F;published&#x2F;self-power.pdf</a>
评论 #14415518 未加载
评论 #14415068 未加载
评论 #14416219 未加载
评论 #14415129 未加载
评论 #14416603 未加载
kralljaalmost 8 years ago
Self (along with Scheme) was supposedly one of the big influences on Brendan Eich when he was creating JavaScript. Neat to know it&#x27;s still out there.
评论 #14414920 未加载
评论 #14415221 未加载
评论 #14416211 未加载
patrecalmost 8 years ago
Has someone here got some examples of things that are more neatly expressed in self than javascript and other obvious suspects (e.g. python, racket, common lisp, smalltalk)?
评论 #14416551 未加载
analognoisealmost 8 years ago
No Windows release. Hmm.
评论 #14416382 未加载
评论 #14415580 未加载