Java is designed to be interpreted, which makes is less suitable as a system programming language. C and C++ are full of pitfalls for programmers. Arguably the C languages are a major source of the world's increasing computer insecurity. Swift is designed to be compiled and it avoids many of the C family's problems, while working with C family libraries. Someone really good with strong support from a major player has tried to get it right. The Apple community seems to think he got close. Time will tell if any other community agrees.