c中的败笔,以及C++后来的败上加败。

何哀何欢 2005-11-25 07:40:20
这是多么的简洁:

int DoSomeThing(int b){
b++;
}

而这个呢?在c中就有:

struct OneThing{

};

C++:
class OneThing
{
public:
int b;
};

这就不统一了,就像 函数不需要 function int DoSomeThing() 一样,结构为什么要写struct关键字?这样不是更好?

OneThing{

}

就如函数不需要用“;”结尾一样,结构也不该要。所以后来C++跟着失败,有搞出了class关键字,namespace关键字。

++,-- 多么好,多么简洁。而private,public又是那么木讷,就像basic一样。
所以,原汁原味的C++当时这样的

aNameSpace{
OneClass{
- int B;
# string Name;
+ string GetMe(){
}
}
}

当然编译器就需要做更多的事。但这是趋势。
...全文
1068 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
AManWanttoMarriage 2005-12-02
  • 打赏
  • 举报
回复
C和C++不是哪一家的东西,而是一个标准的东西,标准一旦确立,除特殊情况外事部允许更改的。所以如果你认为他们不够优美可以选择其他语言。但标准委员会不会因为某个人认为c,c++语言不够优美而从新改变语法规则的。
viploki 2005-12-02
  • 打赏
  • 举报
回复
楼主的意思是他描述他的想法,再叫一个人给他翻译成代码。
ltolll 2005-12-02
  • 打赏
  • 举报
回复
至于
--------------------------------------------------------------------
++,-- 多么好,多么简洁。而private,public又是那么木讷,就像basic一样。
所以,原汁原味的C++当时这样的

aNameSpace{
OneClass{
- int B;
# string Name;
+ string GetMe(){
}
}
}
----------------------------------------------------------------------
的确出于代码输入量和"原汁原味的"的考虑确实可以用"-","#","+"(这样做只不过让编译器多做点事情而已),如果这样可行的话我们为什么还要保留auto,static,register,extern,while,continue...这样冗长而又没有什么"C语言味道"的关键字呢,我们为什么不让@%^&*这些符号(及其组合)都派上用场,我敢保证,你那样做代码将进一步"简洁".当我们用@@代替了while,用$$代替了switch,用%%代替了unsigned...我们将对满屏的符号兴奋得惊叫起来:天啊,看看,我写出的源程序又可以节省硬盘上的几百个字节(这里没提到程序运行时宝贵的内存,是由于经过编译和连接存储于内存的变成0和1程序并没有因为这么做而有什么变化)
所以如果你为了"简洁"和"原汁原味"而不惜抛弃可读性的话,你完全可以这么做.
archim 2005-12-02
  • 打赏
  • 举报
回复
楼主应该按顺序完成下列几件事情:
1. 设计一门自己看的顺眼的语言
2. 设计这门语言的编译器
3. 向IT界推广这门语言
blooney 2005-12-02
  • 打赏
  • 举报
回复
呵呵,就好比每年都有一些民间高人说自己解决了××××猜想,送给国际上的这个会议那个专家啥的看,人家连看都不看就丢到垃圾桶里,说这些人缺乏基本的数学修养。。。
xpzheng 2005-12-02
  • 打赏
  • 举报
回复
呵呵,楼主引起众怒了
ltolll 2005-12-02
  • 打赏
  • 举报
回复
在上面的回答中,如果楼主已经明白了结构体是一种数据类型,而不是函数或者其它什么别的东东,那么结构体声明时后面的那个";"就不难理解了.当你敲下它时和敲下int a;后面那个";"一样自然.
EnginePlus 2005-12-02
  • 打赏
  • 举报
回复
楼主火星来的吧?

ltolll 2005-12-02
  • 打赏
  • 举报
回复
结构体是一种数据类型(与函数不是一个层次上的概念),与其它基本数据类型一样,在声明时需要用struct关键字,如果省略struct,你让编译器怎么知道你声明的是一个结构体类型呢?使用struct来声明一个结构体和使用int声明一个整型量并没有什么概念上的区别(也就是说struct和int,char,float...是同一级别上的概念).如果你同意int不能省,那么struct就不能省.
索思索想 2005-12-01
  • 打赏
  • 举报
回复
我是来寒五楼ID的,鄙视地球人一刚……
zixiu2008 2005-12-01
  • 打赏
  • 举报
回复
ML,Haskel等语言当中有楼主想要的类型系统
  • 打赏
  • 举报
回复
有些简化是没有什么意义,甚至是起副作用的。
pagechen 2005-11-30
  • 打赏
  • 举报
回复
不喜欢就自己做一套出来沙。我的理想就是教会电脑如何去学习,这也是趋势吗?
太理想化了,实现真的太不容易,要有好多方面的准备才行。努力ing
大菠菜 2005-11-30
  • 打赏
  • 举报
回复
great~
sandrowjw 2005-11-29
  • 打赏
  • 举报
回复
强烈建议楼主用Lisp去……
supf 2005-11-28
  • 打赏
  • 举报
回复
期待中>>>>>>>>>>>>>>>>>
Tycool 2005-11-28
  • 打赏
  • 举报
回复
定一套规矩,又要考虑不啰唆又要有可读性,规则而已嘛
mr_xz 2005-11-28
  • 打赏
  • 举报
回复
楼主说的东西有些像动态语言,动态语言,如python,确实有类似的形式,但是C++不是动态语言,他还是比较底层的,不会像楼主那样的改动。况且,C/C++已经有了这么多年的历史,不可能说改就该的,如果要改,那就在创立一门语言,不然你把C/C++改的不伦不类,可能就没人考虑用它了,毕竟大家不是每天没事看语法玩的。
qfeng_zhao 2005-11-28
  • 打赏
  • 举报
回复
在你这样说c++之前,先了解他
等你了解他之后,相信你也就不会这样说了
祝楼主好运!!!
getter 2005-11-28
  • 打赏
  • 举报
回复
樓主,期待你的編譯器...
加载更多回复(28)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧