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.