I hope the programmers that have been driven away by Java for whatever reason have at least taken a look at the data structures it provides. You have linked lists, arrays, hash sets/maps, and binary search tree sets/maps, as are in many other languages. You also have data structures that have been optimized for use in concurrent applications including skip lists and copy on write arrays. There are many valuable concurrency abstractions that will let you tailor your application to perform well on multi-CPU machines, and they're provided in the standard library. The same cannot be said for many other languages.