回复 老兵帅客 的帖子; p; K$ n+ [2 j; n8 g. o' {0 v
# z k" ~$ {1 f# J! r6 r
呵呵,我主要是从项目与用途的角度看的。, y1 x* d8 M1 W, H
具体到技术层面,我只会用java。。。而且水平一般。.net的感受来自对其他人与项目的观察与交流。基本就是上面说的那些。$ P' ^, V! ?$ M m
.net基本上是一个封闭的平台,也没有考虑过跨平台。所以,在效率上具有优势,你说的那个语言级访问数据库,我真不知道。不过这个也可以看作是一种效率的优化,至少是一种尝试。 ; ^: B9 K9 U2 y7 p2 F; jjava最初也是面向桌面应用的,我当初学的时候没事就画个图神马的,虽然后来就再也没有用到过。在我看来,java真正的革命性特性是反射(具体哪个版本出现的已经想不起来了)。没有反射,jdbc、参数化配置以及各种华丽的框架就都扯淡了。没有了框架后来的主战场——企业级应用也就不可能出现了。现在吃java饭的基本都是J2EE,主要的推手就是18M。开源社区也有18M的影子,比如eclipse是哪来的?而且开源社区开花多,结果少。营利模式基本靠着被收购,否则就是练手,赚吆喝。9 i3 U* S' G0 T
虽然java是SUN发明的,但是真正赚到钱的却是18M与Oracle。现在,18M的股价已经超过M$了。SUN去那里了呢 ?+ g( A* l( A8 n6 c" ~
java技术上百花齐放,业务上一枝独秀。实际上本来就是在90年代中后期抬出来对抗M$的。一种语言范围内的自由是假自由,平台的自由更自由,至于什么是真自由,这个我也不知道。。。9 D, A- T& J$ a0 e, r E
, t' w2 A/ Q R8 m( @2 ?8 W% U2 A8 d在wikipedia上搜了一下reflection C++。/ E' h `; O$ I5 \: z2 E4 e
Qt/C++) v( ?5 O$ M& f' U! _# a
4 O: z0 c9 _/ dQt 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.
回复 老兵帅客 的帖子# P, m; Q* Z& _
6 ^/ R. z( a4 z, \6 X- G# B) S
澄清一点,Linq和Linq to Sql不是同一个东西。0 x& A5 T( Y) L( P2 \5 x! r
Linq是.NET引入的一种新的语言特性,是一种类似于sql的集合操作语法。Linq是个有意义的尝试,有了它对集合操作的coding效率大大提高了。Linq可以操作所有集合类型(例如System.Collections命名空间下的所有集合类),除了Linq to Sql之外,还有Linq to Xml, Linq to Dataset等等。 / h, ^3 n$ C0 k0 x& H % c. D9 f p5 Z" P8 NLinq to Sql是架构在Linq上的一层对数据库访问的支持。对数据库的访问还是通过API来做的。微软停止的是API的开发,Linq的语言特性是保留的。