> On Jun 28, 2016, at 8:17 AM, Denis Kudriashov <[email protected]> wrote:
> 
> Following this "bad idea" we should agree that smalltalk metaclass system is 
> horrible and class should be just a language artifact
> 
Are you being serious or sarcastic?

> 28 июня 2016 г. 11:45 пользователь "Jan Vrany" <[email protected]> 
> написал:
>> 
>> 
>>> On Mon, Jun 27, 2016 at 1:09 PM, Nicolas Passerini <[email protected]> 
>>> wrote:
>>> 
>>> 
>>>> On Mon, Jun 27, 2016 at 1:44 PM, Denis Kudriashov <[email protected]> 
>>>> wrote:
>>>> 
>>>> 2016-06-27 13:28 GMT+02:00 Nicolas Passerini <[email protected]>:
>>>>> 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