编程语言里的静态、动态、强类型、弱类型等概念介绍

 更新时间:2015年05月08日 11:02:56   投稿:junjie  
这篇文章主要介绍了编程语言里的静态、动态、强类型、弱类型等概念介绍,需要的朋友可以参考下

对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。

“动”或“静”,强调的是实施类型的时间,编译里就要确定类型的是静态类型,比如C/C++/JAVA/C#,运行时才实施类型的则是动态类型,比如VB/Python。  
   
而“强”或“弱”刚强调实施类型的强度,强类型的语言,如C++等,变量的类型不可随意转换;而弱类型的语言,变量的类型可以随需要任意转换,而且通常都是隐式的。

静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求.

动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。

强类型语言是一旦变量的类型被确定,就不能转化的语言。实际上所谓的貌似转化,都是通过中间变量来达到,原本的变量的类型肯定是没有变化的。

弱类型语言则反之,一个变量的类型是由其应用上下文确定的。比如语言直接支持字符串和整数可以直接用 + 号搞定。当然,在支持运算符重载的强类型语言中也能通过外部实现的方式在形式上做到这一点,不过这个是完全不一样的内涵

通常的说,java/python都算是强类型的,而VB/Perl/C都是弱类型的.
不过相比于动态/静态语言的分类,强类型/弱类型更多的是一个相对的概念。

相关文章

  • 如果你有这33种症状了请离开电脑去走走吧!

    如果你有这33种症状了请离开电脑去走走吧!

    这篇文章主要介绍了如果你有这33种症状了请离开电脑去走走吧!本文是关注程序员、上班族身心健康的文章,需要的朋友可以参考下
    2014-09-09
  • ChatGPT体验辅助写代码功能实测(附编程测试)

    ChatGPT体验辅助写代码功能实测(附编程测试)

    ChatGPT最近霸屏了,咱们也来玩玩,下面这篇文章主要给大家介绍使用ChatGPT辅助写代码的体验,需要的朋友可以参考下
    2023-02-02
  • 一篇文章理解阻塞、非阻塞、同步、异步

    一篇文章理解阻塞、非阻塞、同步、异步

    这篇文章主要介绍了阻塞、非阻塞、同步、异步的意义以及他们之间存在的区别,该如何学会他们,文中讲解的很细致,需要的小伙伴可以自己看一下
    2021-08-08
  • superset在linux和windows下的安装和部署详细教程

    superset在linux和windows下的安装和部署详细教程

    Superset 是 Airbnb开源的数据探查与可视化平台,是个轻量级的BI工具,开发者可以在其开源代码上根据需要进行二次开发。这篇文章主要介绍了superset在linux和windows下的安装和部署详细教程,需要的朋友可以参考下
    2020-10-10
  • Git文件常用操作总结及拓展

    Git文件常用操作总结及拓展

    这篇文章主要为大家介绍了Git文件常用操作总结及拓展,添加多个文件到暂存区,提交操作未写备注,从工作区直接提交到版本库,有需要的朋友可以借鉴参考下
    2022-04-04
  • 字符编码笔记 ASCII,Unicode和UTF-8

    字符编码笔记 ASCII,Unicode和UTF-8

    下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识
    2012-08-08
  • 解决MobaXterm连接报错Network error:Connection timed out问题

    解决MobaXterm连接报错Network error:Connection timed 

    这篇文章主要介绍了解决MobaXterm连接报错Network error:Connection timed out问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Viso 2019 下载与激活方法

    Viso 2019 下载与激活方法

    Visio 是一款专门绘制流程示意图工具,由于很多刚入职的小白没有安装过visio,今天小编抽空给大家分享下Viso 2019 下载与激活方法,感兴趣的朋友一起看看吧
    2023-02-02
  • Eclipse插件安装的八种方式总结

    Eclipse插件安装的八种方式总结

    这篇文章主要给大家总结介绍了关于Eclipse插件安装的八种方式,现在开发java项目普遍使用idea了,但使用eclipse的也不少,如果要用的顺手点,还是需要一些优化和相关插件支持的,需要的朋友可以参考下
    2023-10-10
  • git中cherry-pick命令的使用教程

    git中cherry-pick命令的使用教程

    这篇文章介绍了git中cherry-pick命令的使用方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论