答:1、IOS是苹果自己开发的,貌似从历史上追索是从FreeBSD上开始的,FreeBSD又是一Unix衍生,ios内核应该是C语言开发的,不是开放的,个人觉得内核是C,上层还是C++写的。至于Object-C,那是ios上开发软件用的开发语言。

1)简洁紧凑、灵活方便。C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。
2)运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。
3)数据类型丰富。C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。
4)表达方式灵活实用。C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。
5)允许直接访问物理地址,对硬件进行操作。
6)生成目标代码质量高,程序执行效率高C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。
7)可移植性好。C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。
开发App需要使用多种技术,包括:
1. 编程语言:常见的移动应用开发语言包括Java、Swift、Objective-C、Kotlin等。
2. 开发工具:如Xcode、Android Studio等,这些工具可以提供应用程序的图形界面、开发环境、调试工具等。
3. 操作系统:Android和iOS是当前主流的移动操作系统,应用程序需要根据不同的操作系统来进行开发。
4. 应用程序接口(API):API是应用程序与操作系统、第三方服务之间的桥梁,提供了访问操作系统和服务的方法。
5. 数据库:应用程序需要使用数据库来存储和管理用户数据。
6. 云服务:应用程序需要使用云服务来存储数据、进行推送通知、进行数据分析等。
7. 设计工具:如Sketch、Adobe XD等,用于设计应用程序的用户界面和交互体验。
8. 版本控制系统:如Git,用于管理代码的版本和协同开发。
9. 其他技术:如移动支付、社交分享、地图定位、摄像头等,这些技术可以增强应用程序的功能和用户体验。
综上所述,开发App需要使用多种技术,并且需要不断学习和更新知识,以跟上移动应用开发的发展步伐。
对于前端技术,我们需要了解HTML、CSS和Javascript,以及一些流行的前端框架如AngularJS、ReactJS、VueJS等,这样才能开发出具有优秀用户体验的App。
对于后端技术,我们需要了解数据库(如MySQL、MongoDB、Redis等)、服务器端语言(如Java、Python、PHP等)、服务器(如Tomcat、Nginx等)和Web开发框架(如Spring、Django、Laravel等),以便实现App的数据存储、后台逻辑和业务处理。
此外,移动App发展迅速,所以也需要熟悉一些App开发技术,例如React Native、Flutter等,通过这些技术,我们可以在不同的设备上编写可复用的代码,大大提高开发效率。
以上是我个人对开发App所需要掌握的技术的看法,希望对你有所帮助。