不长篇大论bash的缺陷了,从论坛的shell版块中的perl狂热可见一斑,总的来说,灵活性严重缺乏,处理简单问题还不错,面对复杂问题时缺乏效率。
值得一提的不过几点:
1.数据结构太过简单,连多维数组都不支持,或许有人说,bash不是为编程设计的,不用忽悠,写脚本就是编程。
2.居然无法对字符串直接处理,必须通过变量,要对字符串连续执行操作时只能一次又一次的分别用变量,而且没有字符提取,十分低效。
3.正则支持的元字符太少,需要动态正则时十二分低效,不如直接引入perl正则。
4.但对新手而言,语法却是足够复杂的。
如果说用命令行是为了高效,不能高效写命令行是十分讽刺。
更奇怪的是,做些改进技术上是轻而易举的事。
无推广诚意,不流行合情合理,苦练bash语法半年,只有不到十句感想,所以加上这句。
linux想推广,应该先改进默认shell性能吗?
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
linux想推广,应该先改进默认shell性能吗?
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 82
- 注册时间: 2007-06-23 17:27
- 系统: Linux Mint 13
Re: linux想推广,应该先改进默认shell性能吗?
既要方便交互使用,又要方便编写脚本,这基本上是两个相互矛盾的需求。
windows下的powershell或许能达到楼主的要求,不过也是以牺牲部分交互的便利性为代价的。
powershell在linux下有个实现:pash。
windows下的powershell或许能达到楼主的要求,不过也是以牺牲部分交互的便利性为代价的。
powershell在linux下有个实现:pash。
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: linux想推广,应该先改进默认shell性能吗?
倒不是LZ自己有需求,随便那种脚本无所谓的,只是看到很多人介意,不利于推广。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。