I watched this video a year ago and was intrigued. I have not thought about it deeply and do not know consequences of this model. However, Gilad is a smart man who has thought deeply about these things and has experienced consequences as a language designer. But it does sound interesting and I wonder if it would potentially be a solution to the namespace or modularity problems.

https://youtu.be/pM0Hz4pFDZM

He is talking about Newspeak in 2016 and what I refer to is its use of Nested Classes.

No Global Namespace
    No Global Variables
    No Pool Variables
    No Class Variables
    No Class Instance Variables

I have no idea if it would work for Pharo or what would be involved in implementing such. Or even if the community or leaders would even care to explore that direction. I have not seen it discussed here.

Just wanted to toss his discussion of these ideas into the arena of ideas for Pharo.

Jimmie


On 10/13/2017 07:53 AM, Esteban A. Maringolo wrote:
2017-10-13 5:55 GMT-03:00 Norbert Hartl <norb...@hartl.name>:
Am 13.10.2017 um 10:24 schrieb stephan <step...@stack.nl>:

On 13-10-17 09:55, Thierry Goubier wrote:
Because namespaces, by essence, come with serious issues. I won't take
someone seriously on namespaces until he can cite those faithfully.
Let's start with the misconception that namespaces are about modularisation

+1
+1 to this as well.

Having modularization is like having security, very hard to add them
later if you didn't include it in the original design.

I'm using VisualWorks these days, and I find its namespaces something
more of a hassle than a real use.

If we could name Classes with a dot, that could solve most of what
namespaces are used for in practice: avoiding name colissions.
That's why most of the popular frameworks have prefixes like Zn, WA,
RB, and so on and so forth. But now I'm used to prefixes, I don't need
them. :)

Modularity is a different beast, if you look at how some modules work
in JS, like AMD, you see that in practice they avoid collisions by
importin what they need from a module, and assign it to a "namespace"
(it is not, but works as such), so they get modules first, and
namespacing later.

Regards,

Esteban.



Reply via email to