其实吧,我最近在想.net和java平台的区别到底是什么。每次做一个基于java平台的系统,最先面对的问题就是架构。开源的,商业的,山寨的,根据预算规模和项目级别先挑一个。而.net只有一个问题就是用还是不用。多则惑,少则灵。选择太多也不好,而且java人员的技术背景也是五花八门。6 j3 L! g+ U9 u, i
我以为.net的优势在于时间快,人员素质整齐。虽然单一,但是熟练度也高,学习曲线不是那么陡峭。适合中小项目的开发,不过受平台限制,一般也就仅限于此。 ( Q, E+ Q4 P. j$ p而java的优势在于空间。能够在各种平台灵活部署,甚至各种平台间形成集群,这个好像别的还真不行。只是流派太多,如果一直使用开源框架,上手别的分支还好。可是如果一开始就使用的山寨的封装框架,可能换个环境就不知所措了。。。大型的政府或银行机构的项目至少我见到过的多是java的系统。还有一些老的系统是C的,都处于维护期。7 }6 O) |7 ` f. U- D# G
不过java或者其他的新语言发展的确实比较快,很多新概念都是首先提出来的。如果是用来学习和研究,再好不过了。' k$ o1 ~9 F. e/ u' o2 X9 L1 g P
至于语言本身倒是差别不大,区别在于用途。每次我想给自己做个什么小东西自己用的时候,面对java都有无所适从的感觉。。。
回复 qqq54 的帖子* W& R& X; R8 }4 V5 j
' x: a, m, C T0 w o* k# m
我这里也一样,从1.4到java 6,用上7起码是明年的事情了。另外,目前支持java7的java ee服务器只有glassfish 3.1.1,因此要等到websphere和weblogic都支持了,它才会有市场吸引力。
Qt/C++ 0 }1 B+ m8 l4 f( P6 ? ! |% V6 I! ]7 n' s- O& q, l0 lQt 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.
/ z; [; v. ^. z貌似并不能直接支持,但是可以实现类似效果。 . C$ I q; V- m- b8 F* K1 F7 Wc++ reflection 0 N# n9 s" N' t2 Z! S, y- [2 L7 a
回复 老兵帅客 的帖子+ e) ]$ e& \2 v- v) Z- p. @
; Z4 n9 j6 p, o# @* I
澄清一点,Linq和Linq to Sql不是同一个东西。 % D# i, D5 ]/ z" m4 n1 FLinq是.NET引入的一种新的语言特性,是一种类似于sql的集合操作语法。Linq是个有意义的尝试,有了它对集合操作的coding效率大大提高了。Linq可以操作所有集合类型(例如System.Collections命名空间下的所有集合类),除了Linq to Sql之外,还有Linq to Xml, Linq to Dataset等等。 $ p% W H2 k! ?1 e3 V6 d' d. Q. ?0 G! N2 [# P' o& H
Linq to Sql是架构在Linq上的一层对数据库访问的支持。对数据库的访问还是通过API来做的。微软停止的是API的开发,Linq的语言特性是保留的。