Swiftは言語だけみれば結構いいけどね
エラーハンドリング機構はメジャー言語の中では一番進んでる

objective-cは名前空間がなくて衝突回避のためにどうしても長い名前になるのがよくなかった
Swiftにも引き継がれてるメソッド名が引数名込みになるルールも分かりにくい
あとは動的ディスパッチなので速度が必要ならCかC++で書かないといけないのが面倒だったかな