On Wed, Aug 11, 2010 at 3:23 PM, Alexandre Bergel <alexan...@bergel.eu>wrote:

> > Yes please don't add that.
>
> This is not my intention. But I just discovered some bugs in my test
> because I instantiated a class that shouldn't be instantiated since it is
> abstract.
> If now we close our eyes and dream about a clean oo language. Will
> forbidding to instantiate an abstract class a wished feature?
>
>
I am also against of this change. We should continue to have flexible
language and not to convert this in Java. In addition, I MAY want to
instantiate Abstract classes.
Sometime you are doing prototypes, or TDD, and you want to instantiate an
object of an abstract class. Even if you have a subclassResponsability. I
don't care. Maybe I am not testing that right now, nor showing that to my
client.

I think the correct way to detect your kind of problems is with Lint. If it
is not already done, maybe it could be added.

Cheers

Mariano


> Cheers,
> Alexandre
>
> >
> > On Wednesday, August 11, 2010, Stanislav Paskalev <ksh...@gmail.com>
> wrote:
> >> And it will also require modifying the Pharo by Example book that says
> >> that there's nothing wrong with instantiating abstract classes and
> >> that there is no *abstract* class marker in this sense, only abstract
> >> methods.
> >>
> >> So, why would try to convert Pharo to another language ?
> >>
> >> Stanislav Paskalev
> >>
> >>
> >> On Wed, Aug 11, 2010 at 3:43 PM, Alexandre Bergel <alexan...@bergel.eu>
> wrote:
> >>> Hi!
> >>>
> >>> Just wondering. What about redefining new into:
> >>> -=-=-=-=-=-=-=-=-=-=-=-=
> >>> Behavior>>new
> >>>        "Answer a new initialized instance of the receiver (which is a
> class) with no indexable variables. Fail if the class is indexable."
> >>>        self isAbstractClass ifTrue: [ self error: 'An abstract class
> cannot be instantiated' ].
> >>>        ^ self basicNew initialize
> >>> -=-=-=-=-=-=-=-=-=-=-=-=
> >>>
> >>> This may break a lot of code however.
> >>>
> >>> Cheers,
> >>> Alexandre
> >>> --
> >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> >>> Alexandre Bergel  http://www.bergel.eu
> >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Pharo-project mailing list
> >>> Pharo-project@lists.gforge.inria.fr
> >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >>>
> >>
> >> _______________________________________________
> >> Pharo-project mailing list
> >> Pharo-project@lists.gforge.inria.fr
> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >
> > --
> > Lukas Renggli
> > www.lukas-renggli.ch
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project@lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to