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. C#中语音合成简单使用

    我使用的是vs2013 1.在项目中添加引用,项目->添加引用->COM选择Microsoft Speech Object Library 2.在需要使用语音合成的地方调用代码: SpVo ...

  2. 原生ajax基础

    /*ajax对象的成员常用属性:responseText:以字符串形式接收服务器端返回的信息responseXML:以Xml Document对象形式接收服务器返回的信息readyState:返回当前 ...

  3. c# DataTable 转为 List 类型

    代码: public class ModelConvertHelper<T> where T : new() { public static IList<T> ConvertT ...

  4. Linux最常用命令之cd和ls

    为什么说是最常用的命令呢,因为从普及程度看,即使不怎么接触过Linux系统的人,大多数都会知道这两个命令:而从使用频率看,这两个命令也是当之无愧的首位.现在我们就来看看这两个命令. cd 篇:cd 即 ...

  5. SQL Server 事务、异常和游标

    转自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110325.html Ø 事务 在数据库中有时候需要把多个步骤的指令当作一个整体来运行,这个整 ...

  6. yeoman(转)

    前言有一种技术可以提高我们的工作效率,可以让我们专心做我们擅长的事,可以屏蔽复杂性,可以规范我们的架构和我们的代码,可以让我们的享受编程的乐趣.Yeoman可以做到. 很多年以前,rails刚刚出世, ...

  7. 黑马程序员-scanf函数

    变量的内存:字节和地址:1.变量的存储单位是字节,每个字节都有存储地址.2.不同的数据大小占用的内存带下不同拥有的字节数也是不同的.变量的存储:1.存储是按照,先存储的放在地址教高的位置,优先存储的地 ...

  8. bdb mvcc: buffer 何时可以被 看到; mvcc trans何时被移除

    # txn.h struct __db_txnregion SH_TAILQ_HEAD(__active) active_txn; SH_TAILQ_HEAD(__mvcc) mvcc_txn; # ...

  9. 关于H5本部缓存localStorage,sessionStorage

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...

  10. Cookie的设置与获取