20080330 - strong-typing and weak-typing

博客介绍了强类型和弱类型语言的区别,指出很多人易将其与静态、动态语言混淆。弱类型语言允许内存作多种类型,如C、C++、Perl、PHP;强类型语言无强制转换时不同类型变量不能互操作,如Java、C#、Python。还提到加强测试可使系统更可靠,使用语言应按需而定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Q: What is strong-typing versus weak-typing Which is preferred, Why

要注意是强类型和弱类型,很多人容易将此与静态语言和动态语言的混淆。静态语言在编译时检查变量类型,动态语言在运行时检查变量类型。但这不是强类型和弱类型的区别。

弱类型语言允许将一块内存看做多种类型。比如直接将整型变量与字符变量相加。C and C++ 是静态语言,也是弱类型语言;Perl and PHP 是动态语言,但也是弱类型语言。

强类型语言在没有强制类型转化前,不允许两种不同类型的变量相互操作。Java、C# 和 Python 等都是强类型语言。

也有许多大型的系统是用动态类型语言编写的,编译器捕获类型错误只能捕获很小比例的错误。加强软件测试才能产出更加可靠的系统,这无关何种类型语言的使用。

尽管如此,使用哪种语言还是要按需而定。个人观点是,编写简单小应用,使用弱类型语言可节省很多代码量,有更高的开发效率。而对于构建大型项目,使用强类型语言可能会比使用弱类型更加规范可靠。

转载于:https://www.cnblogs.com/likun/archive/2008/03/30/1130372.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值