📜  Swift 和 Objective C 的区别

📅  最后修改于: 2021-09-11 04:44:39             🧑  作者: Mango

1. 斯威夫特:
Swift 是一种通用的、编译的、高级编程语言,由 Apple 于 2014 年设计。它由 Chris Lattner 开发,最终与 Apple 的其他程序员合作。它具有 Objective-C 的面向对象特性,并具有类似的语法。 1980 年代,Swift 语言被用于 NeXTSTEP 开发,最终用于 macOS 和 iOS。 Swift 处理了一些编程障碍。喜欢。

  • 它可以防止整数溢出其分配的内存。
  • 它会自动管理内存。
  • 它在使用障碍物之前初始化变量。

它针对 Apple 硬件进行了优化,因此性能优于其他语言。

斯威夫特的优点:

  • 2018 年,swift 在最受欢迎的编程语言中排名第 14 位。
  • 作为 swift 的性能,它比 Objective C 快 2.6 倍,比Python快 8.4 倍。
  • 它具有令人鼓舞的语法,可让您编写干净且一致的代码。
  • 它提高了可读性并防止错误。

斯威夫特的缺点:

  • swift 的缺点是它只能用于开发针对 iOS7 或更高版本的应用程序。
  • Swift 可能是这个时代最快的语言,但它仍然很年轻,需要解决一些问题。
  • 这种语言的人才库有限。
  • 在 swift 中,对早期 iOS 版本的支持非常缺乏。

2. 目标 C:
Objective C 是一种通用的、面向对象的编程语言。它是由 Brad Cox 和 Tom Love 在他们的 Stepstone 公司开发的。 C 是面向过程的语言,而 Objective C 添加了允许面向对象语言的语法和语义。这在编程语言中也称为 Obj C。它是一种在 OS X 和 iOS 操作系统及其 API 中使用的编程语言。它最初由 Brad Cox 和 Tom Love 于 1980 年代在他们的公司 Stepstone 开发。 Objective C 在 C 编程语言中添加了一个新的语言特性。 ‘.m’ 源代码是用于 Objective C 的扩展。

目标 C 的优点:

  • 由于该语言在现有 C 编译器上作为预处理器实现,因此是 GCC 模块。
  • Objective C 更兼容
    C++。
  • 目标C更稳定。
  • 在 Objective C 中,私有 API 的使用更容易。

目标 C 的缺点:

  • 作为一个缺点,Objective C 不支持像 C++ 那样的运算符重载。
  • Objective C 的第一个版本不支持垃圾收集,但它仍然使用了一些用 C 编写的运行时,这增加了应用程序的大小。
  • 由于它基于 C 编译器,因此它依赖于头文件才能正常工作。
  • 语言目标 C 有点复杂,但预计这是一种相当古老的语言。

Swift 和 Objective C 的区别:

S.No. SWIFT OBJECTIVE C
01. Swift is a general-purpose, high-level programming language which is highly concerned about safety, performance. Objective C is an general purpose language which is considered as superset of C language it was designed in an aim of providing object-oriented capabilities.
02. It was developed by Chris Lattner with eventual collaboration with other programmers at Apple. It was developed by Brad Cox and Tom Love at their company Stepstone.
03. It was influenced by Objective C, Rust, Ruby, Python. It was influenced by C and Smalltalk.
04. Swift was first appeared on the year 2014. Objective C was first appeared on the year 1984.
05. Swift is static type. Objective C is dynamic type.
06. Swift is apache licensed open source project. Objective C is licensed under General Public License.
07. It only have classes. It has both Structs and classes.
08. It was designed for building apps for iOS, Mac, Apple TV and Apple Watch. Objective C was designed to be smalltalk messaging features.
09. Swift polymorphism does not exist directly. Polymorphism in Objective C exist directly in compile time.
10. It uses true and false values. It uses YES and NO values and also BOOl.
11. Swift has multiple types of templates than Objective C. Objective C has lacks of templates than Swift.