Hi Tim, On Sun, Jul 23, 2017 at 04:04:33PM +0100, Tim Mackinnon wrote:
I think my thread is misunderstood - I???m not saying change how methods work, class methods are fine, instance methods are fine - I???m just saying I don???t think its ideal anymore to see them so separately in our UI. It was really driven home watching great programmers struggle (sure Smalltalk is a bit different - and there are many elegant things we have, but class methods are pretty normal in many languages) - and I have a similar frustration in that I find it a straight jacket that we have to click that class button just because we want to write what is effectively a constructor that occurs to us when we are writing an instance method. Its very jarring and breaks your flow to ???switch mode??? to type one in.
From a purely subjective perspective, having programmed in an environment where instance and class methods were mixed together (Python), my opinion is that it makes things more difficult to understand.
I also think from a theoretical perspective that they should be kept separate: Sending an instance method means sending a message to a different object from sending a class method, so they should be kept separate. While I agree that visually Nautilus could do a much better job of distinguishing between instance and class methods, it isn't an argument in favour of mixing them in a single list. Cheers, Alistair
I think Pharo is an environment to experiment with how we think about programming (in Smalltalk as well as other languages) - GTInspector is marvellous, that is something that really shows how thinking about the problem differently can make such a difference. While, I think our standard code browsers are ok - they are stuck in a rut that we need to break. Calypso is a hint at what is possible, but I want GTinspector type thinking more prevalent??? with similar types of ideas that inspire us to code better.
Anyway, it seems like I need to take this away and try some experiments by myself.
Tim