• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程技巧 > 动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍

动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍

作者:junjie 字体:[增加 减小] 来源:互联网 时间:2017-05-12

junjie 通过本文主要向大家介绍了动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。

1. 动态语言

又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。

而其实我们平时说的“动态语言”应该指的是“动态类型语言”。至少我之前一直是这么认为的。

2. 动态类型语言

在运行时,确定类型的语言。
即编译时与类型无关。一般在变量使用之前不需要声明变量类型,而变量的类型通常是由被赋的值的类型决定。 如php、Python和Ruby。

3. 静态烈性语言

与动态类型语言正好相反,在编译时,便需要确定类型的语言。即写程序时需要明确声明变量类型。如C/C++、Java、C#等。

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

4. 强类型语言

强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
强类型定义语言是类型安全的语言。

5. 弱类型定义语言

数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
另外,由上边看出“这门语言是不是动态类型语言”与“这门语言是否类型安全”之间是完全没有联系的!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-07-23Kali渗透(一)----信息收集之域名(WHOIS)
  • 2017-05-12分享15个美化代码的代码语法高亮工具
  • 2017-05-12浏览器缓存知识小结及应用分析
  • 2017-05-12PHP VBS JS 函数 对照表
  • 2017-05-12Git基本概述
  • 2017-05-12彻底解决页面文字编码乱码问题
  • 2017-05-12算法系列15天速成 第五天 五大经典查找【中】
  • 2017-05-12高性能WEB开发(5) 减少请求,响应的数据量
  • 2017-05-12如何禁止浏览器使用后退按钮功能
  • 2017-09-08nodejs学习 package.json 依赖包具体详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • UTF8编码开发中页面空白问题的解决方法
    • 改良程序的11技巧分享
    • nodejs学习 package.json 依赖包具体详解
    • bower 强大的管理web包管理工具
    • 网络编程之get与post的区别与联系
    • 百度HI QQ和MSN 阿里旺旺贸易通MSN在线客服在线聊天代码
    • WebStorm 遇到的问题总结
    • 比较全的获得ip地理信息的几种方法小结
    • URL 长度有限制吗?
    • 算法系列15天速成 第二天 七大经典排序【中】

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有