Atitit.java c#这类编程语言的设计失败点attilax总结

1. Npe1

2. Api粒度过小而又没有提供最常用模式1

3. checked exception(jeig n jyejye he haoyon j l a ,enhance sekry le ,ide can auto fix strtus)1

4. 集合没有集成到语言里面去2

5. Delegate2

5.1. Try-catch 声明之殇 可以参照php@处理忽略2

5.2. 模块化2

5.3. Methodchain等func接口。。2

5.4. fan锁的get set,应该使用jq的属性化设置2

5.5. 我声称整个ORM背后的想法是错误的。 它的发明是也许OOP领域空引用之后第二大错误2

1. Npe

2. Api粒度过小而又没有提供最常用模式

Api粒度过小是为了增加灵活性,满足正交性。。是可以的。

但是没有提供常用的简化模式吗,就导致了代码啰嗦

3. checked exception(jeig n jyejye he haoyon j l a ,enhance sekry le ,ide can auto fix strtus)

BE:C#没有checked exceptions。你是如何决定不把它引入C#中的?

AH:我觉得checked exceptions带来两个问题:可扩展性和版本控制(scalability and versionability)。我知道你也写过关于checked exceptions的文章,你好像也同意我们的观点。[i]

BE:我曾经觉得checked exceptions是个很了不起的创意。

AH:没错。坦率的说,乍看起来,他们确实很棒,而且这个创意本身并没有错。我完全同意checked exceptions是个很好的特性。只是某些特定的

4. 集合没有集成到语言里面去

5. Delegate

5.1. Try-catch 声明之殇 可以参照php@处理忽略

5.2. 模块化

5.3. Methodchain等func接口。。

5.4. fan锁的get set,应该使用jq的属性化设置

Atitit.java  oop 面向对象的设计失误

5.5. 我声称整个ORM背后的想法是错误的。 它的发明是也许OOP领域空引用之后第二大错误

5.6. Java 只支持位置参数。我喜欢像Smalltalk 那种支持多样化的参数形式,或者是强制使用关键字参数的Python 3。

参考资料

Atitit. null错误的设计 使用Optional来处理null.docx

Anders Hejlsberg论为什么不在c#引入类似java的checked exceptions.html

Java最困扰你的那些事 - ImportNew.html

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

Atitit.java c#这类编程语言的设计失败点attilax总结的更多相关文章

  1. 在java中String类为什么要设计成final

    在java中String类为什么要设计成final? - 胖胖的回答 - 知乎 https://www.zhihu.com/question/31345592/answer/114126087

  2. 在java中String类为什么要设计成final?

    大神链接:在java中String类为什么要设计成final? - 程序员 - 知乎 我进行了重新排版,并且更换了其中的一个例子,让我们更好理解. String很多实用的特性,比如说“不可变性”,是工 ...

  3. Java中String类为什么被设计为final?

    Java中String类为什么被设计为final   首先,String是引用类型,也就是每个字符串都是一个String实例.通过源码可以看到String底层维护了一个byte数组:private f ...

  4. Atitit java集成内嵌浏览器与外嵌浏览器attilax总结

    Atitit java集成内嵌浏览器与外嵌浏览器attilax总结 HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟 ...

  5. java里String类为何被设计为final

    前些天面试遇到一个非常难的关于String的问题,"String为何被设计为不可变的"?类似的问题也有"String为何被设计为final?"个人认为还是前面一 ...

  6. 在Java中String类为什么要设计成final?String真的不可变吗?其他基本类型的包装类也是不可变的吗?

    最近突然被问到String为什么被设计为不可变,当时有点懵,这个问题一直像bug一样存在,竟然没有发现,没有思考到,在此总结一下. 1.String的不可变String类被final修饰,是不可继承和 ...

  7. java中String类为什么要设计成final?

    1 将方法或类声明为final主要目的是:确保它们不会在子类中改变语义.String类是final类,这意味着不允许任何人定义String的子类. String基本约定中最重要的一条是immutabl ...

  8. 【笔记】在java中String类为什么要设计成final?

    部分内容转自知乎:https://www.zhihu.com/question/31345592 从自己的理解进行加工,压缩. String本质上是一个final类 public final clas ...

  9. Atitit JAVA p2p设计与总结  JXTA 2

    Atitit JAVA p2p设计与总结  JXTA 2 JXTA 2 是开放源代码 P2P 网络的第二个主要版本,它利用流行的.基于 Java 的参考实现作为构建基础.在设计方面进行了重要的修改,以 ...

随机推荐

  1. SmartUpload实现文件上传时file和表单文本同时提交的问题

    JSP页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  2. JS-firstChild,firstElementChild,lastChild,firstElementChild,nextSibling,nextElementSibling

    <body> <ul id="ul1"> <li>11111</li> <li>22222</li> < ...

  3. MAC PRO 的网关在哪里

    mac pro的网关就是路由器地址. 1.路由器在系统偏好设置里 2.双击点开此图标 选中1.然后点击高级设置 3.选中TCP/IP,然后查看自己的路由器后边的数字,就是你的mac网关号 4.IPV4 ...

  4. 广义Euler常数

    对于区间(a,b)内f''(x)>0 那么在该区间内函数的一阶导数对应切线在该区间内只与f(x)在切点相交 1. f''(x)>0那么可知 f'(x)在该区间内是单调增的 以下图为例,过( ...

  5. 如何定制Activity的标题栏

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); //自定义标题栏        mW ...

  6. 使用 xcode 8 构建版本 iTunes Connect 获取不到应用程序的状态的解决办法

              Archive生成Release版本的ipa并将其提交到iTunesConnect,上传成功后我打开iTunesConnect网站登录我的开发账号,准备提交版本更新,然而我却找不到 ...

  7. Mini projects #5 ---- Memory

    课程全名:An Introduction to Interactive Programming in Python,来自 Rice University 授课教授:Joe Warren, Scott ...

  8. ieee80211w

    80211w概述 1, WLAN网络在设计的时候就容易遭受各种类型的Denial of Service(DOS)攻击, a, 射频干扰(RF jamming) b, Spoofed Disconnec ...

  9. 关于sitemesh和freemark在struts2中的一些问题总结

    最近刚开始工作,首先让我在熟悉公司编程环境的前提下做一些简单的增删改查,在此总结一些这些天遇到的问题. 1,在刚开始建表的时候,我在oracle数据库中设置的主键id为四位的number类型,对应的实 ...

  10. 关于IDW空间插值

    空间插值一般都会用到IInterPolationOP接口等 首先是通过图层的名称获取图层的方法: private ILayer GetLayerByName(string name)        { ...