其实吧,我最近在想.net和java平台的区别到底是什么。每次做一个基于java平台的系统,最先面对的问题就是架构。开源的,商业的,山寨的,根据预算规模和项目级别先挑一个。而.net只有一个问题就是用还是不用。多则惑,少则灵。选择太多也不好,而且java人员的技术背景也是五花八门。0 D5 H+ w1 }5 y
我以为.net的优势在于时间快,人员素质整齐。虽然单一,但是熟练度也高,学习曲线不是那么陡峭。适合中小项目的开发,不过受平台限制,一般也就仅限于此。 ) y( i3 h* p W* d/ x f+ B而java的优势在于空间。能够在各种平台灵活部署,甚至各种平台间形成集群,这个好像别的还真不行。只是流派太多,如果一直使用开源框架,上手别的分支还好。可是如果一开始就使用的山寨的封装框架,可能换个环境就不知所措了。。。大型的政府或银行机构的项目至少我见到过的多是java的系统。还有一些老的系统是C的,都处于维护期。' w' z- j5 T' d+ x. Z+ G I. A
不过java或者其他的新语言发展的确实比较快,很多新概念都是首先提出来的。如果是用来学习和研究,再好不过了。 ( N; B' C. a- |7 Q1 T) c至于语言本身倒是差别不大,区别在于用途。每次我想给自己做个什么小东西自己用的时候,面对java都有无所适从的感觉。。。
回复 老兵帅客 的帖子, n1 z7 L& ~8 }$ v2 P( c6 B
* g! u4 \, m" H
在wikipedia上搜了一下reflection C++。9 g0 Z2 v* S& ]' a
Qt/C++0 L7 S; u- e$ i% k5 ?" T
, [+ U5 A% d* O* I" A7 vQt framework extends C++ with its meta-language and provides reflection ability of member/method reference and query by name for Qt objects with QMetaObject class, which contains meta-information about the Qt objects.
Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.
% A; C w! ^- }% N9 G; E$ \$ W* T: c
貌似并不能直接支持,但是可以实现类似效果。 6 e) N5 l! R! v5 a. Lc++ reflection . m: P/ S% h; L+ V