这篇文章主要讲解了“web开发中静态和动态语言怎么选择”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WEB开发中静态和动态语言怎么选择”吧!动态型 VS 静态型动态语
这篇文章主要讲解了“web开发中静态和动态语言怎么选择”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WEB开发中静态和动态语言怎么选择”吧!
动态型 VS 静态型
动态语言是一种变量使用前不需要声明的语言,如 python、Ruby 和PHP,在动态语言中像下面这样做是允许的。
num = 10
某种意义上来说,这却是一把双刃剑,因为动态语言的类型检查是在程序运行期间,代码运行前没有任何办法找出 bug。我知道你可以写测试,但是你并不能测试任何事情。这里有一个虽然不重要的例子。
def get_first_problem(problems): for problem in problems: problam = problem + 1 return problam
现在如果你被一些严重的电子乐干扰着,一个缩进的错误很轻易的就忽略了,代码弄完了然后部署到生产环境中,于是bug就接踵而来了。
记住,在生产环境中你是***能消灭bug的人。
静态语言 :使用前变量需要声明,编译的时候需要类型检查,包括Java、C、c++在内的语言都是静态语言。
static int awesomeNumber; awesomeNumber = 10;
关于健壮性的增加和运行时错误机会的减少有很多的争论,编译器能捕获一些在你编码的时候产生的令人讨厌的错误,方法的契约是严格的,不好的地方就是沉重的样板代码。
弱类型 VS 强类型
弱类型和强类型经常与动态语言和静态语言混淆起来。弱类型语言会引起一些哲学性问题如数字2和字符”two“的相加,在弱类型语言中像这样做是没问题的。
a = 2 b = "2" concatenate(a, b) // Returns "22" add(a, b) // Returns 4
传统的语言将严格限制各种事务的出现,如强类型语言中字符与整型相加将导致错误,如下:
>>> a = 10 >>> b = 'ten' >>> a + b Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' >>>
感谢各位的阅读,以上就是“web开发中静态和动态语言怎么选择”的内容了,经过本文的学习后,相信大家对web开发中静态和动态语言怎么选择这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
--结束END--
本文标题: web开发中静态和动态语言怎么选择
本文链接: https://lsjlt.com/news/288260.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0