It seems that almost all features in C# were borrowed from another languages (OOP from Java, generics (parametric polymorphism) and lambdas from ML family, LINQ from Haskell's monads and dynamic from dynamic languages), but I don't know the origin of attributes(annotations in Java world). Is C# the first language that introduced attributes?