0 t& M3 N; G; i( k' _ 其实我认为,对于Visual C++本身的理解不是向你上面谈到的那么简单,Microsoft 8 H% k+ N# H8 b0 i4 a5 y
在开发Visual C++的时候是希望为其开发人员提供一个可靠的开发平台,便于用户可以 + U$ e* O' J$ V: |为Windows上面编写各个方面应用程序,包括:数据库应用程序,硬件驱动程序,网络程 6 ~! n1 Z o1 F& B0 b8 c) |, \序,多媒体程序,游戏程序等等方方面面,试想如果一个开发平台要同时完成这么多个 + Y. v& ]. @: b' ~! c; Y' {5 J0 u
方面的开发任务,是需要考虑多少的问题,因此Visual C++在设计的时候就考虑了提供 $ n* K, d2 t0 u6 x一套类库而不是直接提供黑匣子式的开发组件来完成开发任务,提供的类库MFC具有很灵 2 Q7 N3 i: f- h5 b4 u# O
活的设计结构,以及良好的继承性,同时配合DVS文挡视图结构来组织程序开发,虽然我 , ?1 T3 s- ?) T' M$ J0 `2 F& S, F0 h们承认利用VC开发程序(数据库方面的程序)没有其他的RAD开发工具来的快,但是如果 6 h4 w7 m( X! Y你真正利用VC来开发的话,你会觉得你不会去选用其他的开发工具的,对了各位听说个 ( ?/ o" U1 ^# T, T% z
多少开发人员是从VC熟练的开发师转向VB,Dephi的开发工具的吗,当然DVS结构本身也有 & r$ Y4 U- Q" _1 {7 G' w其很大的弱点,如很难重用。同时在CView中再嵌套CView的变得不可能。不过对于开发 3 B8 I, m9 P1 o: E1 {8 ^/ X
中小型的程序(代码在50万行以内的程序却是可以的了)。对于特大型的程序我想最好 ; c* ~6 _ U V1 q/ @, z2 @
可以借鉴一种新的技术叫做MVC的开发技术来组织你的程序吧。好了各位此些文字,仅代 . c5 o {9 w) i4 ]% q7 r3 v表个人之言,如果各位感兴趣可以到:http://www.ucancode.com上面看看。 0 @- L5 ~3 O1 Q; F) A
/ g8 V: D' `( ^- _/ k5 }1 _
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : 3 a& |1 W) ~5 M( F4 e7 k ( Q1 t Z6 u1 W3 F5 R* a8 z) ^
我一定程度上同意 恶魔吹着笛子来 的说法, * J; b/ N/ K2 C: v4 N! P 1 D0 i( Z9 ~; x" `! C
毕竟VC开发速度是比较慢的, , L9 `+ v, P" o0 Q# E : i1 r) a% h# k. o
而且硬件速度的大规模提升也为使用JAVA开辟了道路, : q+ ?8 j/ A3 x' X9 [$ H
1 |- m* j# o7 u' K+ d H 不过microsoft.net的目的是一定程度上改变MS的经营性质,和开发关系不是很大,但 ! P- a" n) |, c: G3 L
是MS的一贯方针都是在平台上为开发人员提供方便, ' C0 ]$ f& s5 x) m1 |! L- Y3 M , e( Z5 A& ]- S5 y' y
所以C#是为了.net服务的。 9 S6 k0 b/ p- {1 G( ]3 {& J % ^* [9 p$ i/ q/ c; k8 n0 T
; B8 _6 G, n% I$ E0 r" ^2 X
此外我想我没有精力再搞个c#help.net了。:-P 2 Z4 j5 p6 K/ T9 n" Y & Z) h% C6 O4 j2 C3 S& u, O" b" | 果子 来自 http:// : 0 i6 h h/ ]* d" i: j( @% b$ D
6 `. u6 H: V, J6 _5 h6 z "恶魔吹着笛子来"是比较“前卫”的一类程序员。我就听业界的人多次说过JAVA也是 ( o8 s B# r+ ?- A ; p. Y' G+ z- S" ^0 N5 ] ( U: B1 g3 M5 m! T 个吹得很响的东西,但实际如何,大家都看得见。至于认为C/C++开发工具(VC, ( W* ~2 Y6 N$ a* M; t2 a
5 Z* C+ u- ]; G' n BCB等)会在一两年内退出市场,就是无稽之谈了。 6 o+ W/ O0 k/ d7 q& ?. F$ ] $ V8 \) g. ~4 \) Z6 }5 l
Wesley 来自 http:// : , O4 i5 C; h( W3 T * T n- b; F2 t2 K- s! n
恶魔吹着笛子来,你的观点很有启发性。能不能写一篇或推荐一篇剖析、比较Java开 % |/ r8 D: u3 _- \" p
发工具的文章?比如Visual J++, JBuilder,以及Symantec和IBM的对应工具。(可能和 5 G3 c4 t, C' n0 Q. |* _7 }. ]
本站的初衷有些不合^o^) . I4 [6 D2 C6 l! a" D7 K" K7 j
+ k; \. h& Y3 Q; R
LeoCN 来自 http:// : ! u$ P n, f8 A5 }
+ [# ?* H; w- i. e9 \' ~! Y- q
It's not a time for us to determine which language will more better! 2 }- d" D$ b5 m& n2 ]+ G, P" u ' O3 _. z! N) t% e1 r in factly,In China,too many corporation just writting some codes for / I7 |. B, C/ l 2 b' ?9 \0 p O$ B s
enterprise's MIS,OA,ERP or other application.It do not need so speed . c z7 t0 v- K5 x' ?9 \" R+ u 1 t4 Y' `* a! \% \ and do not need so good original code. just want more data,more easy and m , Z2 |' g$ R# f+ Y# [ore quickly. 2 J$ _* J, \( ~: ^ 6 U# S W- V" E2 t. N
so c++ is not a choice in such enviroment. and u know,many codes we write 8 ~% G/ K1 C! S6 H+ y7 I0 Mtoday will be useless.and there r so many easy tools such as VB 3 B* v6 H3 e& J! Q. R7 n% N g' ^8 M9 W5 P9 _) I: I
for windows designer, Developer/2000 or PB for database,Domino Designer fo 3 |% `2 j+ [& d. x: Y3 ^7 e: f
r OA application,why c++??? 0 t9 U+ i' c/ l% `7 A! ]& [
. r& ]8 E2 n" b
in DOS mode. i like Turbo c2.0, with it and MASM i can do everything. 4 O6 q4 O: f' z7 y% U+ m 6 }) X% _0 I9 L: O2 ?
but now i hate c++, it has waste my time! my corporation do not need $ J# l) [" y$ f- P2 K# Z" C: X. R4 B# N
5 b- Y9 h- x6 q) P5 I" V c++,just need java,xml,php,pb,vb,delphi,developer/2000,domino designer etc r5 ]/ r; F5 q$ L4 \- _8 D* E. * P W g5 s6 ], W# D- q , ~% e" A7 f) [: c; h" @: W2 ?
so, a tool is just a tool,if the advantages in some aspect of the tool ! Q0 H0 c8 \4 W- U
7 g2 U3 X) {+ f# C7 v5 a9 j% { u needed. it's will be a good tool for u. others it can bring u unfortunat 0 f# X) f7 @6 }8 ?# v$ d zly! , u7 U3 n! m3 p3 V9 G7 e
z* {9 V* c; Q8 G. j 恶魔吹着笛子来 来自 : / L" s! L4 @* i h1 E& o1 v # m# | R$ Z8 v5 _- v* `8 W3 b 果子,国内的Java应用不到10%基本上是ms的天下.这些可能是由于中国软件业规模太小 ( |+ M% {+ H2 R5 v" m F的缘故.而在国外40%的商务系统的开发都是Java,c/c++不到10%.譬如BEA公司一个有3个 9 U W& z; F- Q: Y; u! l. ]
java程序员创立的公司开发了第一个基于J2EE的Application Server---weblogic.BEA公 ' S- m7 e" _: C. J5 P1 L! u
司依靠weblogic在短短4年里成为世界第四大软件公司仅次于CA公司.可见JAVA的功能是 # B% _% {% V) _/ w
如何的强大.微软的.NET的负责人说,你们想要知道.NET是什么样子,那就去看看JAVA.JA D9 Q( Q4 ?, E7 y* Q* B
VA是什么样子.NET就是什么样子. # R! C( g2 Q E+ b* A & r1 `' S+ g$ G. c& J& E
& x, ?( }! B6 V0 |
" V# g# f0 N) ? 恶魔吹着笛子来 来自 http:// : 8 i5 c. \* a) X' N 0 B# r, V8 S: c# A6 q, K Wesley你好.关于Java开发工具的问题.从我的观点来看,目前的Java开发工具没有一个 - R* c. u0 Z0 `
令人满意的.最主要的是,在技术上考虑的太多,却不像MS的开发工具考虑到程序员的方便 5 g M: s. t- z(vj++是另外一会事情我后面会讲). ( i3 ` y, `0 s# `
# [( e( ^1 e3 ? h9 |/ u& L 基本上流行的是sun的jdk,ibm的visual age for jave,samtic 的visual cafe,和bor 2 t% q- [8 R9 {4 j% J4 Z7 _land的jbuilder(vj++基本上没有什么人用). ) ?7 |' K9 z) k % `6 [" k, j7 Z: q1 L 在这几个工具来讲,jdk是老大哥,但是仅仅是一个command line compile.在某些方面 7 O3 l- {1 T8 T- K1 U: V
用ultreditor+jdk会比较方便,譬如你的机器的配置比较的低(memory<64M).一般来说,几 , Y. [: w+ b' @! `' k乎所有的Java工具需要的机器配置都比较高. 5 v+ q" t* j" Z& e, I8 ~ 9 D7 q; ]: X1 W( m c visual cafe是第一个可以使用的Java IDE工具,我当初学习Java的时候就是用这个.它 6 m S9 i+ X- Q的配置要求比较低.一些比较低的版本譬如1.5 2.032M就可以使用了.但是现在最新的版 - R' U' `2 ]/ R% Q本5.0的要求就比较高了,可惜2.0以后的版本没有用过.cafe的IDE开发也不是很方便,懂 1 M% K A L( V# e1 A1 Z一个窗口西一个窗口比较的乱.而且bug还很多.有的时候trace到一定的地方 5 C2 l4 C& D$ x " @: M8 `! l/ M; E# b 就会crash.samtic是一个系统安全公司不知道为什么cafe却那么不稳定.而且从技术上 * V6 f, f& { v2 s7 w/ ~" g' X
来说到目前为止还没有完全支持java2.更不要说j2ee了.从帮助来说cafe的帮助基本上还 ! E+ @3 V' n8 B+ V* Z& a
是jdk的帮助没有什么特别的地方. ; A& Q, ?( p/ }3 b) U% @ # g, a B/ v8 Z0 ^ IBM的东西往往是吹的比做的好.visual age很复杂功能也很多.支持100%pure Java和 7 b& E/ `. x& E" H1 U5 B: E5 h, fJ2EE.但是使用起来不方便,当初为了设一个class path找了半天的help都没有结果.后来 0 w" K: M+ }0 N1 ]+ L* I( v* N9 j听别人说要在nt下面设置环境变量才能成功.而且与其说是visual age还不如说是comma 6 {. x6 n6 ?7 {6 J3 H; f3 y" pnd line套了一个windows壳子.做application还要自己写layout代码更本就不visual. 1 o6 V; A$ V i4 t1 x/ d
( ?4 a p4 v: I 操作系统?apple的OS7,os8,os9都是PASCAL开发的. 0 ]. D( f4 R' H+ A3 W0 u2 q: ^ ) G* @1 e+ l6 _( m; U 数据库?oracle8i就是JAVA开发的 0 s* Z! S4 M+ v 8 M# [7 Q5 ^& S9 }- k" t) _1 Y 游戏?你也许没有见过用DELPHI开发的<笑傲江湖><风云>,甚至有VB开发的<神龙教> ! }' ^ [7 R L- {& J' G9 w : s5 L) Q& t) G( m+ i9 Q 同时VB7.0全面支持direx8.0.可想而知游戏的开发难度会大大的降低吧. / S: I. U! N+ Q4 I ) \% a+ m' y) L6 ?) X' P" W 我的意思不是说c/c++会消失而是应用的范围将会大大的降低并且将会进行脱胎换骨的 6 p0 [5 M2 T3 s0 E升级(用了20几年升升级总可以吧,java的升级不算太成功,但是是一个不错的先例我想c . `3 d+ [& v( X8 F8 |
#的前景会更好). 1 j+ `* {) Z$ E, {& f3 B* c } 1 k* Y! F8 w4 y8 I: T6 L9 Q6 N
BTW: 6 s; K8 ^0 ^9 w$ X \4 e1 l( a
8 Z) W M' X+ z) ~ MVC=Model, View, Controller Design Pattern 2 ?& {( w& j/ @ |: S) ? 8 A1 m0 |; E' v* l$ s, U, B : q/ @) m) k2 r # ^2 y ^; k6 {9 k xubin 来自 http:// : 0 d+ l% S+ `" ~, a+ A , w! @/ N0 y4 k5 o/ u E
在工业控制中,直接对I/O地址操作,就要用C++。 6 a. b; k$ T' k4 X5 U9 q% {+ k% W 7 T1 `0 }* T3 A# X+ b/ a
恶魔吹着笛子来 来自 : 5 U: f; A% e* g+ l( e ( C) W6 [! ` I% i. R, i* O 俺有一个同学毕业设计用VB做单片机。你这不是在讨论问题是在抬杠。 0 D+ R" C7 I8 v k$ q, C * v& O% _: E+ E8 s" W5 {6 [* [
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : 6 j) X* ~ P! a/ ~; y
1 J( |% p W7 g 我想一种语言并不会因为其他语言的出现而消失, " D; ^2 F3 `/ L# C
$ F( Y' ~( w0 c2 \
比如说c与C++,C++与C#的关系。 & D7 _. p; P3 z. d5 X+ ? ! @. l8 c# v V8 k" o
所以我想讨论问题时首先是要排除敌视, ( R$ W+ |* A: [0 {6 ]; d6 M0 M
. f D Y5 ?7 G
然后才是透彻的分析。 ) ~1 U7 m9 E v) z + k" I: s( H3 A/ l0 ~: r1 e IT世界不光只有网络,还有其他很多。 4 I/ A) ^ l1 B2 Z
. |( `* x/ ~4 O/ o' \
所以某些工具在一定范围内适用是正常的, 6 A; v2 B+ g' x. E 6 \ p. l2 _$ G
其实在国外, / l% e" w; ]+ X. B4 d& ]
& i n' m0 B; M7 J8 Y' x9 f% A& F0 o SERVER端软件大都用JAVA,而CLIENT却没有多少用JAVA, / a" E/ {- o- j+ x/ Q4 I ' A5 k9 N" h- C* v5 O1 g2 { 这和速度有关,当然也与MS对JAVA的态度有关。 , W9 O, O% C, m$ F% w
K M# \8 {6 v/ {9 v6 h" B
5 M. L' F+ S' ?0 L* A1 |- z$ N" S 不过我一直认为C/C++不会因为JAVA的出现而消失。 ) o5 p' ^3 D7 }' j. ?
3 c6 G* t' t' g) ^; f 就象COBOL目前为止还在使用一样, & r. i, J9 V! y 7 a8 W, ]4 z: s# E$ B 2 R! T5 _9 j1 |5 j
不过以后会有愈来愈多的解释性语言出现,因为解释语言比编译语言的兼容性好,这 2 ~# e! k+ S2 r是不得不承认的。 ( c. s8 U! K* j- G0 j 7 F; C6 l* V2 C* y3 M
恶魔吹着笛子来 来自 http:// : 9 l$ c( ]' l1 D6 b% h: m
% ^+ ~/ r( o: L) h8 c/ L 是的wenny.也许我说c/c++的消失有点夸张化了,但是实事求是的说.java和c#的出现 ' l# r* y+ e+ k! U+ U4 _) e" H
( j* I% B5 r V# f* D! @8 c
c/c++的升级换代是在所难免的.对么. 0 |8 k2 r. `( O8 P2 H6 V5 M4 t
* I! L8 b' c3 M, k
恶魔吹着笛子来 来自 http:// : ( {5 Q0 p( q0 r6 [8 x
e/ g5 ?* P* p! c
而且我一直认为java和c#不是另外一种语言而是c++的升级.就象是c到c++的升级一样 3 M9 C' _9 j* N& p6 O; F.对不对. 3 B. Y1 O: `" V9 X' [9 b ; ]+ E* J1 b3 R& @3 l9 w: E" N
xcc 来自 http:// : R3 F' z. L7 h, h4 H
4 }5 k! Q: a [" H& D d 同意恶魔吹着笛子,你简直是我的偶像,顺便贴一篇关于C#和.NET专访 + W& j' U: s0 J5 I, |1 F* A
9 N7 P9 ? `4 @, s! t. }
NET and C# Questions with Jeffrey Richter " }3 l, B9 e: x9 s
* w T8 ^% z! i( [) l @
In the weeks after Microsoft made a huge splash in the development communi ' S2 Q' B5 g6 x( \2 Z: U
ty with their .NET and C# announcments at the July 2000 PDC, Jeffrey Richter 5 y& p7 R& V# M1 L: { accepted our request to field 20 questions from our readers about these new 3 r$ n7 n1 l7 H7 B, ?: v technologies. As many of you already know, Jeffrey is a cofounder of Wintel + q6 g- u" s5 d( Zlect, a company that specializes in Windows & Microsoft.Net training and deb - B0 v" h' \4 r, r1 n: y2 _( m/ x1 bugging. Jeff is also a consultant at Microsoft working on the Microsoft.NET 5 P7 }2 {; Y- M4 V& u# i1 O# \Common Runtime Language (CLR) team in which C# and Visual Basic 7 applicatio 1 U$ ]8 m% D/ W5 ]ns operate. Below are the 20 most popular questions that were sent in and Je " ^; u( V5 ?& Q& S- hffrey's responses. ( o1 o$ w& F6 V6 U. l1 ]/ I
% F p' A, r* z
For Visual C++ developers everywhere still trying to get a handle on all t ' z# h3 A. R* S! l9 R# c
his: Thanks Jeff!! 5 ^2 S- ~! t/ f! T! D# A
' U: H# S8 ~: w# w0 b
( g. e" ~( |; S# P2 O$ t' D
Question #1 Is .NET a runtime service or a development platform? ; r$ n* ~0 o& X3 Y) M # ?0 K- i- e( R* F) o. u Answer It's both and actually a lot more. Microsoft .NET is a company-wide 5 b, U1 z0 f5 `0 K- a/ X" i
initiative. It includes a new way of delivering software and services to bu ) G% a l3 @7 l/ X% a; ~3 psinesses and consumers. A part of Microsoft.NET is the .NET Frameworks. The ; q1 C8 n8 |* |% n& d1 u# R0 Bframeworks is the first part of the MS.NET initiate to ship and it was given . q- Q) J& M; q2 L6 L out to attendees at the PDC in July. The .NET frameworks consists of two pa + c' Y1 c* i& `" g& t. k0 wrts: the .NET common language runtime and the .NET class library. These two , _, S5 ?% M% E( d- Scomponents are packaged together into the .NET Frameworks SDK which will be 3 R s: `- x; l3 c% Zavailable for free download from Microsoft's MSDN web site later this month. . H1 V' N; h) [4 z: ] In addition, the SDK also includes command-line compilers for C#, C++, JScr ( v4 q9 Q' u2 t' w
ipt, and VB. You use these compilers to build applications and components. T # x. a* \( ^' p$ p/ n0 `5 yhese components require the runtime to execute so this is a development plat * f K7 H# {# o% M0 G
form. When Visual Studio.NET ships, it will include the .NET SDK and a GUI e 6 f7 {. H5 K1 Wditor, wizards, tools, and a slew of other things. However, Visual Studio.NE 7 i- U7 f( i% I$ y
T is NOT required to build .NET applications. 3 F: w7 e1 @+ L7 c7 j3 |
* g3 F& Y5 E$ U! _ d+ t4 r2 Z# J0 Z6 _ Question #2 How likely it is for C# to become a general-purpose (meaning: 8 m) e6 C2 ?/ B: V# g8 }' Y! Rnot MS-specific) language and if so, have any other vendors committed to pro - h' b0 x' |; e# c2 m$ dviding compilers on any non-Windows platforms? $ r8 l0 }* N# i0 }4 w( @ 9 }. L! g/ o: t! Y$ R Answer It's hard to answer this right now. I have been programming in C# a ' x1 B, S: Q6 J+ j' Y& t* Nlmost exclusively for about the past year and I love it. It only took me a f 8 P- k4 x: C, Z) l: \: O: m# Wew days to learn most of it since it is very similar to C++. It was designed - g) S4 Y; _) l9 D2 \* w
to compliment the common language runtime and I think that it's unlikely to . ]7 P1 |2 o4 S: g; B n
gain much momentum if decoupled from the runtime. However, you never know. , X0 \ C/ f, X# y- \+ C! y
Microsoft is submitting C# to the ECMA standards body so any company will ea ' C: W5 b1 n" G) h: {
sily be able to produce their own C# compiler however, without a runtime, th `, L" M6 B! h. be compiler itself is not that useful. I'm not aware of any companies current - V( Q7 C+ [; j. w" w, ?# }% |ly working on their own C# compiler. Certainly, porting the runtime to anoth ! [! l: I. w5 f" [, c; j2 p9 ler OS is no small undertaking. " W, @. [; t1 O, M
: M X' C" n. l 7 c0 f, u$ O! k8 e) f& x3 I Question #3 Can you tell us specific practical problems that C# can fix be ; N1 f6 a( z/ Z. z" k
tter than Java? # N" I. U2 u8 Q9 n $ R: i% s) ^) {. z( B2 S1 ]
Answer I must be honest with you: I have never programmed in Java. I know ' f9 C3 Y2 P6 ?. n% U
what C# offers the C/C++ programmer: simpler syntax, components that seamles + b1 e; W, P% y5 Z
sly fit together, type safety, and so on. Other people should be able to add * S+ _& d) D. o5 [
ress the C# <-> Java comparison. # b0 n7 n% T) j# g& h% D
; A$ M- l/ N1 b+ I. L/ p
5 Z" H, w8 G" B
Question #4 Will ADO+ be the preferred and most efficient method to access 0 \5 b/ B& m, }8 P$ `5 `0 R0 w6 a databases from C# or will it have it own (or .NET) class wrappers for the O " |$ v+ | L! P& D5 H- [LEDB API? 2 ^6 j( H$ [) f
2 L. t; |+ {( [
Answer The .NET class library includes a System.Data namespace with many t 6 h F. w; |( K5 L! k
ypes for database access. These wrappers will be the best (and most efficien 2 K, e: r# @6 F- @" N7 d
t) way for a C# programmer to access data. - w( _6 Q' E% I2 h( a: V 5 v' W, q$ S3 Q5 _5 j& F ! T- r9 u+ _9 Q( J
Question #5 Can C# be used to develop Windows applications or is it soley , q7 P* i+ A- t4 j0 a
used for developing distributed applications? ) A0 J1 z; L6 Y4 a. L7 _8 Q $ ~) L4 r) Z- x1 y+ \% y
Answer C# can absolutely be used to develop classic-style Windows applicat ; {4 A7 X* Z6 K$ {ions. Actually, this is more a function of the runtime, not the language. So / v' x! G( [2 E, the runtime supports console apps, GUI applications, NT Service applicatio 1 E0 r, h! n" X
ns, simple components which can be used in applications, web pages and so on 0 c( y0 Z% h/ q& r. You can't write a device driver but that's about all I can think of that t / a2 j# W* a/ T- b6 ]
he runtime doesn't support. ' {! p0 }) c2 ]+ h f: E ! f$ }8 U+ @' w+ v3 K7 M2 `0 [* X
. q4 h" |! ~6 F% H ~8 s: z# c5 q Y Question #6 What is the C# relationship to WinForms? " S1 u, W( T1 C8 Y; ~6 ]. T7 b* ?
0 N) e1 K0 D6 p$ U1 f! J5 q
Answer Win Forms is a set of classes in the .NET class library that wrap W 8 c$ Z4 R" Q- A5 j0 u# W
in32 windows, brushes, pens, etc. Any language targeting the runtime (includ 6 O6 Z: S- v. r9 _3 v& w0 G0 c
ing C#) can construct instances of these types and manipulate them. This is 1 ^" t8 ?* x' T0 Lhow you would create an app like Notepad, Calc, or Wordpad. I know that Win ' M M; U l4 n( NForms has similarity to J++'s WFC library but I also know that there have be 5 K+ n- l( C+ u' U. L& ~
en some major changes. 5 L z; i. W+ Y: n
- H% v' {( {5 }, R% E+ I9 s- w3 Y1 T 3 r/ l5 S* H, J {2 k& t* v Question #7 Rumor has it that the C# language has been submitted to the EC 3 L9 ^. Z" ^/ H% YMA for ratification. Is this true and what impact do you see that having on & O' k/ a# @7 s6 _7 }9 ]
other companies adopting it as a general language (such as C and C++)? 2 w8 N, v/ @* F7 F1 l% T1 B0 M9 z 5 U6 d; \' [' Q ^1 N: _" _2 @: n
Answer Yes, it is true. I pretty much answered this in question 2. ( L" [4 X2 \- y* M, ^
2 d' r) m# c# Q6 w ! M/ f$ d+ [& v" v' F% g1 q9 o
Question #8 Which will be the role of ATL and COM in the new .NET technolo 2 h7 [/ r, J& G
gies? 2 c- Y) p' V$ a& j, P b 2 \6 _, B1 N+ ~3 ~0 `
Answer The .NET frameworks offers a replacement for many existing librarie 2 S" o, o; [# n7 p }1 ~" r o: B/ Ns, like ATL, MFC, C runtime library, standard template library and so on. .N . G6 k5 I9 U, h* \" T. HET programming is significantly easier than using any of these older technol % M. @. G* j& O. l. a" V
ogies. For this reason, I suspect many developers will move away from using 6 [2 w' ]5 r Y6 X7 [- I! g- Y; l* m
the older technologies. The older technologies can buy you performance howev : P- N: |2 ?/ s. e7 m- W; L+ |. ier; so, some people that are very concerned about this will stick with what' 2 |5 n) h" W2 p7 }" `9 ^s around. As for COM, developing components with .NET is orders of magnitude ' G- C5 z2 O( ]: y, R easier and the interoperation between components pretty much happens for fr & H+ ?0 |$ B/ k+ n" |
ee. Again performance may be an issue for some. And, for the time being COM+ - P B. ~, M6 ~. P% P
services, like transactions, are not being offered directly to .NET code. Y 1 W* I) o0 D' z
ou can still access these COM+ services but .NET code must incur an interope + X# ^; X+ V% C; e/ e0 m( \& @8 j+ Crability transition, which translates to a performance hit. 2 [8 P6 a. R8 b
5 a% Q/ `0 _- p, k
3 w4 \2 B; k4 h0 |8 ^! N$ j9 Z
Question #9 Why was the templates feature not carried over from C++ to C#? 0 }" i; y1 }6 j$ }3 G$ r: ?* H & o9 |4 Q2 S$ B ' E; h! h# E" y/ V( q4 v3 e Answer Again, this is more of a runtime issue than a C# issue. First, temp 8 M' w; @2 X. ]( t" H! E' dlates are difficult to implement and Microsoft choose not to do the work for , E; \/ ^+ y) a9 }! @
Version 1 of the product. They may do templates or something similar in fut ! ^2 x) s& z2 V7 r9 ~
ure versions. Second, since the runtime is a multi-language runtime, introdu . X' i6 }, i a1 g! H' w& e
cing templates means that all languages targeting the runtime would be requi - Z+ k: N* V/ {8 `3 [4 Ered to support templates in some form. There are a lot of issues here that n z; w- A( r# x! ]5 f& a) Ceed to be carefully considered. & Q7 V" x. z: h8 \ ( {" [4 o/ ~' q3 q h + [% {1 L+ i. p1 C4 n Question #10 Will C# replace the pseudo keywords that clutter ATL COM code % D9 e4 g( q* T% ^7 X* U with real keywords? Examples: OLE_COLOR, BOOL, VARIANT_BOOL, and DISPID_XXX 7 q7 q8 J6 F8 z& K% s ?; C6 A }
XXX. 0 T' L% g5 U. N/ w% J' x9 ~
1 A0 ~1 q+ a& x
Answer Absolutely, all types have new names as provided by the .NET class 9 F( e0 @* Z/ C5 Clibrary. ; c) ?! {2 l4 I }! ]* @# M 0 h9 H) ]3 J% l7 V- G1 N + s0 b; m$ q, ` Question #11 We've seen managed extensions, but aside from that, what futu ! u( {0 {, y2 h [ {3 f
re does C++ have at MS and in .NET? ( F+ u; m; l1 s6 H ) t( V9 u! Z7 P
Answer C++ is unique in that it is the only Microsoft language that allows 4 l" O+ a5 H% m7 m6 b' } X
the developer to write managed and unmanaged code. So, I can easily see dev : u0 R3 _- W* R+ u
elopers writing in unmanaged C++ for performance-critical algorithms and the / x0 R5 B, |3 V' L5 j7 a
n using managed C++ for type-safety and component interoperability. I'm sure 2 d' K: z( V& S+ `, G/ l# q
Microsoft will keep C++ going for years to come: device drivers need it, Wi ; }# Y1 i* E" j* o
ndows is built with it, SQL Server< Exchange, and other BackOffice products ! Q+ S# [/ F$ v! [ Wwill probably use C++ for a long, long time. 9 U( v: K; q- E- e' M. p7 M / q/ ]" Z! n# |' B5 j: v
+ ]2 R1 x! w& j
Question #12 If .NET supports ActiveX/COM, how will security be assured if 4 }2 e. b& H( Y0 `9 i7 c
a C# application runs from within a browser? / o! U9 g5 g" }1 { ) S C+ A4 {# ?7 b Q+ l) k) j) L Answer The .NET runtime offers code access security, which allows an admin + a7 W0 u" M1 v5 [, _! i. }
istrator/user to configure security based on code identify. By default, any 1 h; a# E. \3 S+ e8 \9 K jcode downloaded via the Internet or intranet is untrusted and will not be ab ; J* a! J# ]% U) x4 L
le to access files and other resources. In fact, when I build a console appl 4 z' }+ u! H) U! p
ication and run it from a network share, I get an exception when it tries to - L7 a/ P3 V3 ]; L3 A1 a& H
access certain resources. If I copy the same file to a local disk directory & F6 ]7 }% n6 B! e$ r, G- f- z and run it, it runs fine. Code access security is integrated with the runti # H( V3 V# _% q. |8 \me and is too deep a subject to cover here. % |1 d+ |( l( ?& Z 5 Q# m ] V: s1 q! s4 L ) Q8 j5 e x4 [8 i; ^ Question #13 With regards to the .NET runtime, do I need it on the machine . y6 W0 I* V' [* z/ F that I deploy C# apps on? 1 O1 M9 m* Q" z+ B$ J1 z" Z
! A& o/ A( b6 H( m0 M" f4 A3 |& b Answer Yes. All managed apps need a manager; the runtime is the manager. M 4 O0 Y e# ~4 y# h- b5 D
icrosoft will eventually package the runtime so that it is freely redistribu 2 ~; A% W! E7 G3 Q/ l
ted. For now, end-users will have to install the full .NET SDK from MSDN web 5 q8 i1 Q. E2 y1 I6 G2 O# o
site (when available). This is similar to how VB developer must ship the VB . k, p* A8 a) M% l4 Z
runtime today. I) ^" ^; ?% p t6 L. r* i
/ k8 I7 S1 W# b! m$ H; x2 K 3 W& T$ w* b* w, y
Question #14 There has been mention of being able to derive C# classes fro % C0 [' C* Q% y$ V& ?" lm VB classes. Is this true and where can we see an example of how to do this " h8 l# A: \/ ~/ P+ M
? ; h! g: v6 R7 i
W- N) s1 h" z' r Answer This is true. In fact, any language that targets the runtime can de ' | |8 A' H) T5 d3 r" {rive from any type created in another language. Also, the Visual Studio debu % S9 P) ^1 a- \$ C& i% Kgger fully supports debugging across languages. Each entry in the call stack " S* b0 a. m, u: f) S window shows the function on the stack and the language that the function w 1 u8 h9 \" c. r% o
as written in. This is very cool and got a round of spontaneous applause whe . g4 c& j X4 V1 z' Y* z3 |! }# i! X
n shown at the PDC. There are samples in the .NET SDK that demonstrate how t ! D% c, c& }2 U+ m: io do this. It's really quite simple. Actually it just happens, there is noth # Q9 a# H- i, ]% P1 y
ing for you to do. You can also throw exception across language boundaries a 3 Q5 R2 x/ O7 A" U2 z$ u' \
s well for error handling. 4 ?& l. @8 C/ `/ W7 ~& ^+ @' r: C . s8 E) \. R& h$ E
( s6 c% F! n5 o2 R3 P/ H4 g$ a
Question #15 Can I derive a C# class from a C++ class? If so, how? % w8 A" f/ b3 m2 e; S. N; g
h8 I- O* I+ d0 W
Answer Same as the answer above: Any managed language can inherit from a t / Q2 C1 Q0 U: G$ H8 w; b1 M1 eype in another other managed language. If you use native C++, then you can't : Z! G, I( N, u$ [$ F; g
do this, however. : x3 M5 e/ C+ k* d6 m# ?) @+ c E
4 Z: ^ X: w( m7 g: f - F0 k1 i! w' ~/ v2 P
Question #16 Will the new version of MFC have the option of working in a m % V6 d3 r# W/ [9 d1 n0 \anaged environment? - |2 J2 {4 i$ i- z4 `5 r" a
4 m6 j( u! W I4 |4 Q$ Y
Answer I haven't been tracking the new version of MFC but I'm pretty sure / b: @! s; q0 ^' }1 n4 m* kthe answer is no. MFC is all unmanaged just like it has always been. For man 3 J, S4 ], I* m& D+ gaged applications, Win Forms is the window manager that people should use. + N. {7 z+ p# P4 ?4 [4 \( ^ 6 U8 ]7 \4 Z- U3 W( M7 C
2 e4 ]+ x! ]# S2 V
Question #17 If the new version of MFC will operate in a managed environme " U. ~8 C2 ^3 v' E# z" X" L6 P, \nt, will it have the option of building desktop Win32 apps and not needing . 9 b$ B1 ?; _. P' t) R/ v: S6 Q j( fNET runtime support? & T, b+ l! T) p2 t1 s4 ^
% T3 r/ j% O1 C: Y" ] Answer I'm pretty sure MFC is unmanaged and will never require the runtime # h- ]7 o9 I# P! E' M- x. c" A( J4 C$ J% z( F% c7 Z' h
# Q5 H8 N0 _! v& E( P M9 s
$ `+ U1 @: K& a* F0 w
Question #18 Stroustrup has been quoted as saying "I have not expressed a ( Q5 s! I6 P( R5 A, Jtechnical opinion on C#, and I don't plan to do so. C# is yet another propri , X+ x0 b- \# U5 X! ]
etary language specialized for Microsoft's Windows system." Do you agree or & h4 j/ x" r9 D% h- Edo you think C# is more of a generic language open to other platforms? + s8 d& ?% w' C3 j8 y) E/ Y ! w. ]1 P, ?! K9 u
Answer C# is a language designed for the common language runtime; not Wind 6 {7 ]5 f" J" \0 K& v, D' yows. The CLR can be ported to other operating system like Linux and Solaris ( L" Y' U0 }+ a" M2 U0 [5 a% b* pand if the CLR is there, then C# will probably be there as well. In the gran ( y( r2 a6 j" K
d scheme of things, C# is not that important or interesting. It is a syntax % F8 Q9 p1 l* ?+ K0 l+ b; V% T
checker that spits out intermediate language consumable by the runtime. You ) J% ~0 O9 p+ H" |$ d1 ^& v) j/ y7 v0 ycan love C# or hate C# - your choice. I happen to love it and think is the b ! B7 |' f' _; z5 C
est programming language for the types of applications I write. 9 {( ~/ y. x/ J# X4 K 0 V- k2 }- Y" i: D# X
8 y5 A& C% w1 J# U# T) H' n
Question #19 I heard a rumor that VB7 will allow static linking of the run ; w4 W; ?0 W, |' U" m6 ttime, like MFC. Is there any truth in this? If so, will C# also be able to c / g$ ~6 d; c) d+ R
reate standalone apps? - {+ v7 q$ Z% P$ H; o f$ ?: X. a
0 `, _* a* _ v Answer This is absolutely not true. No language will able to statically li % j# s" g$ ?% v8 z) T
nk to the runtime. ' ?& _" c" {0 U' s' B8 V8 D3 O, v6 ~
$ o- D! Z2 Z8 k# j+ K/ j$ u$ q - m0 q4 B* r: a r+ x& V) j6 w9 j
Question #20 Does C# still use resource files? If not, what mechanism is p , b% D5 \* @( e, e" ?9 Z& y i2 |rovided to allow for localization? 9 w5 R# z Q: M. p
3 s2 e4 A; N( b/ P, o
Answer The .NET frameworks designers have created a new resource model. Re ( q3 Y; `- s3 ?" [) o
sources can be embedded in EXE or DLL files the way Win32 resources are or r ) [- P5 a+ @' `# w6 Hesources files can now be stand-alone files like a single jpg or bmp file. T - N( Y+ N, G2 m6 P
here is also the concept of fall-back cultures. If the Swiss German resource ) e* _. O# Y! K# x1 F% [* q' _. D- G
can't be found, the runtime looks for the German resource. If the German re 0 v; @' U1 k3 s6 v/ m- zsource can't be fond, it looks for the "default" resource. Each language wil 2 n6 x& q9 V2 r2 Kl typically be built and shipped as a separate assembly rather than packagin * P, C; L. O- g* N
g everything up into a single file. Like code access security, a full discus ' b) e, A" K4 G7 Hsion of the new resource model is too much to put here. + c3 H0 e7 O; H( |- @1 ?0 I9 p
* R* k& ~$ J0 s* U2 M8 Q3 @0 g
# R, m1 y* Z5 v1 [! R' X 5 A: }5 D5 f* F* B% z$ ~ " ]- p- q, h- K3 ?, Y2 X6 Y# ~ J. K
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : & [+ @; P" o& L 5 ]8 ~8 m, U% e& X6 L4 o9 v
我想应该这样说,一种新语言的出现会在一定的功能领域上替代其他的开发语言,以 & J% Z8 Z8 J3 g( l/ Z) K/ g
前的开发语言的使用范围会缩小,但不会消失。(就算是出于保护现有资源的目的) * J: g/ L$ y- [! Q1 q7 T
; c0 d- H5 M0 H. o# c# [" e. I2 G 但没有一中语言是十全十美的, ' T; y; |! ~! ]5 Z
1 ?$ [& a$ ^% o* J5 f1 p6 G JAVA,C#都不是。 3 q' U, a& h, u" {. a. Z3 q
5 o: F+ v& R7 Q6 F* @4 o- z, v 4 \5 N2 j% L" A
: F) j# x! [2 z% W
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : ; O( ~) }% c {/ m3 E7 f0 r
3 _: |. j% Q9 m 》》恶魔吹着笛子来 : R* k; M* P9 \% O, s" m1 W 8 A+ Y7 K, v. o; P. Q. B) z
你好, ! L4 T8 T5 B3 S 4 f" r' ~. H1 ~, O/ E" S
很高兴能够与你进行讨论, : K5 Y0 J) T1 o e
6 e! x- j1 e; S/ A7 o
虽然本站名字叫做vchelp.net % Q5 ~) U1 p7 G6 }5 S9 |/ c
8 B( a/ R5 Z9 j 但我不排斥其他的开发语言,只是自己的能力有限不能将本站内容扩展到其他的语言 & K; ^ t6 M1 u. _) M$ G
, : y: K0 w6 A6 }1 T 4 V- J0 r) V) p: q& n! ? A 但我很希望大家在本站对开发中可能遇到的问题和矛盾进行讨论,不论是关于语言还 6 D8 d7 X" Q! g7 S! U6 y9 N" k' `7 J是开发方法的。 7 L; [+ K3 b, u% @. V
" l% W; I7 ]% N
我想邀请你成为本站个人专栏的作者, 0 Z9 l* j, f- I" ] - D. e- t8 Z: l. q
你可以发表一些你关于开发的想法,就算是与VC无关也没关系。当然在时间上也没有 ! l4 d2 C9 E; @5 E A' ~7 g
要求,你有时间就写写。 / n v, t: T* l6 |! {$ t4 n% ^ J
% y, r; b, {9 W; `7 R 盼复:<a href="mailtwyy_cq@21cn.com" target="_blank" >wyy_cq@21cn.com</A> ( v1 Q# P% f( y6 i G) z/ H $ l- `5 i8 |) C. r4 T
cuixue 来自 http:// : ) z3 n5 Q. ], e2 S3 u2 ~. |- y+ S 2 x4 J( B& ?6 G% F7 \ 看了各位大侠的话,觉得好像在讨论java,其实历来有两派,smth几乎天天在吵, 7 l0 B4 D& [, B( h% x% Q
$ }% M1 C1 p" {
喜欢java的同志到各个地方布道,连perl也不放过。呵呵。我个人觉得java先天有一 ( B" ?+ ~& z4 R. x/ z P/ C些劣势使得他无法取代c/c++的,他的垃圾收集只不过通过一个线程来完成,这对实时系 2 B7 P, P! O, U8 e1 E6 }统是来不及的,EJB的推出也说明java原来是不适合企业级开发的,没有语言是天生完美 5 c8 Q2 a2 h- F7 J8 L的。java最大的困难我觉得来自microsoft的刁难,c#的推出无疑会夺走windows平台上 2 ~& Y: u* }8 Q. }/ }
的java份额。java的速度也就不说了。jbuidler的速度不能够忍受阿,可是这样一个产 & `: p! |; e5 T
品就是java写的。由于个人见识不够,实在不能理解海量吞吐的 6 K) d/ j7 Q( z+ A. B0 { . Y2 ^* i, m$ v9 c, A server用java.oracle用java是实现了ejb的集成把,他的数据库engine是不是java 的 # @9 S3 S* J! G那?请大侠指点。而且当时号称8i不要操作系统,结果市场反应平平,还好 $ G$ x( T1 e% g: c7 G Y
1 p# K$ B$ Y/ D' d 搭上了e-commerce这班车,:) 0 d0 b6 Y) P' f# j3 P9 W* Z2 \ ! J! b2 C: v3 G+ `5 z& J3 ]
在说说我对vc和bcb的看法,这两样我都算粗粗用过,紫云影说得挺好的,比较公正。 / y' b# I8 p* v- X" j1 RMFC的确稳定,ATL未免有点复杂,要不WTL就不会出来了。vcl的源码有一部分是pascal ' v _& y. E$ p5 h& h' [写的,这点有点差,不过他的扩展性很好,用用就知道了,决不是好多人认为的vb式的 8 u/ j# t" C3 G }
傻瓜工具。道理很简单,应为他是符合ansi标准的c/c++语言。其实vc是不够ansi的,C ( {% G4 A- G6 P8 TString就是不符合的,所以bcb用了 AnsiString.可惜bcb不够稳定。 p3 ^ L" B3 m: e" o 9 I2 b# P8 b- ?, x 提示太慢。帮助的问题我是这样看得,msdn不是专门给vc的,他是windows开发的指南 * [! g8 k- \! W& C& g% l% {
,用bcb一样也很有用,是个宝贝。 % D% D, G& N, C 4 t* q+ W3 L) G0 J+ p
好了,不说了,反正按需所取把。 ~( G0 j! o' j }. C
2 w' F7 f4 o5 [% j( _
cuixue 来自 http:// : " a6 e2 ^2 O; f+ b
1 E/ i! b/ d6 w" t% ~, Z& {
xml远程调用无疑是平台无关调用的一大进步,可是这也不能说corba就要消失了, 1 ?6 s/ y( i, x |0 S l% b7 {7 X' Z
3 y* D! _! [2 E% k! f" b
xml这种标记语言虽然提供了强大的标志检索的能力,可是它本身的缺点是与以前系统 * p' a! M' Y" m' d* H
的兼容性,所以最近推出了xhtml以兼容以前的应用。电子商务的应用有不同的类型, 4 y1 m1 r' v7 [" H- F
9 O- a' D+ |% ~# c
对于一般的b2c的应用,sun e1000上跑跑java或许可以,如果是银行的主机,起码 0 r8 C! ~3 ~0 {# v! Z
/ c9 S0 x+ {4 z7 h; O
1000笔每秒,java是不是可以 那?硬件的提高不是没有限度的,而且现在数据中心和 8 ?# ?) y+ x3 z- k: E
OLAP的流行,对实时的要求更高了,实际上对于单位应用硬件资源并没有什么起色。而 2 t. \: T. D6 t且数据发掘的应用要求对原有资源的兼容,对于中间件而言java开发是有优势的,corb * ^% |! l5 H# E; ~) {5 I& Y) _/ p/ F
a提供了对异构网络的良好支持,ejb也在向它靠,毕竟在这个年代,不可能只存在一个 " }8 B% g6 }% o, U9 y0 O$ D8 n$ S
系统,一种语言,对自身的改造和对异构网络的支持以及原有应用的支持是每种语言都 ( G. i, c# ?+ ~0 Z' h- y要面对的难题。 ; }1 o4 A b* o # V& s6 v" n0 V) ^+ f 9 a, J' t/ S/ }3 w; J 0 D6 y* @, P0 V$ S% u! k6 ? 杨宁 来自 http:// : F& J- O, {, W+ _; N" B Q, F
3 W+ _. A8 o4 f# V! j 世界是多样性的世界。 3 Y& h$ k( ^. a, m# [+ T
$ q; h/ o4 {" ?9 Y0 P& l7 F 不面向应用,一切都是废物。 6 m8 S7 p0 u! H
- U/ b+ \! D& T
学好编译原理和操作系统,以不变应万变。 8 ?5 D+ _" ~$ m+ f
( J* M8 U# f; [% s 人的精力有限,面面俱到等于面面难到! + |# T, a. v5 a' m* J8 b* b
: E0 O, u: d% W, I( I; @' j' w7 ? 妖刀 来自 http:// : 9 C* W0 E0 l2 L' S/ z % C d9 W5 }' g/ q( o 我不会编一辈子程序,我需要简单,快速.我只要他好掌握,能实现功能. ! P! {4 R$ h% V% a. t( C + Q+ _7 L( k6 y U5 y; c 至于是专家型的C++还是傻瓜型的VB(Delphi也差不多)我不在乎. b. i! O5 d. D }0 c
# W4 V) c9 g) @0 S( H9 J 老板也不在乎 , @2 ]5 T. D6 p9 A5 _8 n
3 x* E5 ^- E. Q/ S- F" V
TOM 来自 http:// : 9 P8 n, H7 G( @ V! r: o9 m6 U / ^+ |3 B1 O* u& @/ S0 _. N7 a
用VC++和Delphi都各有千秋,Delphi写界面方便,大部分是写数据库程序。但写出来 9 ^: F7 W4 ^) X) j) w$ m! P% Y
的程序太大,如果做一个组件(为HTML写的)还是用VC好,有句话很好,专业的程序员 1 R9 e) l4 _3 d" x用VC,聪明的程序员用Delphi, 2 g; N: D" A! N6 M% a
; ? h" f8 o6 M1 {! e6 F
TOM 来自 http:// : 2 `7 G1 k2 }! S1 t
o8 `. a: W2 ]; K Y# Q% { 用VC++和Delphi都各有千秋,Delphi写界面方便,大部分是写数据库程序。但写出来 ) a. g7 ], w9 H
的程序太大,如果做一个组件(为HTML写的)还是用VC好,有句话很好,专业的程序员 - r+ z( _9 l7 ?' ]用VC,聪明的程序员用Delphi, 0 G# D% m+ p; D4 X7 Q 6 T0 L1 b' H& m: I& @( ^/ u
宇服 来自 http:// : 8 L$ ~2 a" m- `: ^
H5 M8 k- k/ B) [4 @ u
作为一个真正的程序员,不懂c/c++ 只能与非专业人士一样,改改属性来作程序罢了 % x% C9 o: L' H, o' ?
。 # N) _7 B; q: q5 e9 Z& O7 m- C8 E + A' T' |6 ^8 `7 J$ \0 ~
宇服 来自 http:// : * L. B& ^& @$ I, W 6 K R* m. C( u, m. h( b 恶魔吹着笛子来的话太可怕了,世界可能只有java存在了????? 8 }$ J; K0 J& g) h5 s
! ]2 n3 {$ T) [3 v" [6 ]2 x
2 }. |$ \ P+ ^; i3 `2 c
: Y# X- d" d: e wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : . F6 u+ U0 j, a) Z' E0 n" J 4 } w& o: L: Z! X
我很同意杨宁的观点 # p$ M2 K$ T, I( z" F# T 3 o* Q; M6 w1 l! Z F3 B
》》》世界是多样性的世界。 不面向应用,一切都是废物。 . f* S, @6 H" `9 f. a# W5 E" y6 S 1 z6 g) O$ ~' M3 {
! m- U h- u/ p 8 o. C1 o7 _ i: d
苏 来自 http:// : ?/ F$ l1 y7 C5 Y" |& u% s 4 a7 M& P& k8 D& {0 T9 P* M0 K 对于DELPHI跟VC的争议已经不是一天两天的了,要理论它们的长短处确实比较困难. & b0 Q; L3 K- M7 O & Q, b) Z b( M2 U* I+ p 作为比较出色的RAD开发工具我认为是DELPHI,VC是称不上RAD的!对于编程者而言,如果 6 [. [ o% v1 ?/ ?5 R* K
是低层的东西用VC开发具有明朗的线条--一句一句来,而用DELPHI就必须借用API了(当然 ( V. N0 _1 d9 v, T
用起来就不是很方便了);而对于从事数据库开发DELPHI不失为一个好工具!我觉得两者各 ' w/ ^* D3 {. d, q
有长处吧! 2 M1 \3 a8 |: Q( V
; U+ r8 x, m" t6 K
雅各宾派 来自 http:// : * H( x( }+ ^: N- X* p; k % O8 _ X w! o5 E9 W1 a, P0 I
呵呵,明朗的线条,此言得之。 * x" g" a9 I' S5 ~: \0 t3 y 2 x* {6 ~6 N% L; t0 @+ \
Hintell 来自 http:// : 8 k0 i+ b2 h. _1 |) z* B & @3 Q: C, s# T0 B1 g- D5 Q$ q. q 我爱JAVA,如果不是为了谋生,我立马放弃现在的UNIX/C PROGRAMMING,不过幸好搞的算 ( U& z: w! o0 H9 z是交易中间件 ' L; W) l( {% S, o1 v- C
8 d; T' X& g6 H$ F6 {6 h JAVA是个好东东! - P- @6 z3 p" v: M Y/ x) S0 v- m/ |) F+ m8 G 恶魔吹着笛子来 来自 : 1 _4 k8 j, h0 x$ j) ]+ L. T
6 Y- e1 S: M6 e$ n" b
我从来就没有说果,只有JAVA会存在.我只是说,将来的很多我们熟悉的桌面应用都要以 & K8 @- z4 k7 R a! cWEB服务形式出现(包括我们的现在常用的office,windows,visualstudio等等),而客户端 - K, \9 d0 h( e1 A, k. |0 E仅仅是一个外壳.你没有听说5年以后ms将不再买osftware,而是靠买网上的服务(office % X4 _% J3 W' o3 p. j.net,windows.net).这个时候我想传统的c/c++的应用范围就会小的多,而c/c++的升级版 , V5 S2 L& T+ J5 [本类似于java,c#就是主流因为他们是为internet设计的而c/c++不是.还有我认为,java 2 J9 t+ F3 C! X N: A* N1 r, D
,c#和c/c++不是对立,要我把java,c#和c/c++对立起来,我宁愿 - _' U/ L0 \; V, z
# R( P: V( o2 `& x$ ?- D4 w y! }, o 把java,c#看作是c/c++的一种internet延伸和升级,使得c/c++更加符合internet的需 / {9 k; e; Y, y& a+ r0 Y要.我们用java,c#的时候我们很大程度上使用了c/c++大约60%的legcy功能,我们能不感 ; k( k2 j& M) C/ ^谢c/c++么.我一直强调的是java和c#是C/C++的衍生,我们在用JAVA时我并不感到是在另 0 l" a; ]& o g, Y, y" I- g外一个世界里写程序我感到的是我仍然在C语言的世界.我想我们不该 2 Y& s- \% R# ~; O& o! r
4 d+ ~7 I; v9 U. _0 V6 O: L5 I
有JAVA,C#和c/c++语言的门户之间.有可能的话我希望称他们为c语言族(c/c++/java| ! w% g" W, [* W! L7 C. E
c#). , q% e; F$ P* e! W8 i) @2 O. f
. B Q1 g- m) Z5 m) \5 G2 l hfgh 来自 http://无 : + _3 Q5 z1 {1 b* ^) K6 c# E. O$ N
. e2 o$ r- T9 g
不要再去争论什么DELPHI、VC了,语言只是工具。软件的关键是创新和设计, + @, k6 ^+ e( J. n$ C6 Q" B3 D
# r- D# U$ |0 L3 H" _. h
有了这个前提,用什么工具去做就看你熟悉什么工具了,看你的工具能不能 7 U! A* n4 e: S( ~0 K9 H / i0 v# {: _# ]" ?* c* j 满足你的设计目标,有限制就选择别的工具。就这么简单,有必要去争论用 0 I8 ~# V3 E# X" Q% s) f 5 X: n4 C+ D! l1 ` 什么工具吗?应该是争论一个软件的创意和设计有没有前途,而不是先去争 ( S% S6 \9 F1 F9 C2 A; i , P1 F S( h9 O* q q' u6 s4 t
论用什么工具。每个工具都有它的优缺点,主要是看你是否熟悉它,它能不 ; x O+ _( M# v+ k ' F1 i, k2 k4 S6 T+ f) U5 d
能顺利实现你的目标。如果不能,没办法,选另外一个工具。做界面还是 : h" P/ ~! k4 q* j: b: M3 c J
( B! q; n$ {4 M- o DELPHI合适,做高效率的通信,还是VC,要做大量涉及SDK或底层的东西,还 8 O7 G/ D1 t" K! m. F$ `( G i # |( \+ W! Z- P2 M
是VC,就看你项目的目标是什么,而且是每个目标,不是其中某一个目标。 & m. F b& X: d1 r0 G - Y! S0 w. C3 {. ? 中国的程序员都受中国教育的限制,老是在一些细节和工具的层次上思考, ( ~* O. U. ^. r7 I9 q1 B3 B
& y2 [0 g* T5 v" _$ {: |! B | 没有在全面的系统层次上思考,在整个计算机技术、通信技术、软件技术的 ! R8 ^4 B/ r( E3 S8 K" @9 l2 H 5 |+ U1 i7 A6 ]2 j! B3 y
整体面上思考问题,才是中国软件技术进步的道路和方向,而不是去争论用 0 e3 S! r! y# L
& y! Z0 m! F; D+ [3 P; J9 {
什么工具。另外,本人认为VCHELP网站在中国还是办得不错,但欠缺的是整体 & D% h: H. a5 L- Q" \, |6 a ! ]+ n" M ~" c/ n 技术层面上的东西,而这一点在中国是尤其重要和迫切需要。