由于我偏爱C++,所以以下几点不能少:
1、静态编译;
2、全局函数、类、模板、仿函数(。。也是类);
3、与C库的链接兼容性;
C++中的几个不要:
1、多重继承和与此相关的虚拟继承;
2、别的好像不多了。。。
需要加入或改善的:
1、可选GC,可能选择不使用GC/使用GC/使用引用计数方式(python方式);
2、接口interface;
3、委托;
4、改善的模板语法、推导决议方式;
5、丰富的内置类型/库。可以考虑一种实用主义态度,先提供基本类型,写出比较好的库,再把库实现为内置;
6、基本类型在各平台上定义为相同大小和精度,指针类型则是平台相关。某些平台上可以不提供某种类型,但提供了就要保证各平台上的一致性。
7、可选的自省能力。这个对其它部分的运行并没有影响,为何不提供呢。。
8、可以编译为字节码,运行于虚拟机上。
以上第5条我比较在意,例如:如果这个语言支持正则表达式,那么我在源代码中直接使用类似javascript的正则表达式对象,不是更爽吗?比如regexp_t re = /^\d+.*$/m; 当然还需要提供从字符串生成的方式,比如:regexp_t re = regexp_t.compile ("^\\d+.*$", "m"); 相似的还有xml、xpath/xquery、xml schema等内置类型,当然也包括complex、set、list、vector、string等类型了。
先空想到这,有空继续做梦。。
1、静态编译;
2、全局函数、类、模板、仿函数(。。也是类);
3、与C库的链接兼容性;
C++中的几个不要:
1、多重继承和与此相关的虚拟继承;
2、别的好像不多了。。。
需要加入或改善的:
1、可选GC,可能选择不使用GC/使用GC/使用引用计数方式(python方式);
2、接口interface;
3、委托;
4、改善的模板语法、推导决议方式;
5、丰富的内置类型/库。可以考虑一种实用主义态度,先提供基本类型,写出比较好的库,再把库实现为内置;
6、基本类型在各平台上定义为相同大小和精度,指针类型则是平台相关。某些平台上可以不提供某种类型,但提供了就要保证各平台上的一致性。
7、可选的自省能力。这个对其它部分的运行并没有影响,为何不提供呢。。
8、可以编译为字节码,运行于虚拟机上。
以上第5条我比较在意,例如:如果这个语言支持正则表达式,那么我在源代码中直接使用类似javascript的正则表达式对象,不是更爽吗?比如regexp_t re = /^\d+.*$/m; 当然还需要提供从字符串生成的方式,比如:regexp_t re = regexp_t.compile ("^\\d+.*$", "m"); 相似的还有xml、xpath/xquery、xml schema等内置类型,当然也包括complex、set、list、vector、string等类型了。
先空想到这,有空继续做梦。。