This line is pretty much selfexplanatory. And with intellisense you write this line in about 3 secs

In Objective C square brackets encloses messages send to objects or classes.
Par example:
Code:
[myCar wash]
means the Instance named myCar of needs to be washed. myCar, look how it's done and do it!
Code:
[myCar wash:withSoapNr(2)]
named parameters to messages...
So you have here:
Code:
[[[NSTabView alloc] initWithFrame:NSMakeRect(x, y, Width, Height)] autorelease]
just read ist. The names of parameters, messages and keywords are chosen in a matter that everyone should get it.
You will get as a result an object of NSTabView (memory will be allocated), wich uses a designated initialization (initWithFrame stuff), wich will handlet by gc. Its just a longer and detailed form of
"[NSTabView new]", but with more detailed features.
But you can also choose dot syntax like
myCar.wash if you want. But i prefer to use brackets, because you could easily misinterpret dot syntax as structures.
It's always good to learn more than one language. I started seriously with Ruby and Purebasic. Later on, with D, Scala, Python, C and Objective-C you will come back to purebasic and do coding a lot different than before. Because you know more patterns. My next thing to learn will be functional programming, but not sure wich language to choose.