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