JAVA语言 java in linq
龚威 2018-03-02 来源 : 阅读 130 评论 0

摘要:目前JAVA语言能引以自豪的可能就只有三样:跨平台,强啊而灵活的JVM和众多的开源项目。现在.Net也开源了,也跨平台了,如果Java还这样停滞不前的话,再过几年可能是.Net的天下了。JAVA语言有明智的取舍和大胆的前进才有光辉的明天

这是关于Java和Linq的描述, 经典的话一定要记下来:

完整的LINQ分以下几部分,缺一不可:

1. Lambda Expression

2. Query Expression

3. Extension Methods

4. Expression Tree

5. Anonymous Types

Java除了第一个后面都没有。你可以认为Java的Streams API是一个:

1. 无法用Monad形式(没有Query Expression)

2. 难以扩展的(没有Extension Methods)

3. 无法表达语句结构及动态编译函数(没有Expression Tree)

4. 无法借助临时结构减少计算或增强表达能力(没有Anonymous Types)

的LINQ。

此外,这套API不是加在标准的Iterator和Iterable模型上的(在C#叫IEnumerator和IEnumerable),导致又多了一套Streams模型出来,而又和IO的Stream容易产生混淆,真不知道设计者是怎么想的,搞个Extension Methods出来多好,不光对LINQ有用,简直方便之至。

总而言之,Java 8这套给我的感觉就是因为不愿意搞出和C#一样的设计而引入的半吊子东西。当年Lambda表达式的草案是和C#以及Scala一样使用“=>”符号的,结果最后硬要改为“->”真是生怕别人不知道要故意跟C#不同。

 

Java也真不争气,Linq都出来多久了,这Java上还弄的是这个样子。目前Java能引以自豪的可能就只有三样:跨平台,强啊而灵活的JVM和众多的开源项目。现在.Net也开源了,也跨平台了,如果Java还这样停滞不前的话,再过几年可能是.Net的天下了。决策上过分的民主只会是内耗。明智的取舍和大胆的前进才有光辉的明天。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言JAVA频道!

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长维护良好的客户关系

  • 13
    文章
  • 416
    人气
  • 100%
    受欢迎度

已有2人表明态度,100%喜欢该老师!

进入TA的空间
名师指导直通车

  • 资料索取

  • 答疑解惑

  • 技术交流

  • 职业测评

  • 面试技巧

  • 高薪秘籍
TA的其他文章 更多>>
大数据入门 Flume拦截器
经验技巧 100% 的用户喜欢
大数据入门 hbase集群搭建
经验技巧 100% 的用户喜欢
hbase性能参数优化
经验技巧 100% 的用户喜欢
JAVA从入门到精通-Java IO流总结
经验技巧 100% 的用户喜欢
JAVA语言-java8 彻底改变数据库访问
经验技巧 100% 的用户喜欢
其他海同名师 更多>>
刘新华 联系TA
实力型。激情饱满,对专业充满热情
吴翠红 联系TA
独创“教、学、练、测”循环教学模式
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
黄泽民 联系TA
擅长javase核心技术
程钢 联系TA
擅长大型企业商业网站开发和管理
经验技巧30天热搜词 更多>>
X
免费获取海同IT培训资料
验证码手机号,获得海同独家IT培训资料
获取验证码
提交

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号