On Sep 28, 9:30 am, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > > You said it was a most basic language feature. I still haven't heard > > anything that leads me to believe that statement is correct. What > > languages implemented decorators as a most basic language feature? > > I was talking about Python, the programming language that is discussed in > this NG > > > Python didn't have them for over a decade so it doesn't qualify. > > Says who? For further comments, see below.
I had the impression you were saying it was a basic language feature of most languages. In any event Guido Van Rossum didn't include them for over a decade. If he felt they were a basic language feature it seems that he would have included them in 1991. > > > > >> >> Maybe you should start using python more and _then_ start discussions > >> >> about it's features, when you have good grounds and can provide viable > >> >> alternatives? But I guess that's a wish that won't be granted.... > > >> > static and abstract keywords would seem to be very viable > >> > alternatives. Viable enough that several language designers used them. > > >> As I said - you don't get it. The decorators (in conjunction with the > >> descriptor protocol - ever heard of that?) are very powerful yet lead as > >> an artifact to simple, declarative implementations of features you like, > >> namely static and abstract methods. > > > You said I had to provide a viable alternative. I did that. I haven't > > heard of the descriptor protocol. > > Where did you do provide that alternative? def static def abstract I was not providing an alternative for decorators. > > > One of the problems with "getting" decorators is that they are not in > > older books at all and newer books like Beginning Python from Novice > > to Professional (c) 2005 Magnus Lie Hetland, that I own, devote almost > > nothing to them. Out of 640 pages they are only mentioned > > in one paragraph that is in a section titled "Static Methods and Class > > Methods",(and followed by a class example with @staticmethod and > > @classmethod). > > > So it seems like Magnus Lie Hetland didn't think they were very > > important and he had Professional in his book title. > > I consider "core features of a language" the features that are part of the > specification and implementation. Neither do I care if there is anecdotal > evidence of prior usage in other languages, nor who or who not thinks they > are important enough to be dealt with in a book. By that definition isn't anything that is part of a language a core feature? Weren't we talking about basic features? > > And above all, I don't consider the time things have been around _without_ > any feature as proof of their irrelevance - or do you consider cars being > not core to western culture because they only have been around about 100 > years, whereas horses have been there for thousands of years? Happy riding, > cowboy! A relevant analogy would talk about a feature of cars that was not on them in the beginning but has been added later and whether it was a basic (or now, core) feature. Your definition of core feature given above means that anything on a car when it comes out of the factory is a core feature. > > Python 2.4 has been released in 2003, btw - so decorators are around for 4 > years now. > > So unless you come up with a definition of "core feature of a language" that > someone respectable in the CS-community wrote that features "time being > around" or "random book authors consider worthy" or "persons lacking the > motivation to really dig into do finally get it", I consider your > definition worthless. Agreed? > Since you defined a core feature (haven't seen your definition of a basic feature) as anything in the specification or implementation, I agree that it makes sense for you to disregard anything that limits core features to something less than everything. > >> Besides, those 'several language designers' seem to think that the > >> introduction of keywords isn't enough, but a general purpose annotation > >> scheme seems to be viable - or how do you explain e.g. JDK 1.5 > >> Annotations? > > > I certainly wouldn't call them a basic language feature. Java 1.0 came > > out in January 1996, Java 1.5 in September 2004. It doesn't appear > > that the language designer of Java, James Gosling, is still at the > > wheel or BDFL. But yes, Java is showing signs of "complexity creep". > > You'll be happy to know that I really dislike the C++ template syntax > > and Java has decided to add something similar. > > Again, your anecdotal language feature definition is nonsense. > > By the way, considering generics and C++-templates as "something similar" > shows the inclined beholder that there are other languages out there you > don't really understand. For me understanding is all I can hope to attain. Really understanding is something I must yield to the corps d'elite. -- http://mail.python.org/mailman/listinfo/python-list