Although I liked Effective Java a lot, and it does contain a lot of advice relevant to many OO languages - it is the opposite of language agnostic: It's very Java-specific. Much of the content is irrelevant except in Java itself; and some of it is the opposite of "Effective language X". For example, it has a section named "Prefer lists to Arrays"; any C++ programmer will tell you the opposite (and that goes down to some of the arguments, such as Java not supporting generic arrays while C++ supports them).
But it also tells you why to prefer x over y, every time it gives any recommendations. And it's always explained well. So I think reading this book will help you make conscious decisions while using other languages. It's just a very well written book.. Which is pretty rare..
Of course a lot of it is Java-specific, but there's enough advice that seems relevant to $BOG_STD_OO_LANG that it's probably worthwhile for this purpose.
I haven't read the book, but I guess part of the argument is because ArrayList in Java is backed by an array, and is what is usually called a "vector" in other languages, while the generic List interface is what you would call a "sequence" elsewhere.
Implementing Domain Driven Design