Python 相较于Java 而言,有什么优势?
每种语言都有适合自己使用的场景。
一个后端工程师必备的能力就是选择合适的场景去选择合适的语言。
而且,Java程序员往往多少都会点Python。
所以,并不存在说Java程序员和Python程序员之间的纷争问题。
确切的说,大家争执的应该是,什么样的场景下用什么样的语言,有没有最佳实践?
适合Python的场景如下:
1、各种运维脚本
包括但不限于统计日志分析,发送邮件,定时任务,解析文本,替换配置文件等等等等。
Python比Shell更强大,天生就是最适合做运维脚本的东西。
而随着devops的普及,各种小的运维脚本有了Python之后简直是如虎添翼。
2、小型爬虫
如果你要抓取百度新闻,微博,或者是其他论坛等,不需要考虑太多抓取权重,去重等等,用Scrapy爽的不要不要的,特别是在解析xpath方面,在这一点上,Python的简洁完全是碾压Java的。
Java解析Json就是一场恶梦,Python和JS处理这种东西轻巧的想要飞。
抓取的内容简单入库也很容易,所以如果是要求不高,纯粹的抓取入库,Python完胜。
3、文本处理
假设你要处理文本,截取,排序等等等等,Python写的小东西真的比Java好用多了,或者是说,我需要跑个定时任务,(tj.java.tedu.cn)定期调一下第三方Api写到某个DB里。这些东西都是Python最擅长的地方。
4、算法
NLP和DM中很多算法都适合用Python来做,不过我了解的不多,还是用Java为主。但是推测的出来,算法领域上Python比Java要强很多。
从以上的分析看的出,Python适合的场景是小,跟其他的系统的交互比较少,不需要考虑大数据量和并发访问,不会有太复杂的结构,也很少会有什么需求变更,更多的像是Tools。
这也是符合脚本语言的特性。
所以在这些领域里,Python比Java牛是很正常的,如上所述,在不同的使用场景下来决定用什么来完成任务,是架构师一个很重要的职责。
原文地址:https://blog.51cto.com/14082839/2367399