News for hackers. Stuff that matters.
Re:24-core CPU and I can’t move my mouse by mpweiher on Monday July 10, 2017 @07:34AM (#14734982)
Wasn't that Wirth's rule for Oberon and/or Pascal? Any optimization introduced has to have sufficient cost vs. benefit ratio that it makes the compiler faster compiling itself.
Re:24-core CPU and I can’t move my mouse by jchw on Monday July 10, 2017 @07:56AM (#14735108)
In Go's case, I think they're simply improving a lot of unrelated aspects of the compiler while adding new optimizations. I like the idea of that rule but there are definitely cases where I would want an optimization that could take a long time during compilation but provide an immense benefit later.
Re:24-core CPU and I can’t move my mouse by azeirah on Monday July 10, 2017 @08:30AM (#14735293)
Ah yes, I remember that rule, I think it's incredibly clever. I believe he had another rule, language updates can only /strip/ features, so the core language will always get smaller and smaller.

Brilliant

Re:24-core CPU and I can’t move my mouse by xg15 on Monday July 10, 2017 @08:58AM (#14735464)
Intuitively, that doesn't seem clever to me. (You're committing yourself to a less efficient, more clumsy language for the benefit of... what exactly?)

How does that law improve the language without falling into the trap mentioned elsewhere in this thread? (Optimizing for a pleasant "compile experience" at the cost of everything else)

Re:24-core CPU and I can’t move my mouse by foobarchu on Monday July 10, 2017 @09:16AM (#14735604)
Well, the rule is attributed to Niklaus Wirth, whose credits include Modula, Modula-2, Oberon, Oberon-2, and Oberon-7. The -* languages are extensions of their originals, so it seems his rule only applies within a single edition of the language. They can add new things, because they are new languages.

The justification, then, seems to be that if you legitimately need new features, then the language has failed and you should start over anyway. I think Python 3 is sort of an offshoot of this idea, except that many of the new features keep getting backported to 2.7 anyway.

Re:24-core CPU and I can’t move my mouse by pjmlp on Monday July 10, 2017 @11:54AM (#14737056)
Given that Oberon-7 is a subset of Oberon, reducing it to the essential of a type safe systems programming language, I wouldn't consider it an extension. :)

There is also Active Oberon and Component Pascal, but he wasn't directly involved.

Re:24-core CPU and I can’t move my mouse by foobarchu on Tuesday July 11, 2017 @10:11AM (#14744296)
My mistake, I'm not intimately familiar with it. From what I can tell, Modula-2 and Oberon-2 were both extensions, though, to be used as successors to the previous language.