Following this "bad idea" we should agree that smalltalk metaclass system
is horrible and class should be just a language artifact
28 июня 2016 г. 11:45 пользователь "Jan Vrany" <jan.vr...@fit.cvut.cz>
написал:

>
>
> On Mon, Jun 27, 2016 at 1:09 PM, Nicolas Passerini <npasser...@gmail.com>
> wrote:
>
>
>
> On Mon, Jun 27, 2016 at 1:44 PM, Denis Kudriashov <dionisi...@gmail.com>
> wrote:
>
>>
>> 2016-06-27 13:28 GMT+02:00 Nicolas Passerini <npasser...@gmail.com>:
>>
>>> That is not quite true, annotations are (kind of) objects but you can
>>> not put behavior in them, just define attributes and optionally default
>>> values for those attributes.
>>
>>
>> Ah, you are right. I remember many restrictions was applied to them which
>> always forced me to hate Java :)
>>
>
> Yep.
>
>
> Well, there's a reason why they're restricted. Note, that the restriction
> is on language level, not at runtime level. A annotation class
> with arbitrary code would pass JVM verification (or at least I can't see a
> rule that would reject such a class).
>
> When I implemented annotation support I was initially thinking the same -
> let's create an instance of CoolAnnotationClass when the code is accepted
> and then one can add arbitrary code to his CoolAnnotationClass. I quickly
> realized this is a (very) bad idea. Or, to be precise, it is a bad idea
> given the
> environment. So I'd be very careful..
>
> Jan
>
> P.S.: As for "which always forced me to hate Java": I found myself a very
> enlightening to think carefully about why somebody else
> do things differently before I start to hate her/him. Besides, there's
> whole lot of things that Java guys got right...
>
>
>

Reply via email to