问题描述
基于中间语言:以下是我对.NET平台以及其他编程平台的建议:C#代码实现图形化输入。比如数组:在左侧边栏点击数组,在弹出的框中输入数组名、维数、弹出框下部自动生成的数组表格中填写数据项。数组是序列化的组合数据。但可以人为给每一项添加键名,使其数据具有两种检索方式。C#编程图形化可以使得初学者快速习得C#。重要的是它让编程减轻了工作量。再如点击左侧边栏“循环”标签在弹出的界面选择For语句。接着弹出FOR语句设置界面填写区间、步长。在“代码块”框中输入语句,对象可以直接从对象显示栏里拖拽进入话语框。我觉着C#图形化编程后一年的工作量可以在半年内完成,即使是老编程员也一样。变量和属性概念合二为一;取消bool类型设置delta类型:-(exception);0(false);1(true)(异常不是错误,指非0非1情况),那样逻辑代码可以进一步简化。/*祝你长寿*/classGrammar:English{a=1varpublic;b=1stringpublic{get:b;set:b=value}//变量和变量的属性语句。//组合数据类型。c=[(<1,2>,<3,4>,),(<5,6>,<7,8>,)]var[,,]public//更多为数组运用[(<>)]交替//属性引用组合数据d=["姓名":("01":"张三","李四"),"性别":("02":"男","女"),"年龄":("03":"44","55")]string[,]public{get:returnd[keyName.keyName]或d[INDEX.INDEX];set:d[keyName:value1,value2]或d[key:value1,value2]}//methodobject将返回字符串数组。string[2]ToStr(int[],string,delta)="欢迎使用函数"stringstringpublic{//忽略第二个返回,默认返回nullprint("英语问:'你现在多大了?'汉语翻译:'你怎么还没挂?!'");}x=d["姓名.01"]//同x=d[0.1]print(ToStr(*));//["欢迎使用函数",null]print(ToStr([2,3],"2",0));//["英语问:'你现在多大了?'汉语翻译:'你怎么还没挂?!'",null]}希望微软能加快革新.NET/C#的步伐。在这里向微软那位十多岁的女天才编程员默哀!一鞠躬:你是多么漂亮;二鞠躬:时间是多么宝贵;三鞠躬:这一切确实可以避免,即便你的工作量比原来更大。以下引用《C语言程序设计》——K.N.King每章开头教学语录(尽管咱看不懂它的书)。只要有模块化就有可能发生误解:隐藏信息的另一面是阻断沟通。——还应该更人性化一点如果程序操纵着大量的数据,那它一定是用较少的方法办到的。——VS的WPF不错,后台编程也该那样。如果你有一个带了10个参数的过程,那么你很可能还遗漏了一些参数。——事实上VS让自学编程者完全兜不住,最多编个ASPX程序。我记不清第十一条戒律是“你应该计算”还是“你不应该计算”了。——我在考虑即使把ASP.NET网站中所有关于.NET/C#的书籍买来也没用。我似乎已然耗费了千万次递归,生命有限爱无限——致以我们亲爱的日本AV女优XXXX。定义变量很容易,但要时时刻刻控制它却很难。——.NET定义了太多东西,it'sanimposiblemission——你看,我很怀疑那是自然语言的派生类还是恰恰相反。先繁后简,而非先简后繁。——现在是到了不兼容/淘汰一些东西的时候了!优化阻碍发展。——不如百揽语言众长,再定义一个全新的平台、一门全新语言——我是说一个面向普通人的平台;普通人的编程语言。既然是面向对象的语言,那软件运行的成本就不要再考虑了(那是硬件的事),看重的就是语言的强大开发能力。既然设置了中间语言,个人觉着用于人机交互的上层语言就应该尽可能面向人类(迁就机器的事就由中间语言一手承担吧!)。比如数据类型就可以按照人的理解去做:类、全局/局部变量、函数等都是对象,所以类极其成员都可以设成静态的,且其类型变量能实例化它。以后将数据类型按照数学、自然语言的方式分类未必不行呢?所以请各位以后出书时那样解释——类成员从处理形式的维度分:1.处理单值数据的对象;2.处理组合数据的对象;3.处理函数数据的对象。而从返回值数据类型维度分:int/int[]/string/string[]/...——两个维度定义一个对象逻辑坐标。就这么简单。最后我要说的是:“基于中间语言的高级语言,它不应该是面向编程行家的;它应该是面向有心写程序的广大编程软件用户的。”
解决方案
解决方案二:
哪里copy来的。
解决方案三:
首先,编程是定义算法,数据的来源不应该来自程序本身,而来自外部,那些课本上的练习题才有先给数组赋值,然后处理的例子。每一项添加键名的功能就是泛型集合,事实上,有了集合,现在数组用的很少了,除非有性能要求。虽然没有“点击左侧边栏“循环”标签在弹出的界面选择For语句”,但是按一下快捷键ctrlK,ctrlX,就会弹出一个让你选择For语句的功能。变量是值,属性是方法,这个怎么能合二为一?异常虽然也是一直返回方式,但他的返回处理是不同的,你不过是需要一个三态的类型,定义一个枚举就能满足你的delta类型需求。
解决方案四:
我自己想的。主要是看破红尘了
解决方案五:
该回复于2012-03-22 15:28:26被版主删除
解决方案六:
对不起,楼主,我只看了你写的第一段。首先,你所谓的图形化输入,这跟语言或者说.net平台一点关系都没有,这是编译器的工作。第二,你想跟数组加Key,如果你有这种需求可以用Dictionary。数组仅仅是数组,就好像轮子仅仅是轮子,你想把轮子当汽车用,那你需要的是用轮子做一个汽车,而不是把轮子改成汽车。第三,你想把快捷输入循环语句,那我告诉你,VS有代码段的功能,你输入for之后按tab,这绝对比你想要的傻瓜式拖拽要方便的多。第四,变量和属性合二为一,麻烦你弄明白什么是变量,什么是属性。为什么会出现属性这个东西。基础先学好再研究提意见,少年。第五,bool值,你知道“?”这个东西吗?bool?不能符合你的要求???第六,“我觉着C#图形化编程后一年的工作量可以在半年内完成,即使是老编程员也一样。”除去部分UI模块外,我实在看不出图形化编程有什么优势,不管是速度还是质量。傻瓜式编程只是适合胶水型程序员。你把程序员叫做编程员,也许这是对胶水型程序员更好的称呼。
解决方案七:
变量是值,属性是方法,这个怎么能合二为一?预定义前提:一切都是对象。只有对象。每一项添加键名的功能就是泛型集合,事实上,有了集合,现在数组用的很少了,除非有性能要求。这里没有定义具体数据类型,只是分了组合数据这个类别。其他问题小弟我学英语出生,抱歉。
解决方案八:
我的感觉就是,一个只会开自动挡,踩刹车油门握方向盘连发动机长什么样都不知道的司机在评价一辆车机械部分设计的优劣,并且提出了自己宝贵的“意见”。
解决方案九:
一切都是对象,只有对象,没错。人的身高是变量,但是你给人的身高赋值为负数,代表什么意义?为了防止写程序写的晕头晕脑,给身高赋值了一个负数还不知道,就在赋值前检查一下,这个检查的方法放在哪儿好?
解决方案十:
1.lz知道WF是干嘛用滴吗2.鼠标操作就真的像你说的那么好吗?呵呵其实大多数程序员超级烦鼠标操作,一个很简单的事实是,编写纯粹的逻辑需要2分钟,而在界面绑定数据时却要用起码6分钟。即时是现在MPF号称的MVVM状态下,我想那些程序员在Xaml里面鼠标绑定数据的过程也同样是一件纯粹耗时间的纯体力活3.另外人跟你用过vs2010下的一款正则表达式插件,你就会明白这种体验是多么的糟糕,我new一个Regex就立马蹦出一个框框,我得先把鼠标移动过去,然后在做一些正则测试,然后我点ok,他给我插入代码。当初我装这个插件的唯一目的是让他跟我检查测试我的正则表达式是否可以按我想象的方式运作。可惜这种体验是实在是太糟糕了,所以我第二天就卸载了这个插件
解决方案十一:
lz我推荐你去《走进科学》《我爱发明》现身说法。
解决方案十二:
引用7楼wddw1986的回复:
我的感觉就是,一个只会开自动挡,踩刹车油门握方向盘连发动机长什么样都不知道的司机在评价一辆车机械部分设计的优劣,并且提出了自己宝贵的“意见”。
有没有想过面向对象本身就是指:面向人有精益求精不容有失的精神头——请面向过程。毕竟语言多得是,听说又出了个GOOGLEgo
解决方案十三:
引用8楼hztltgg的回复:
一切都是对象,只有对象,没错。人的身高是变量,但是你给人的身高赋值为负数,代表什么意义?为了防止写程序写的晕头晕脑,给身高赋值了一个负数还不知道,就在赋值前检查一下,这个检查的方法放在哪儿好?
你冤枉我,我没给人的身高赋值为负数。所以后面是true仍然是false。另外面向对象的语言的前提:我假定是必须具有中间语言。它才是专家。
解决方案十四:
引用11楼howoldru的回复:
引用7楼wddw1986的回复:我的感觉就是,一个只会开自动挡,踩刹车油门握方向盘连发动机长什么样都不知道的司机在评价一辆车机械部分设计的优劣,并且提出了自己宝贵的“意见”。有没有想过面向对象本身就是指:面向人有精益求精不容有失的精神头——请面向过程。毕竟语言多得是,听说又出了个GOOGLEgo
哎呀,我的天呐,我第一次听说面向对象的本身就是指面向人,麻烦你先弄明白什么是面向对象好吗...此等大神我是招惹不起,小的先退下了。
解决方案十五:
引用11楼howoldru的回复:
引用7楼wddw1986的回复:我的感觉就是,一个只会开自动挡,踩刹车油门握方向盘连发动机长什么样都不知道的司机在评价一辆车机械部分设计的优劣,并且提出了自己宝贵的“意见”。有没有想过面向对象本身就是指:面向人有精益求精不容有失的精神头——请面向过程。毕竟语言多得是,听说又出了个GOOGLEgo
面向人的应该是软件工程,而不是语言。既然题干出问题了,那后面的就不用看了。
解决方案:
《我爱发明》这个栏目汇聚了一大批没有接受过系统教育,但是从小对科学充满兴趣,喜欢标新立异但是墨守陈规的,从不被世人认可却想改变世界的,愤世嫉俗郁郁寡欢。无所事事但是有唐吉诃德一般精神的,善于用土办法和废品为条件挑战高精尖世界难题的人,晚饭的时候播出这档节目,它为多少人带来了欢乐。
解决方案:
能看出你刚接触技术不久。先把基础打牢。如果你是学生,就多学几门编程语言:脚本,面向对象,面向过程,基于函数等等的,并且了解一下硬件结构,稍微学一学软件工程。如果你已经参加工作,多研究研究自己工作所用到的技术,并且多了解一下与这门技术有关的更好的技术,仍然的,稍稍学一下软件工程。最后,愿楼主不要走向学院派也不要走向民科,两条路都不是人走的。
解决方案:
刚开始学习,还不知世事,哈哈!
解决方案:
弄清楚什么是对象:只有主体才有对象。人、动物,都有对象。但两只鸡蛋在一起就没有对象感了。它们只有出于第三者(你或者我或者一只猫)的主观相对感——而此时你已经把两只鸡蛋当当成是一个组合数据类型的对象。这样说应该可以说通了
解决方案:
引用15楼caozhy的回复:
《我爱发明》这个栏目汇聚了一大批没有接受过系统教育,但是从小对科学充满兴趣,喜欢标新立异但是墨守陈规的,从不被世人认可却想改变世界的,愤世嫉俗郁郁寡欢。无所事事但是有唐吉诃德一般精神的,善于用土办法和废品为条件挑战高精尖世界难题的人,晚饭的时候播出这档节目,它为多少人带来了欢乐。
版主言重了,如果lz还是个刚接触编程,还没有接触到软件工程的人,这样打击不好。把更多的刚入门的人带上正途比较好。如果刚刚入门的人看到正派人士都恶语相向,估计真的就又多了一个人走向民科道路,而不是版主事先预知。
解决方案:
另外有一点没说,来回是鼠标操作,来回的UI切换将会打断程序员的正常思维过程包括我现在用的输入法,如果在坛子呆时间比较长。你就会发现,我们打字的时候,错字,漏字,倒装句,重复字词比较多。因为我们被输入法选词的过程给打断了。所以经常是脑袋里想了一句,打出来确实另一个东西,又时候读都读不通。好在都是坛子里混,都是同一个行业,大部分人还是清楚知道我们在表达什么滴ps:csdn不允许编辑自己的回复记录,所以我们不得不专门为错别字补充回复了
解决方案:
引用18楼howoldru的回复:
弄清楚什么是对象:只有主体才有对象。人、动物,都有对象。但两只鸡蛋在一起就没有对象感了。它们只有出于第三者(你或者我或者一只猫)的主观相对感——而此时你已经把两只鸡蛋当当成是一个组合数据类型的对象。这样说应该可以说通了
广义相对论提出的参照者让爱因斯坦陷入“是否有上帝”的思想黑洞,作为一个编程的人,你应该明白你是软件的造物者,你是上帝,对于你,主观相对于你,你的主观思想里面存在的都可以认为是对象,这解释的通。对于使用软件的客户,这一切都不存在。不要胡思乱想了。好好学习去。
解决方案:
图形化固然好,但拖控件有意思么,有进步么,好处也就是慢慢的就拖得更快,更准而已。底层的才是最重要的
解决方案:
对于狡辩,我还从来没有遇见过对手。楼主,该干嘛干嘛去吧,这个点学生在上课,工人在上班。就算是什么事儿都没有的人也不应该把这么好的时间浪费在没有理论根据胡思乱想上,最起码的还能去享受一下阳光和空气。
解决方案:
引用21楼sunzongbao2007的回复:
引用18楼howoldru的回复:弄清楚什么是对象:只有主体才有对象。人、动物,都有对象。但两只鸡蛋在一起就没有对象感了。它们只有出于第三者(你或者我或者一只猫)的主观相对感——而此时你已经把两只鸡蛋当当成是一个组合数据类型的对象。这样说应该可以说通了广义相对论提出的参照者让爱因斯坦陷入“是否有上帝”的思想黑洞,作为一个编程的人,你应该明白你是软件的造物者,你……
站的角度不同看待问题也不同。生意人角度管你什么语言什么框架,能赚钱就好。LZ最近想出书么?就叫《程序员也有梦想》怎么样!
解决方案:
对于使用软件的客户,这一切都不存在。不,它存在。一切都有前提。我们就是再说这个前提。它该是什么样子。倒让我感觉是在说潘多拉的盒子。不过还是谢谢你的教训。
解决方案:
引用24楼yes16ws的回复:
引用21楼sunzongbao2007的回复:引用18楼howoldru的回复:弄清楚什么是对象:只有主体才有对象。人、动物,都有对象。但两只鸡蛋在一起就没有对象感了。它们只有出于第三者(你或者我或者一只猫)的主观相对感——而此时你已经把两只鸡蛋当当成是一个组合数据类型的对象。这样说应该可以说通了广义相对论提出的参照者让爱因斯坦陷入“是否有上帝……
我想出家。出书只有你们道行高的人才能做的事情。敬等你大作。
解决方案:
额,lz可以试试看一个vs的插件http://visualstudiogallery.msdn.microsoft.com/en-us/55c24bf1-2636-4f94-831d-28db8505ce00当你输入:Regexr=newRegex(的左边括号时,就会自动弹出模式窗口如果你用过,你就知道,这个体验相当的糟糕。我们其实不希望过多的鼠标和UI切换打断我的工作。这种看着非常“贴心”的操作,严重干扰程序员的正常思路。你不得不停止思考,而在鼠标和UI间来回的跳转。我希望他能让我把东西写完,然后我想测试的时候,他在给我弹出来,而不是和贞子那样飞出来
解决方案:
疲倦了如何,没有疲倦又如何?疲倦了就永远不用了?讨论这东西有意义么?一切都是生活逼的
解决方案:
好!!鼓掌!!慢慢欣赏
解决方案:
引用25楼howoldru的回复:
对于使用软件的客户,这一切都不存在。不,它存在。一切都有前提。我们就是再说这个前提。它该是什么样子。倒让我感觉是在说潘多拉的盒子。不过还是谢谢你的教训。
存在个屁,你问问客户知道你在想什么么?他们要是知道就不会有那么多创新。客户的思维是你们团队思维的一个子集,才能有创新做出好产品。跟你说了,该干啥干啥去,想出家么?出家吧,像你这种没想开的人出家也不会成佛。没准儿也能成佛,在这我说一句对佛祖不敬的话:只有活在自己的幻想和梦境中的人才会成佛。真正的佛是小无止大无境的,说他存在就是存在说他不存在就是不存在。你有佛心你就是佛,你没佛心,只有一颗乱麻脑子的话,你把佛祖吃了你也不是佛。出家出家,有这颗心么就出家?成佛要有承担的,你出家了承担了什么?出家是躲避承担。别说什么放弃小我完成大我,都格老子的屁话,你捐助起来一座小学比那帮老和尚在庙里面蹲一辈子要强得多,蹲一辈子祈祷毛呢?成天冥想能让老百姓过的更好?成天念经能让失学儿童重新走进校园?成天打坐能让大地不受自然之灾?现在真正的佛不在庙里,庙里是一帮混吃等死的团队乞丐!!还嚷嚷着出家,你出家吧,那我骂的就是以后的你。
解决方案:
引用30楼sunzongbao2007的回复:
没准儿也能成佛,在这我说一句对佛祖不敬的话:只有活在自己的幻想和梦境中的人才会成佛
这句里面所有佛带引号
解决方案:
引用30楼sunzongbao2007的回复:
还嚷嚷着出家,你出家吧,那我骂的就是以后的你。
是的,指着鼻子骂呢!
解决方案:
看看技术贴。学习一下。
解决方案:
无语泪流
解决方案:
引用22楼love_wuwei_forever的回复:
图形化固然好,但拖控件有意思么,有进步么,好处也就是慢慢的就拖得更快,更准而已。底层的才是最重要的
其实也可以不用托控件,自己实例化一个控件,赋予其相应的属性也可以做到同样的效果。难点是,当程序或项目的复杂度过高,你怎么能管好那些你所认识的所谓的控件和别的调动。没有那个程度,你是体会不了的。其实微软做出傻瓜式的东西也是有理由的。
解决方案:
引用27楼wanghui0380的回复:
额,lz可以试试看一个vs的插件http://visualstudiogallery.msdn.microsoft.com/en-us/55c24bf1-2636-4f94-831d-28db8505ce00当你输入:Regexr=newRegex(的左边括号时,就会自动弹出模式窗口如果你用过,你就知道,这个体验相当的糟糕。我们其实不希望过多的鼠标和UI切……
其实楼上的很高境界了,应该差不多可以脱离IDE工作。其实提示的初衷是给初学者用的。这个你可以反馈,让微软搞成可以设置的...
解决方案:
.net上手应该算比较快,但做深了,同样很难,做业务应用开发还是比较不错的选择。当然,最NB的语言,当然是机器语言,你玩玩试试.
解决方案:
呵。。。。。。。高级语言用明白就不错了
解决方案:
典型的夜郎自大,或者说根本没做过什么东西,看了几本书而已
解决方案:
好吧说实话,我没有看完这篇文章,toochang了
解决方案:
能够实用就行了
解决方案:
好吧,我承认我没看懂,
解决方案:
请不要在还不了解一门技术的时候就评价它,更不要这么早就试图改善它。看了你的文章,我脑海里出现的第一个词汇是——瞎子摸象。
解决方案:
解决方案:
楼主最近精神上一定受到了巨大的打击。。。
解决方案:
吓我。。。。
解决方案:
这就是。net程序员。。。。
解决方案:
LZ你可以去试试LabView
解决方案:
果然是聊天打屁看热闹的好去处
解决方案:
你们把LZ吓跑了。