And changed back again because it is two different cases ;).

Case 7241 is about removing the instance side method #name , which gives you a 
generic name of the receiver (by default #printString) where any if its uses is 
such that it is really hard to use it for anything like defining a variable 
named name wanting to have an accessor to it, since most senders expect a 
string in return etc.

The issue raised here is about the fragile naming of the instance variable 
'name' in the class Class, which causes all meta classes to have an "class 
side" instance variable name (view the class side of any class in nautilus and 
click on the variables button and you can see all the class side variables 
defined)  + the methods #name/#name:  on the class side of any class. 

This can cause some fun behaviour like crashing the image if you set the name 
to anything but a symbol -> "TabsExample name: TabsExample new"

Best regards,
Henrik

-----Original Message-----
From: Pharo-dev [mailto:[email protected]] On Behalf Of monty
Sent: Thursday, March 10, 2016 10:35 PM
To: [email protected]
Subject: Re: [Pharo-dev] feedback from yet another student presentation

> Sent: Thursday, March 10, 2016 at 4:14 PM
> From: "Alexandre Bergel" <[email protected]>
> To: "Pharo Development List" <[email protected]>
> Subject: Re: [Pharo-dev] feedback from yet another student 
> presentation
>
> > - it was reallllly hard to register a project on smalltalkhub just after we 
> > created an account.
> > This already happened to me during the open-devs.
> > So this is a really big show stopper for the mooc. Because people 
> > will gave up just after the first lecture :(
> 
> The situation will be much easier I hope once git is well supported…
> 
> > - we should really rename Class>>name: into setClassName:
> > students were manipulating object with name such as state of state 
> > machine and one wrote
> > 
> > State name: 'A' and just rename the class and broke the system.
> 
> I have just created an issue:
> https://pharo.fogbugz.com/f/cases/17798/Rename-Class-name-into-setClas
> sName

Marked as a duplicate of: 
https://pharo.fogbugz.com/f/cases/7241/Object-name-should-best-be-removed

This has been an issue for years.

Leave it as-is and anyone defining a class-side name: constructor risks 
breaking any tooling that still relies on name: renaming a class. Use named: 
(much more common in the image) instead and nothing will break, but now anyone 
that mistypes the selector as name: (no "d") accidentally renames the class, 
and to a string instead of a symbol.

> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu 
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> 
> 
> 
> 
>

Reply via email to