编程语言歪述

来源:互联网 发布:罗森堡夫妇 知乎 编辑:程序博客网 时间:2024/04/28 02:09
现代网络的发展,越来越多的应用都搬到Internet上来了,强调用户体验。相应的编程需要开放性的语言,动态装入,动态执行,远程互动(互操作)。基于工程重用,又有了各种模式之说。所以对编程语言的不断提出要求。虽然,笔者认为,C/C++已经够好了,能满足绝大多数的场合,那么,是什么动力促使Java,C#等语言推陈出新?是不是仅仅是上游供应商的升级换代赚$的鬼使神差?还是广大程序员的理所当然的要求呢?
那么,上游供应商又吸收了原有的语言的特性上又集成了什么“先进的功能”呢?这里说这些显然多余的,因为广大程序员已经接受了诸多概念,并在编写系统的过程中得到体现了,理所当然的事情就不需要强调了。
应该说,每一个新增的语言特性都是机遇一类的“方便性”需要策动的,而且这一类是多数程序编写过程中都会遇到的。说到这里,我强调一点,由于复用和分工的需要,提出了层的概念。层,初时并没有严格的定义,后来MIS做多了,网上BBS交流多了,于是DB层,数据访问,通讯层,业务逻辑表示层等概念的含义越来越确切了。由于层越来越清晰,也出现了系统编程的分工,有人专门编写中间层(数据访问,通讯层和部分业务层、表示层的集合)。
由于层的出现,显然对于object 与object的信息交换很是重要频繁,于是动态语言就有了较大的市场需求动力,虽然对于C++来说用以下方法也可记录成员数据并能动态交换:

#define InitMember(p,val) g_EnvVariant->RegMember(this,&p,typeid(p).name(),#p);##p=val;
InitMember(Left,0);//这样就可以记录Left的名称,类型,地址等,交换的时候可以用通用的循环即可。

但是,更多的“懒惰的”程序员还是选择了Java,C#等语言来完成。但是,我们又看看Java的JNI,我们又发现,其实Java的核心也是C++完成了几乎全部。于是感慨,是不是C++给上游的厂商用得多,而下游的用得少?多家企业的经历让我体现到,用C#@.NET的程序员的薪水比起C/C++少很多,是不是老板选用的唯一理由呢?

语言正在设计中,敬请发表意见
http://community.csdn.net/Expert/TopicView3.asp?id=4690611
原创粉丝点击