使用过程发现的Scala的一些缺陷
2009-09-16 17:17
49 查看
本人在自学使用Scala的过程中,发现此语言还是有一些缺陷,或者更确切的说有一些个人感觉还可以优化的地方(当然不排除初学者对该语言理解不够的地方)。
1、函数不支持变长参数。当然排除掉先定义全参数函数,然后定义缺少某些参数的函数通过缺省值指向全参数函数的情况。这儿的变参应该是指不指定最长参数个数的情况。当然,一般来说必须使用变参的情况还是不多,而且绝大多少都可以通过包含Collection类型(及其子类)的参数来变通实现,只是与Ruby比较显得啰嗦。
2、作为支持函数式编程的语言,本人觉得应该有缓存函数值的机制。当然前提是有区分有副作用函数和无副作用函数的机制(就像可变变量与不可变变量的var和val一样)。对无副作用的纯函数应该从语言机制上支持弱缓存(比如通过scala.Collection.jcl的WeakHashMap的弱映射机制)。
由于初学初用,先记下这些使用中的感受,在进一步的使用过程中再不断补充。一者抛砖引玉,看看各位有什么高见;二者对那些是否要学习Scala语言的同志提供反面的参考(目前网上的资料对其的评论都基本上是正面意见——至少中文资料如此)。 4000 阅读更多
1、函数不支持变长参数。当然排除掉先定义全参数函数,然后定义缺少某些参数的函数通过缺省值指向全参数函数的情况。这儿的变参应该是指不指定最长参数个数的情况。当然,一般来说必须使用变参的情况还是不多,而且绝大多少都可以通过包含Collection类型(及其子类)的参数来变通实现,只是与Ruby比较显得啰嗦。
2、作为支持函数式编程的语言,本人觉得应该有缓存函数值的机制。当然前提是有区分有副作用函数和无副作用函数的机制(就像可变变量与不可变变量的var和val一样)。对无副作用的纯函数应该从语言机制上支持弱缓存(比如通过scala.Collection.jcl的WeakHashMap的弱映射机制)。
由于初学初用,先记下这些使用中的感受,在进一步的使用过程中再不断补充。一者抛砖引玉,看看各位有什么高见;二者对那些是否要学习Scala语言的同志提供反面的参考(目前网上的资料对其的评论都基本上是正面意见——至少中文资料如此)。 4000 阅读更多
相关文章推荐
- STC15W404AS单片机使用过程的一些问题发现
- 小白在使用DWZ过程中发现的一些算不上技巧的代码
- flowplayer+flashhls使用过程中发现的一些小问题
- 在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现,release与debug运行结果不一致
- 使用javamail发信过程中的一些问题及解决方法
- 使用微软ASP.NET MVC Framework的一些感受 + 收集园子朋友发现的bug反馈
- 忽然发现Windows的一些使用常识还没掌握,汗
- 最近在使用sps类库过程中发现了一个让我比较疑惑的问题(有关items属性的)
- 使用Report Service发现的一些问题
- 今天发现原来function内是不能使用exec()和非扩展存储过程的
- 使用PowerPoint过程中积累的一些小经验
- 临时表操作的一些见解(解决了我在存储过程中使用临时表的困惑)
- MySQL命令行使用过程的一些技巧
- 在使用Struts的过程中也遇到了一些问题,现在总结一下
- 使用微软ASP.NET MVC Framework的一些感受 + 收集园子朋友发现的bug反馈 【补充】
- TFS CMMI实施笔记:在设计单元测试的时候,发现设计有缺陷的时候,是怎样处理的过程?(欢迎大家讨论)
- 使用 Castle ActiveRecord 开发发现的一些问题
- 建立数据库的过程中应注意避免使用一些常见字
- 最近使用XML过程中一些问题的总结
- 使用 Castle ActiveRecord 开发发现的一些问题