On Thu, Feb 5, 2015 at 2:31 AM, Thierry Goubier <thierry.goubier@gmail.com> wrote:2015-02-05 10:55 GMT+01:00 Sven Van Caekenberghe <sven@stfx.eu>:It is obviously a compromise (or a continuum) between abstractions and performance.I agree. With a special view in that we are in a sub domain where simple things well designed (Smalltalk, that is) are amazingly good at supporting complex designs.�
But there should remain a focus on efficiency (not just speed but also memory), it is hard to fix these things years later.And I like the fact that efficient code and design is often a pleasure to read and learn from :)Now, being radical: could we get rid of pragmas ? The only reason I see to them is that they allow extension by external packages, because we can't have methods which belong to two protocols (*).They are a Smalltalk-centric way of adding arbitrary metadata to methods; Smalltalk-centric in that a pragma is a Message instance, may be queried for senders, performed, etc, and that it can be parsed using the standard compiler (they add no new syntax).� They have been broadly used.� IME they have simplified and reduced code where ever they have been used.� They don't have to be there but they're a good thing.� Why do you want to get rid of them?
(and yes, I'm biassed)