Про п.1 — насколько я понимаю, когда они выбирали, ничего более толкового не было — в С не было ООП и были проблемы с модульностью, в С++ в то время еще творился нестандартизованный ад, остальное сильно медленнее работало на железе в то время. Objective C был передним краем когда-то.