版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/caowenbin/article/details/31418773

        Swift自问世以来,就获得了全球开发人员的青睐,能够说集万千庞爱于一身了,尤其是WWDC上的性能展示。更是让开发人员为之振奋。

可是,我却一直有几个疑问没有弄清。不知您的看法怎样。

        Swift究竟是编译型的,还是解释型的?我们知道Objective-C是编译型的,源程序被编译成机器码才干运行。

我们也知道Python是解释型的,由解释器负责解释运行,能够边写源代码边获得解释的结果。

从Xcode 6的Playgound来看。Swfit应该是解释型语言,能够边写代码边看到运行结果。可是,作为解释型语言的话在性能上不太可能会率先于编译型的Objective-C那么多。即使对编译器进行了优化也非常难拉开较大的差距。感觉Playgound像是IDE专门为Swift提供的一个工具。为了在语言使用上能有些交互性。该工具能够解释正在编写的代码,从而形成解释运行的交互式结果展现。因此,从Swift的性能来看,它还是编译型语言。

        Swift究竟是面向过程的还是面向对象的?这个从Apple的The Swift Programming Language里找到了答案,既支持面向过程编程,也支持面向对象编程。只是在对其class学习以后。没有发现Java、C#等面向对象语言的訪问修饰符,可能没有深入,还没领会到详细的使用方法上怎样做到更好的封装和信息隐藏。
        Swift是静态语言还是动态语言?简单的看。Swift通过var和let声明变量和常量,不须要指定数据类型。非常像JavaScript等动态语言。

可是细致学习能够发现,事实上Swift是静态语言,并且是类型安全的静态语言,即使是Int和Double也须要显示转换。

那么不须要数据类型的声明事实上就是语法糖了,是编译器做的类型判断,一旦类型确定就无法再改变了。所以Swift应该还是静态语言。

        我想通过继续学习和使用Swfit。还会遇到很多其它问题,但这才是语言学习的乐趣。
——欢迎转载,请注明出处 http://blog.csdn.net/caowenbin ——

最新文章

  1. 扩展 jquery miniui 组件实现自动查询数据
  2. plist中的中文数据
  3. .net Session 超时控制
  4. Chap5: question 35 - 37
  5. JAVA- File类
  6. Python之socket(套接字)
  7. 移动Web应用开发入门指南——视觉篇
  8. CUBRID学习笔记 41 sql语法之select
  9. 解决Hadoop-Eclipse-Plugin放在Plugin目录下没反应的问题
  10. 网页错误404 or 500
  11. C/C++基本数据类型所占字节数
  12. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl
  13. Struts2--课程笔记2
  14. 温故而知新—heap
  15. JS的forEach和map方法的区别,还有一个$.each
  16. [Swift]LeetCode949. 给定数字能组成的最大时间 | Largest Time for Given Digits
  17. [CTSC2018]暴力写挂——边分树合并
  18. freemarker的template用法
  19. jdbc连接池&改进dbUtil成C3P0Util
  20. openfalcon agent 监控数据

热门文章

  1. Android系统默认语言改为中文
  2. c#学习笔记之Application.DoEvents应用
  3. Chrome 浏览器如何完美实现滚动截图技巧
  4. Reveal.js演讲幻灯片框架
  5. python 之 实现su 到root账号
  6. 文艺平衡树(Splay)
  7. ios构造和析构
  8. java资源分享、面试题资料、分布式大数据
  9. 从头写一个Cucumber测试(二) Cucumber Test
  10. fastjson中Map与JSONObject互换,List与JOSNArray互换的实现