• 编程语言的阴阳之争


    动态语言:是指程序在运行时可以改变其结构:新的成员函数可以被引进,已有的成员函数可以被删除,新的成员属性可以被引进,已有的成员属性可以被删除,等在结构上的变化。

    强类型语言和弱类型语言:

    在C和Java语言中,变量在使用之前都是要声明其类型的,如果不在使用前声明该变量,那么,在后面的部分我们将不能再使用该变量。像这样的语言, 我们称之为强类型语言,与之相对应的就是弱类型语言了,就如同php语言。在使用变量过程中,不必向 PHP 声明该变量的数据类型。根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。

          相对而言,这也就会有人想强类型语言和弱类型语言有哪些方面的不同,既然声明方式不同,那么自然也就说明在后台的运行也会有不同。“强”或“弱”其实也是在强调实施类型的强度,强类型的语言,如C++等,变量的类型不可随意转换,例如你不能将整数型变量随便转换成字符型变量;而弱类型的语言,变量的类型可以随需要任意转换,而且通常都是隐式的。还有不同之处,就是在语言运行过程中的不同——弱类型语言将类型检查放到了运行时,而强类型语言则在编译期执行这些约束检查,有利于提早发现错误(不属于bug)并减轻了运行时负担。弱类型则必须借助测试才能有效减少这些类型的错误。(弱类型实际上降低了的是程序员对要解决问题了解程度,程序员对要解决问题的了解越浅,构筑的模型就越模糊,就上手编程出的问题就更多。)所以,弱类型语言虽然在书写代码的过程中减少了部分的麻烦,但是在后期的执行过程中可能会增加处理器的运行压力,而强类型语言虽然在前期的编码过程中是比较麻烦的,但是同时也为将来后台的运行提供了方便……

  • 相关阅读:
    CentOS 6.5 源码安装subversion-1.8.8,附加mod_dav_svn模块
    MySQL建表设置外键提示错误
    Servlet3.0提供的异步处理
    Servlet3.0使用@WebServlet注解配置问题记录
    我的博客开通啦!
    关于Wii的蓝牙接收
    关于Wii的软件制作
    提升学习算法简述:AdaBoost, GBDT和XGBoost
    决策树中的熵和基尼指数
    机器学习排序算法:RankNet to LambdaRank to LambdaMART
  • 原文地址:https://www.cnblogs.com/zhizhuwang/p/3650009.html
Copyright © 2020-2023  润新知