学了这么长时间,还没成为高手,发现一个问题,C\C++编译器都不支持中文变量

wyh4030 2004-10-19 12:35:13
学了这么长时间,还没成为高手,发现一个问题,C\C++编译器都不支持中文变量
比如 int 高程;
class 动物
{
};
这样形象直观,又不破坏C\C++关键字及语法,易学,我想对中国人学编程帮助很大.
不知高手能否想出点子?
...全文
269 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Maconel 2004-10-21
  • 打赏
  • 举报
回复
to wyh4030(wyh4030):
我的习惯还是用英文。读代码时,如果代码里有中文出现,总觉得很不舒服。
如果为了能快速理解代码的意思,我建议在尽量多加注释(注释当然是中文了)。
你不要只凭想象,vb是支持中文变量的,甚至还可以自己把vb的函数封装为中文来用,建议你自己用中文写一段代码来体会一下。
wyh4030 2004-10-20
  • 打赏
  • 举报
回复
看看老罗的缤纷天地回答,专业多了
//////////////
听别人说通过修改编译器可以做到.,我不是很清楚,但是我想这几乎不可能.

所以,可以这样做:

建立一个汉字转英文的对应表,如:

类=class
窗=win
口=ke

... ...

每一个汉字对应的字绝不相同,基于编译器有255个字符的限制,我们可以使用其它符号:

类=lc
临=n_e

等等,反正,要保证汉字在10个字内对应的展开字符不会超过255个.

然后,在编译之前先由你打开文件,查找除注释外的所有中文字符,替换成你对应的表,再编译.就行了.

同时还要考虑到include,碰到要跟进去.等等.

我给个思路而已,原理上可行的,慢慢写吧....
同时要尝试写自己的IDE,因为为了能正常显示错误的中文变量/常量使用,你需要接管编译器的输出,同时汉字表中对应的表结尾以自己定义的字符结尾,这样,捕捉到编译错误时,先一行一行地处理,把里面对应的英文转成中文再输出.等等.

说到这里,我最近也有这样的想法,我在写MASPlus,本来尝试修改MASM的编译器,没任何头绪.

建立汉字对应的表可以自己写一个程序来输出.


wyh4030 2004-10-20
  • 打赏
  • 举报
回复
回FallenAngel(堕落天使)
我知道你英语好,那你干吗用中文windows,你用英文去好了,人家可不会跟着你!
没英文操作系统是他肯定说英文好好的,干吗中文,有中文时,就说还是中文方便,
如果一开始变量就没限制英文的话,当后来只能用英文是,这家伙肯定会吗干吗只有英文的
一个技术垃圾!!!
happyct 2004-10-20
  • 打赏
  • 举报
回复
晕,用中文做开发,我看会更麻烦,就那些关键词也记不住。中文汉字太多,歧义也多,个人感觉会比较麻烦
Maconel 2004-10-20
  • 打赏
  • 举报
回复
to wyh4030(wyh4030):
没有试过易语言吗,你会发现那就是你想要的。

整数型 变量1
变量1 = 10
消息框 “变量1的值是:” + 到字符串(变量1)
wyh4030 2004-10-20
  • 打赏
  • 举报
回复
用中文变量-大家注意变量啊,可以用来封装mfc来,其中的全局变量,宏(有时vc宏真多,搞不懂,而美国人看看宏名就知道意思),函数名都可以汉化,这样你看源码.速度就很快,大家看过mfc源码吧,那的一句一句去看,还要仔细去分析,不过我想美国人读码的速度肯定比中国人快多,就象中国人看美国书籍,你英文不好,你的一句一句的读(经常要考)啊,而中文书籍可以一页一页的看(你不要仍我啊,我有时看几句就基本理解一页,我想你也是!),我想源码也是,有时基本理解意思再仔细看,肯定理解的更快!
wyh4030 2004-10-20
  • 打赏
  • 举报
回复
堕落天使)
关键字与变量名你要区分啊
FallenAngel 2004-10-20
  • 打赏
  • 举报
回复
另外,它比C++预编译成C或者C预编译成asm要简单的多的多,一个中文“关键字”表,宏替换一下,不就行了
FallenAngel 2004-10-20
  • 打赏
  • 举报
回复
to wyh4030(wyh4030) ( )
第一段,语意模糊,不太清楚你在说什么,似乎是说我是一个只会英语的技术垃圾,我应该是一个英语说的半调子的,从来不做软件技术的人,呵呵,只是偶尔自己写两个程序玩玩
第二段,没办法,我是坚决不支持所谓把关键字、变量改改名成了中文,于是乎就说是中文编译拉,降低学习曲线拉等等的人。当然,我没办法提出异议,因为,我也没办法说我心目中的中文编译器具体是一个什么形象,但是,就改改关键字之类的东西,我也决不会认同。

另外,你那第二段,实现起来不就是一个预编译器吗?和以前把c++预编译成c,把c预编译成asm是一回事情,很麻烦吗?只是你没办法(因为不是官方)定义一个标准的所谓“关键字”罢了
落伍的小农 2004-10-19
  • 打赏
  • 举报
回复
呵呵,讨论!
什么时候中国人能自己开发一种语言就好了!
hong_qi 2004-10-19
  • 打赏
  • 举报
回复
等unicode普及了,这个问题会自然解决。
wyh4030 2004-10-19
  • 打赏
  • 举报
回复
回复:Maconel(Maconel)
vb好像也不可以,易语言就是把C\C++关键字及语法也改变了,让人觉得C\C++关键字及语法辛辛苦苦白学
用中文来做变量名,大大降低了代码的可读性?不会吧!真不知是不是Maconel把英语当成母语
Maconel 2004-10-19
  • 打赏
  • 举报
回复
vb可以,c#可以,易语言可以,其他的就不知道了。
不过用用就知道了,用中文来做变量名,大大降低了代码的可读性。
当然如果你想别人看不懂你的代码,倒是满有用的。
FallenAngel 2004-10-19
  • 打赏
  • 举报
回复
你用的是紫光或者是微软拼音吧,我也用的,用它就是为了能在注释里面写中文!
不过,常常想写英文的时候变成了中文,想写中文的时候变成了英文

另外,//我提议英文变量其实简单,就好像人取名,你英国人叫make,中国人叫麦克,很正常,你中国人一定的叫make
英文是mike吧,你说的make,我只想到了编译

再另外一回,这样只改变量的命名方式的话,看不出能傻瓜到哪里去,所谓降低学习曲线,更是搞笑
我不懂电脑 2004-10-19
  • 打赏
  • 举报
回复
c# 可以。
vc++ .net不知道可以不。
futulove 2004-10-19
  • 打赏
  • 举报
回复
对,我见过易语言,全是汉字的,
wyh4030 2004-10-19
  • 打赏
  • 举报
回复
纯粹搞笑
////
我对一些自以为是的牛人很感冒,不知自己跟美国高手比差距有多少,就跟印度程序员比比吧(印度可是英语国度,不要我们中国也把英语当国语吧,那很多老百姓要自杀!),难道是中国人太笨吗,不如美国人印度人,不是的,是他们在搞技术垄断,一些所谓的中国牛人自以为会用vc等编程,敲英文命令就牛的不的了,那只是在中国牛,到国外去,菜鸟一个!
//我提议英文变量其实简单,就好像人取名,你英国人叫make,中国人叫麦克,很正常,你中国人一定的叫make,很别扭,人家听不懂啊,可是对中国人初学(只能这么说了,不然牛人又要跳起来了)我想是会学习曲线陡然下降,而且一点也不改变C/C++ 语法,你英语行就用英语,英语不行就用汉语!
wyh4030 2004-10-19
  • 打赏
  • 举报
回复
烦,CTRL+SPACE一直要切换,我不会用的
连注释我都希望写成英文的,呵呵
//////////////////
好像不要这么麻烦啊,按shift键就可以切换!
让我封装一个
class 窗口
{
HWND 建立窗口(LPCTSTR 窗口类名,LPCTSTR 窗口名....);
显示窗口(HWND 窗口句柄);
}
//////////////
好像傻瓜都会编程,学习曲线陡然下降,希望高手开发,我第一个买.
东北猫 2004-10-19
  • 打赏
  • 举报
回复
有一套 “易语言”可以用中文编程的, 不过大概相当VB的样子吧,不太了解了,你来研究研究?呵呵
cchao 2004-10-19
  • 打赏
  • 举报
回复
我出一个点子

自己按照中文的思路发明一套计算机理论,硬件系统,操作系统和编译环境
而且最好不要叫计算机
加载更多回复(3)

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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