为什么像Java、C、C++这样的静态语言会比Python、Ruby这样的动态语言流行得多?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了为什么像Java、C、C++这样的静态语言会比Python、Ruby这样的动态语言流行得多?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2404字,纯文字阅读大概需要4分钟。
内容图文
![为什么像Java、C、C++这样的静态语言会比Python、Ruby这样的动态语言流行得多?](/upload/InfoBanner/zyjiaocheng/436/e2698d0eb8f14838bd0e41f7f82ab421.jpg)
回复内容:
我觉得不应该看静态还是动态,而要看强类型和弱类型。强类型比弱类型不容易出错,而弱类型只是省点代码而已。
python与php都是动态语言,但在python类型上比php严谨。举例如下:
a = [1, 2, 3];
print(a['1']);
b = {0:1, 'a':2};
print(a['0']);
C/C++ 有强烈的学术背景,Java / C# 有强烈的商业背景,这些背景确保了有足够多的人和公司对这些语言有信心,从而促进了这些语言的大规模应用,之后就靠惯性了。看看 Python 和 Ruby 在 web 开发领域成长速度就知道,在面对一个与人们熟悉的环境有所区别的问题的适合,人们才会重新开始审视自己手里的选择、放弃习惯而做出更合理的选择。 最关键的一点:国内大学没有Python和Ruby的课。 因为静态类型有利于工具做静态分析,有利于性能优化,有利于代码可读性
有些人总是拿完成同样任务所用代码量来做比较,得出python优于java的结论,不得不说这是非常片面的观点。
java是有些啰嗦,不过ide能帮忙减少80%以上的键盘敲击,同时静态分析能帮忙解决80%以上的低级错误,代码提示能帮忙减少80%以上的查文档时间,至于强大的重构能力更是python望尘莫及的,所以只要是稍微大的项目,用java很可能比python开发速度更快 1. 动态语言相对来说速度慢些.
2. 涉及到一些大的工程,Java/C/C++来说可以系统性的更准确高效的解决问题.
3. 当越到低层和硬件关系更近时, C/C++可以更好的完成任务.直接编译成机器语言.
而Python和Ruby需要运行环境.
当然, Python等动态语言用来做一个工具处理一些日常数据还是很好用的,
或者用Python Django做网站.
但一涉及到大型工程就需要用Java/C/C++了
比如嵌入式用C需要高效高性能, 网游用C++需要大量的绘图库及运算,
银行行业用J2EE, 安全性比较高, 并方便Unix上运行.
其实用的都不少, 差不多, 不同的语言工具有不同的特点解决不同的问题.
因为c、c++的历史长,本来出来就早,所以早就有了广泛应用。
而java,刚出来的时候有sun、IBM等等大厂在全力推广,推了十几年了,一直到现在。
ruby、python虽然出来也不算晚,但是没有大厂的商业推广,为大众熟知也是近十年的事情。 工具是用来解决问题的
能比较好的解决问题就可能被用的多
而不是说这个工具有多精致 越是复杂的项目,使用静态语言可以利用编译器更早的发现和避免问题。这并不是说动态语言并不能用于大型项目,但是在超过一定规模之后,动态语言轻便灵活的优势就会被重构时的overhead给抵消掉。
另一个原因是性能上的。同理,也不是动态语言写不出高效的代码,而是你花在优化上的时间会更多,而团队人多了水平难免参差不齐,不如静态语言稳妥。 我觉得动态语言查错比较困难,经常不知道错误在哪里,个人学PHP的亲身体会 这个问题如果放在几年前,估计就要倒过来问了......
哪个工具好,要看解决的问题是什么,最近什么技术流行,只能说明这个技术适用的问题域变成了普遍问题而已。
内容总结
以上是互联网集市为您收集整理的为什么像Java、C、C++这样的静态语言会比Python、Ruby这样的动态语言流行得多?全部内容,希望文章能够帮你解决为什么像Java、C、C++这样的静态语言会比Python、Ruby这样的动态语言流行得多?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。