]- h( h7 X! K+ n; f* Y) k It's not a time for us to determine which language will more better! + Y7 ~% `' w. `6 g, z : c2 p& H+ ~ L! i0 h
in factly,In China,too many corporation just writting some codes for + G$ c, z& Z$ k" ] * r7 k, i8 \' V0 Q1 ~
enterprise's MIS,OA,ERP or other application.It do not need so speed ( x6 F' P/ ~+ k& @9 `' J; u& F ; o' I+ X5 V$ ^% _# M9 A and do not need so good original code. just want more data,more easy and m 6 g1 X! i$ n% `& s0 zore quickly. " j% ^/ P! U" G0 c* z+ G( N$ ]
8 h) m5 R' m! A% K5 q4 y( _& M
so c++ is not a choice in such enviroment. and u know,many codes we write T' B6 n0 f7 \8 y" itoday will be useless.and there r so many easy tools such as VB 7 H$ c1 o; g) g
5 J, L N6 Y4 k& |% q6 a' K) N: W for windows designer, Developer/2000 or PB for database,Domino Designer fo 6 S- r+ V0 K( ?% v) s9 A$ A
r OA application,why c++??? # H9 b' V O7 c* A ( T$ _5 N- T* }$ P7 i- V9 M in DOS mode. i like Turbo c2.0, with it and MASM i can do everything. 6 ^$ x, ]1 r% w2 }( ]; ~2 O& L & Y+ ^' ? O! e$ g( P( C3 r' g6 m- [ but now i hate c++, it has waste my time! my corporation do not need # y: x8 U6 V0 E# c/ n: ?$ ^+ {
+ l8 _& V; x* b: i5 X) a c++,just need java,xml,php,pb,vb,delphi,developer/2000,domino designer etc 0 T, n/ V0 Q7 \. w; ]6 Z1 _. ; q }9 n0 z* x. [# {, X4 w, M$ _ 1 R% z# h r1 y( @3 r so, a tool is just a tool,if the advantages in some aspect of the tool 9 `5 ^- B9 K5 Y) @ 8 ?# s9 B! [# D7 [6 [
u needed. it's will be a good tool for u. others it can bring u unfortunat + _( s0 v. f3 d' k8 Y$ k- fly! 1 s0 t! D8 Z" O; Y: c
5 V$ y, a+ r8 G% ?/ R) l* W 恶魔吹着笛子来 来自 : 4 f5 D% |: j% E0 T6 D* e/ {$ P$ q X! B+ V) f2 B6 k 果子,国内的Java应用不到10%基本上是ms的天下.这些可能是由于中国软件业规模太小 ( e$ _ L. \; B% q的缘故.而在国外40%的商务系统的开发都是Java,c/c++不到10%.譬如BEA公司一个有3个 ; s8 O0 H9 D Q% ~; G5 K
java程序员创立的公司开发了第一个基于J2EE的Application Server---weblogic.BEA公 " t# N* }5 r/ @% Q6 l: R4 y* X司依靠weblogic在短短4年里成为世界第四大软件公司仅次于CA公司.可见JAVA的功能是 , Z6 [% m5 F3 j& \8 N
如何的强大.微软的.NET的负责人说,你们想要知道.NET是什么样子,那就去看看JAVA.JA / M6 e' O) G9 qVA是什么样子.NET就是什么样子. $ u3 M. e6 n0 `0 W( W, q, q! b
8 R+ S" l3 f1 g " O% [) X, q3 c& q( d0 B) | * y/ l) m9 y' A
恶魔吹着笛子来 来自 http:// : ; s g y7 u2 [ 2 D# Y5 K" R! c5 E2 J+ {9 e Wesley你好.关于Java开发工具的问题.从我的观点来看,目前的Java开发工具没有一个 2 M& n1 n- g# Q H- v0 O0 V4 u
令人满意的.最主要的是,在技术上考虑的太多,却不像MS的开发工具考虑到程序员的方便 ) Y H/ u3 ?2 C. h9 a(vj++是另外一会事情我后面会讲). " b0 P- g* g1 X7 A2 N9 ?
2 y& ]- z; v' Z* `% R* x# C
基本上流行的是sun的jdk,ibm的visual age for jave,samtic 的visual cafe,和bor U- r6 X1 G* Y' q. e9 O/ E
land的jbuilder(vj++基本上没有什么人用). $ z0 U, K, N. z2 P . t' h9 a# }- X5 V
在这几个工具来讲,jdk是老大哥,但是仅仅是一个command line compile.在某些方面 % f1 C- _0 ]; y用ultreditor+jdk会比较方便,譬如你的机器的配置比较的低(memory<64M).一般来说,几 7 I( N0 q; B! ?( P6 ?
乎所有的Java工具需要的机器配置都比较高. ; k( c5 C# O7 ~& S6 ]; [: k ! Z) I/ D" ]5 M+ l! q ~: i visual cafe是第一个可以使用的Java IDE工具,我当初学习Java的时候就是用这个.它 Z! K8 `2 Q# K: p7 m Z
的配置要求比较低.一些比较低的版本譬如1.5 2.032M就可以使用了.但是现在最新的版 * K* ~6 [( L% @5 m& \, ^0 b; U
本5.0的要求就比较高了,可惜2.0以后的版本没有用过.cafe的IDE开发也不是很方便,懂 ) J2 g& O( t/ Z4 J一个窗口西一个窗口比较的乱.而且bug还很多.有的时候trace到一定的地方 ! O9 ]2 n. e& g; P/ k1 u4 P( |
& Q$ I, {9 y- r2 L 就会crash.samtic是一个系统安全公司不知道为什么cafe却那么不稳定.而且从技术上 ' ~. p6 l# p& o2 L0 |, O
来说到目前为止还没有完全支持java2.更不要说j2ee了.从帮助来说cafe的帮助基本上还 0 {# {- a( n3 n
是jdk的帮助没有什么特别的地方. & C: L/ P3 e, R: f" J$ K+ {0 ^) U1 ?
Y3 b$ S; U) y$ X2 p
IBM的东西往往是吹的比做的好.visual age很复杂功能也很多.支持100%pure Java和 ; h) L; A9 s6 l: |# ?0 ^( _, VJ2EE.但是使用起来不方便,当初为了设一个class path找了半天的help都没有结果.后来 3 v _8 H! V g- _听别人说要在nt下面设置环境变量才能成功.而且与其说是visual age还不如说是comma . {" z6 g6 l) p; b0 k
nd line套了一个windows壳子.做application还要自己写layout代码更本就不visual. ; ?, N( z0 G8 M: E5 P% [$ e7 O
7 x5 f# s1 v; r0 Y
Jbuilder是我目前遇到最好的一个,它的界面基本上和delphi c++duilder差不多.他是 / g0 d) l- X+ A9 g4 ^$ w( p第一个真正的java的rad系统,第一个全面支持j2ee 13项Java技术的工具(bean,jsp,rmi # z8 e% Q+ d% R/ m$ i- }! F# o7 R
都实现了).100%的pure Java.相当全面的help document. 2 k- n9 s3 O; a u4 U- e; Z
! ^ y( f1 B) {
但是他最大的缺点是系统要求实在高,没有128M别想用.64M下面慢的像乌龟,help更本 2 h7 C2 j# b8 y, W5 y3 t
不能开(它的help都是java写的64m下面打开help慢的能够看到一格一格awt画窗口的过程 - S$ u$ G) m4 `: v Y1 a5 U0 O).但是不管怎么说他是一个比较理想的系统. # Y/ U! k0 Z6 t3 g2 e
. G: u# Z5 K+ F a7 s
至于visual j++.MS更本不是想用他来打开java市场,而是想用他来分裂java.从很大程 9 b- U9 D$ J" k
度上来说vj是一个windows 程序的java开发工具他不是100%的pure java.在windows平台 # \2 j) B3 W) ?0 v
上他是最visual的.用他开发application,你不必用复杂的layout,只要像vb一样填写坐 , n! M, N$ p7 ^! t% ]5 u
标,而且开发的windows程序速度很快完全100%的本地代码.你可以把它看成java版的vb. ! v6 n1 h- V! D) P- R& m他的wfc库仅仅在windows上能够用,而且使java和com捆在一起.他自己开发jvm,java库. 7 C: D3 f& i+ c0 Q" `: u6 S" J5 D
但是ms污染java的策略相当的成功,不仅把java逼的走投无路还在法庭上赢了sun的java + O |& x& J# b4 h, [% ]官司.因此ms的目的一达倒就把vj便卖给另一个公司而且随着c#得开发和得不到sun的j2 # M2 i. B$ U: L) x# j
ee的许可我想ms不会再开发任何关于java的工具.如果你开发java的同时还想使用ms下的 8 E0 K; y9 @$ P i t4 i) J
com,ado那么vj可以适合你的需要. * o7 Q9 ^6 x6 j# f; J ; o( z- s* y$ Z {+ Q8 M2 d
# o6 V* |4 ~6 M# S* B1 N( U
' l7 P `: Q! L C0 V5 g- o5 G
) |, e' G4 E" \% U. I; K# h9 `4 g/ v
, j/ ^8 }! _& Q
* I" R. a, f* W6 c2 D. `, ? N
! q2 Q; i: P( c, U3 c' a4 D
5 R3 S; B& w* x" i( E 恶魔吹着笛子来 来自 : ) \! t4 c) o$ h* {( m2 A( @$ W 8 W6 f& y9 E- T$ B1 c
俺有一个同学毕业设计用VB做单片机。你这不是在讨论问题是在抬杠。 : v( f# C/ [' W$ Q0 g, a1 H8 i1 A* y
1 l9 P: b6 G& j- b0 O8 N. i
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : 5 x( M+ P8 V6 e. l* J) i# s; j 3 W. O3 r# o9 p! u& K- l 我想一种语言并不会因为其他语言的出现而消失, : o$ Z8 {/ X5 A( V' g: O! z 4 i: _/ y4 S' |- U4 _ 比如说c与C++,C++与C#的关系。 : J8 z, z L$ w" V
1 }2 E. p( X1 T, ]. B; @" i: x4 h7 C 所以我想讨论问题时首先是要排除敌视, 3 |; h" T' [( X- W) t* }- B / Q% y+ p2 C) ]* p2 O! g0 _
然后才是透彻的分析。 2 q c/ g& O* X9 y( P& A' Q
4 U- m2 |8 _! \ Q! A' Q7 m i/ C8 Q
IT世界不光只有网络,还有其他很多。 * F% C- k: F9 }, K) i : W1 M) o8 e8 q+ |4 H' a" \) h$ Y: q/ S
所以某些工具在一定范围内适用是正常的, 9 c1 S) x5 G' Q8 Q% ~/ A 2 [/ D' u1 i8 H" A: i, l* I& P. ^ 其实在国外, , q# A$ H) h3 L3 K( ]: w
7 |/ [: w" w+ H. v# m( k3 _. l! T
SERVER端软件大都用JAVA,而CLIENT却没有多少用JAVA, ; Q, t' E" Y- {' K5 }9 T6 W7 H
1 q$ K u8 G, B( A" T 这和速度有关,当然也与MS对JAVA的态度有关。 E }* O( D' N9 [! E+ P$ t
- c h* L! l" t: n* E" y " C- A+ P" c4 ]' R
不过我一直认为C/C++不会因为JAVA的出现而消失。 + W* x9 q+ b6 X! h( L
8 Q) q7 A. e8 O4 O% Y" s/ K& [2 Q# k+ J
就象COBOL目前为止还在使用一样, 3 n; ~. C: Z* D. T/ s7 R8 l ( S3 H' y5 L7 `
0 k3 J: u" N- n% x z( @8 K& b: q
不过以后会有愈来愈多的解释性语言出现,因为解释语言比编译语言的兼容性好,这 ) ]% Y$ A- f& w& M" q是不得不承认的。 0 }2 e! L9 M6 D! \ # O8 i" O. }1 ]
恶魔吹着笛子来 来自 http:// : 4 w, b: L+ f. f7 ^* _ 0 W* u- r$ R& S$ D9 v" m7 F 是的wenny.也许我说c/c++的消失有点夸张化了,但是实事求是的说.java和c#的出现 8 f# n& {" D: W& E! a
: o6 b0 Q, N; z) V# A1 w
c/c++的升级换代是在所难免的.对么. 7 R2 B; y5 w2 E" t/ y! ?* s8 g
9 h( r& t1 a# s2 B% x6 x
恶魔吹着笛子来 来自 http:// : ( U( o9 [( v0 a% \( s* N8 A / y# ~& I! `9 J
而且我一直认为java和c#不是另外一种语言而是c++的升级.就象是c到c++的升级一样 9 ~6 ~8 S$ O( z3 z3 W
.对不对. ( S; X" O: q4 `$ T
% g L/ g$ P1 J! v
xcc 来自 http:// : , Y3 X8 |& p: i7 P: q. ~9 j $ S" F9 U. p7 f
同意恶魔吹着笛子,你简直是我的偶像,顺便贴一篇关于C#和.NET专访 % a+ h. e$ F7 P& n$ i d' G9 o2 E 9 a+ n- V, W% w1 S
NET and C# Questions with Jeffrey Richter ; M7 l s( n0 M2 O3 t: i
. ` K6 {# o) `" l3 U In the weeks after Microsoft made a huge splash in the development communi ! [5 y, d, \- j$ P9 T; ~1 e
ty with their .NET and C# announcments at the July 2000 PDC, Jeffrey Richter + k0 a. V, P7 w3 P. i4 t4 d, }8 e accepted our request to field 20 questions from our readers about these new # h. }1 l4 Y/ }2 o2 E) y* P
technologies. As many of you already know, Jeffrey is a cofounder of Wintel / l0 x) N' x: Nlect, a company that specializes in Windows & Microsoft.Net training and deb ! H8 i8 P2 A W) Y0 \5 nugging. Jeff is also a consultant at Microsoft working on the Microsoft.NET 4 G2 Q) Z+ J+ ?% s! e
Common Runtime Language (CLR) team in which C# and Visual Basic 7 applicatio 6 Z% H" |; z4 O' Wns operate. Below are the 20 most popular questions that were sent in and Je : s, A& h2 @+ i* h8 sffrey's responses. # j3 P' j+ N% q. }/ b) f+ e% |$ z# e
8 b! `; e4 V$ T2 N! N+ x6 T For Visual C++ developers everywhere still trying to get a handle on all t + ?* w; W( f4 N( F7 f1 W
his: Thanks Jeff!! ; W4 m0 g" ^; E" O
: P, K* M5 b3 `( K6 b2 M3 X i* F. L* ^' X' t' ? Question #1 Is .NET a runtime service or a development platform? : D1 p$ ^* G) V : E, H$ |: b, \, j1 _$ O
Answer It's both and actually a lot more. Microsoft .NET is a company-wide - P! D5 S: ~- W6 R5 L( U
initiative. It includes a new way of delivering software and services to bu % f) k% @( Z) @" I, _sinesses and consumers. A part of Microsoft.NET is the .NET Frameworks. The - l7 Z3 _1 I& E X! G/ Oframeworks is the first part of the MS.NET initiate to ship and it was given ) @ I6 z; ^0 t out to attendees at the PDC in July. The .NET frameworks consists of two pa 9 O% I Y- T, G, t. F' erts: the .NET common language runtime and the .NET class library. These two $ o) O3 j" a+ p! J/ r" g8 E6 ucomponents are packaged together into the .NET Frameworks SDK which will be , P5 [$ j; H9 e& U& e% B' B9 b, m
available for free download from Microsoft's MSDN web site later this month. 8 C. M. W, M3 N; F. r% d
In addition, the SDK also includes command-line compilers for C#, C++, JScr ; T/ o6 d7 O1 C# I5 f l
ipt, and VB. You use these compilers to build applications and components. T 3 q5 Z2 y3 t5 j' Y9 X0 G7 ahese components require the runtime to execute so this is a development plat - G# Q1 d, ?2 c1 k+ B& bform. When Visual Studio.NET ships, it will include the .NET SDK and a GUI e $ ]; `) }4 C8 |' \) n' d% Z6 ~7 J
ditor, wizards, tools, and a slew of other things. However, Visual Studio.NE ( i+ c, B6 m) e2 s3 E8 n
T is NOT required to build .NET applications. & I* `9 U- g, g/ d
. }+ K' I/ k2 N9 [) ]& q ]6 y4 `
5 P3 l( i- o# @
Question #2 How likely it is for C# to become a general-purpose (meaning: , A- o3 R8 n- a. p3 s. o2 K. V0 Z) z1 l
not MS-specific) language and if so, have any other vendors committed to pro 3 g0 X* j7 k+ I0 D+ z) U
viding compilers on any non-Windows platforms? , J. U; a0 u& i# U* l % a0 A& y G1 w3 `1 R: P- S9 B
Answer It's hard to answer this right now. I have been programming in C# a 9 Z: |$ Z; k* v( o2 ^9 ~lmost exclusively for about the past year and I love it. It only took me a f 1 N0 a8 L( P) ^+ l0 \! H: W0 Uew days to learn most of it since it is very similar to C++. It was designed : d6 d2 N% ~" D" L7 b
to compliment the common language runtime and I think that it's unlikely to + s% r4 K8 A' {, K6 Q W
gain much momentum if decoupled from the runtime. However, you never know. 3 o& I' \: M* i: H) [: W+ f6 HMicrosoft is submitting C# to the ECMA standards body so any company will ea - y4 G! D: y/ c, f3 jsily be able to produce their own C# compiler however, without a runtime, th ) p6 U I5 Z- c" l5 Be compiler itself is not that useful. I'm not aware of any companies current d/ f$ m8 J+ s! x$ C7 h+ b" G* tly working on their own C# compiler. Certainly, porting the runtime to anoth 0 D) _* t+ ?6 B2 a$ }4 A" k
er OS is no small undertaking. 8 m; w' ~4 w$ S% E
* b" q/ n2 F' M) ?
7 A* J; g8 o% N- p/ x: f. @ Question #3 Can you tell us specific practical problems that C# can fix be # T L/ X! s) w& vtter than Java? ; V; x& V$ M& B% p8 X, U " n j" q" X3 q Answer I must be honest with you: I have never programmed in Java. I know 8 R7 R' R5 P {- ywhat C# offers the C/C++ programmer: simpler syntax, components that seamles 1 {! H) h9 A9 P2 ]0 osly fit together, type safety, and so on. Other people should be able to add 4 @* A4 }/ y B# s1 e" `ress the C# <-> Java comparison. % {2 B* x! s# a; [* w! @ $ m( r) m3 l+ F% N
- t# A t( s3 V Question #4 Will ADO+ be the preferred and most efficient method to access ' K' E" i! K3 Y9 t% U- H: d databases from C# or will it have it own (or .NET) class wrappers for the O + z7 |9 F5 A; F# C) ~& R- @( WLEDB API? 8 D* q- A! J3 t8 o* d . i z- V# I" O/ ? Answer The .NET class library includes a System.Data namespace with many t C8 f2 b9 N0 U8 E$ dypes for database access. These wrappers will be the best (and most efficien 9 }% ~' U9 g, q2 m9 G+ @. a
t) way for a C# programmer to access data. 9 u7 M" \9 p( v: F " n/ v# U( J1 n) W + p9 S4 j: V* d8 H' k" V Question #5 Can C# be used to develop Windows applications or is it soley - h5 {# u! e4 P& t) V
used for developing distributed applications? , g$ e) |$ [, f# Z2 [8 a
) s, L2 V7 n( B1 a. D1 |
Answer C# can absolutely be used to develop classic-style Windows applicat 7 E; R/ f, F8 T5 }( l
ions. Actually, this is more a function of the runtime, not the language. So 0 D" Y1 r4 a: D' n9 d
, the runtime supports console apps, GUI applications, NT Service applicatio . y1 B+ c: I( }8 W) qns, simple components which can be used in applications, web pages and so on $ _) q0 n8 I3 I1 O. [, |. You can't write a device driver but that's about all I can think of that t , A/ R+ H3 Z0 F1 \, D& ^( T L, A
he runtime doesn't support. 8 B- i( u6 `- ~ Y" Z/ _ . u [5 z. j1 ?/ |) y$ `; v7 G + x2 l9 m- g+ _% r( v9 u Question #6 What is the C# relationship to WinForms? : `' k( P6 X6 F, @' n# @" z1 [ 1 C9 {* E" K* q7 X" s
Answer Win Forms is a set of classes in the .NET class library that wrap W . [- N% i9 N! f0 R$ C8 N5 ain32 windows, brushes, pens, etc. Any language targeting the runtime (includ 3 X; s( E; S: Y9 M* i' i2 V9 N9 |ing C#) can construct instances of these types and manipulate them. This is 8 U- O" R( }7 Dhow you would create an app like Notepad, Calc, or Wordpad. I know that Win 6 b9 J+ p. m5 c6 J, B
Forms has similarity to J++'s WFC library but I also know that there have be , e" I) i! K2 t5 Z! ?; S8 O) Y; Q
en some major changes. 4 d' v; N$ g2 i3 C: t! j. o
8 H6 W& O/ k: L: E7 d9 o, ]! U# H # M6 A* Q! r! @8 Z8 `+ ^
Question #7 Rumor has it that the C# language has been submitted to the EC & g) U7 s1 g: C% L# {9 SMA for ratification. Is this true and what impact do you see that having on 7 @ ?6 E9 h" s- F. f- R o
other companies adopting it as a general language (such as C and C++)? - i( e! y+ c" f) y- W3 i2 q9 I - x( e6 u: l" I! \; f6 B
Answer Yes, it is true. I pretty much answered this in question 2. # h# M7 g( R& C8 k3 x
; g" k) ?' o& n, h. m4 X
+ v& e5 `* q8 ^! M9 {
Question #8 Which will be the role of ATL and COM in the new .NET technolo ; X4 i5 ~' ]& i" Vgies? . t& q' b3 F8 D2 v: h, I
- U. G7 q; D2 Y' l
Answer The .NET frameworks offers a replacement for many existing librarie 3 C' V* I7 {8 Q8 r& ns, like ATL, MFC, C runtime library, standard template library and so on. .N 8 l& M% W5 s# G F% m. d# `ET programming is significantly easier than using any of these older technol - g4 U" e- P0 }ogies. For this reason, I suspect many developers will move away from using ! O4 d! k; c. g( v: W
the older technologies. The older technologies can buy you performance howev * t9 ], e9 O( e; ?+ _er; so, some people that are very concerned about this will stick with what' " Z4 Q2 n9 S* w S+ _s around. As for COM, developing components with .NET is orders of magnitude * T5 K7 [; ?) \9 Q6 T easier and the interoperation between components pretty much happens for fr , Y8 y" o7 X6 N8 _. m4 See. Again performance may be an issue for some. And, for the time being COM+ 7 u3 E8 z9 H+ p% @" { services, like transactions, are not being offered directly to .NET code. Y ! }, H" }) O% @# P
ou can still access these COM+ services but .NET code must incur an interope 3 L5 ~, ?5 I. r5 B% x# k' ]rability transition, which translates to a performance hit. , t2 e! f9 P: v2 R+ u
T" K( s9 O" B
* b. b& Q$ {* ^( |- ~3 l
Question #9 Why was the templates feature not carried over from C++ to C#? 5 L4 y6 b3 c! L3 F/ ?
, J% G; j: b+ x8 `9 g1 m
+ v3 ?8 K, Q& q! Z Answer Again, this is more of a runtime issue than a C# issue. First, temp + T6 e9 i" g+ ?0 h. e7 K) Q$ plates are difficult to implement and Microsoft choose not to do the work for / o2 [+ v% n6 j. h0 J3 C
Version 1 of the product. They may do templates or something similar in fut ; T2 b9 A, ?2 F, m/ H# J6 d+ Xure versions. Second, since the runtime is a multi-language runtime, introdu 5 d1 k2 H$ Q2 o6 j! V) m9 z ?
cing templates means that all languages targeting the runtime would be requi $ D) \ H+ b' l3 X3 b/ Q, w4 W
red to support templates in some form. There are a lot of issues here that n ! P" |, r0 G8 g8 Z
eed to be carefully considered. 1 a2 D9 _. i; `% a
, ]$ e! }: Q% r, q" A
& X. G* A4 o6 o1 x( A$ t. w
Question #10 Will C# replace the pseudo keywords that clutter ATL COM code 4 b& L! y- J* z* O8 D2 d
with real keywords? Examples: OLE_COLOR, BOOL, VARIANT_BOOL, and DISPID_XXX " q3 n: V; P/ U+ QXXX. # C: I" D# e+ o1 c 5 B. L( ~( Z5 G% N# ?1 A Answer Absolutely, all types have new names as provided by the .NET class " L7 M0 ?3 F3 t2 w- T
library. ! X3 h# t6 h; s2 z
8 U" [# f4 A1 Q F5 ?- t
4 w O/ n9 x" X6 k' g* X' r& b" V Question #11 We've seen managed extensions, but aside from that, what futu 2 R" Y5 Q8 D+ C
re does C++ have at MS and in .NET? 5 t7 Y& ^5 H9 u8 l* {, w0 z 1 {# q5 K- C5 k, a; c' I+ s3 e Answer C++ is unique in that it is the only Microsoft language that allows 7 ~; x9 }* e2 f4 l+ c# I3 ^
the developer to write managed and unmanaged code. So, I can easily see dev 5 l6 P! D5 y/ \4 \/ _- Z
elopers writing in unmanaged C++ for performance-critical algorithms and the ) R8 b. [8 ~9 l( V& b, q
n using managed C++ for type-safety and component interoperability. I'm sure ( `, t# ~& q" f; O5 Q0 x$ k- K Microsoft will keep C++ going for years to come: device drivers need it, Wi 6 U- K# |( N! U+ k( S
ndows is built with it, SQL Server< Exchange, and other BackOffice products 5 d8 D0 ?# l0 C& J* M k
will probably use C++ for a long, long time. 9 J @$ F" Z2 x6 m* K c* b& { ; a9 p; s% Y0 P4 `9 O) b: V+ R# F " G- E2 `: A8 g$ t# |& P3 A. S
Question #12 If .NET supports ActiveX/COM, how will security be assured if % P* A4 A: Q1 ?6 e+ z6 S8 u
a C# application runs from within a browser? * C. R: ?/ ^, W3 o 5 L3 B- r, c ^
Answer The .NET runtime offers code access security, which allows an admin & X6 I. h, D$ }6 Histrator/user to configure security based on code identify. By default, any ( L' K* R7 G; k+ i9 [; Tcode downloaded via the Internet or intranet is untrusted and will not be ab ( p# q, A% u. L! ple to access files and other resources. In fact, when I build a console appl ' x: w- F: @) j/ l: K: E3 o- t
ication and run it from a network share, I get an exception when it tries to 8 V' G: y# A. ^' Q0 j6 } access certain resources. If I copy the same file to a local disk directory 3 W8 g1 e G; P0 V6 I& y8 q8 u
and run it, it runs fine. Code access security is integrated with the runti 8 k, Q7 u) n R7 ?5 G z
me and is too deep a subject to cover here. ( M/ H0 B( x$ ^4 o$ d # A1 ?6 z1 @4 e
: Y. p' a) q3 g1 ^7 \
Question #13 With regards to the .NET runtime, do I need it on the machine 8 B+ q9 O& e& B6 d that I deploy C# apps on? . B g( c: i" E8 N$ _4 t* U) e . `9 j8 i# B7 w$ X* h( y Answer Yes. All managed apps need a manager; the runtime is the manager. M " x$ x0 X+ M8 E. Z M: C, i
icrosoft will eventually package the runtime so that it is freely redistribu ! F `1 ~& h( x0 C7 x, M mted. For now, end-users will have to install the full .NET SDK from MSDN web 4 r- r r8 k- z% _
site (when available). This is similar to how VB developer must ship the VB / r/ K+ t( z. W1 V/ K: p' @ runtime today. , E! c2 w% f8 Z) H4 f9 {, A% k' u: }
: G' |$ Q5 T9 j+ p2 q : @" j5 z4 ~0 G; j, e Question #14 There has been mention of being able to derive C# classes fro $ f# L% e7 O+ ]; [1 jm VB classes. Is this true and where can we see an example of how to do this * R- B6 q6 Y8 q; ?
? 2 S7 w' R2 u0 E2 g6 d
. Q. o' O9 D3 v7 i% T# h Answer This is true. In fact, any language that targets the runtime can de : L1 o* v/ V# ~2 A$ erive from any type created in another language. Also, the Visual Studio debu 4 Y, | ~7 c( e. A
gger fully supports debugging across languages. Each entry in the call stack ' \. ^( O) Q, I* Y& L6 o2 l
window shows the function on the stack and the language that the function w 4 R6 `: |4 w5 W/ I6 u$ _as written in. This is very cool and got a round of spontaneous applause whe " I3 s, k7 ~ ?9 v9 Xn shown at the PDC. There are samples in the .NET SDK that demonstrate how t : ^ B7 X: p' s' s# m5 R! U
o do this. It's really quite simple. Actually it just happens, there is noth 2 r; E" Z, K3 }* }1 p( B/ d/ k3 Uing for you to do. You can also throw exception across language boundaries a 0 E6 b. ] A1 @s well for error handling. . u, x+ a% b: l% \2 n: z
/ B) V( m* A( \+ \2 \! x3 L ' t4 B$ q+ Z3 t; u
Question #15 Can I derive a C# class from a C++ class? If so, how? 1 [0 I# R% g1 ~% {/ D% I; X
7 ~; ]* A$ P$ M2 j( R& z- { Answer Same as the answer above: Any managed language can inherit from a t " @& h4 q J8 F! q# i0 s
ype in another other managed language. If you use native C++, then you can't 9 I! w4 k: w# t9 y1 o
do this, however. 7 z9 m+ q6 S* W( K' @: [; m 8 r6 }5 ?$ Y6 Z( c. V, H
. e3 L5 ^7 Y5 A* |
Question #16 Will the new version of MFC have the option of working in a m ; b z7 V/ E/ j! y- k% G+ g" Banaged environment? ' O9 o* }# g2 u8 M! t f+ w! U: ]
/ K$ S( Y$ m+ m+ V1 R Answer I haven't been tracking the new version of MFC but I'm pretty sure 3 [6 @. d) W' d' S
the answer is no. MFC is all unmanaged just like it has always been. For man + C' I2 T( ^" X% e' p- zaged applications, Win Forms is the window manager that people should use. 5 Y4 L1 y# l) Y* X# U8 l
( q( c& O0 d4 {$ q/ O' {. s$ x - `+ j( ]; h5 H5 y$ x/ N6 J H
Question #17 If the new version of MFC will operate in a managed environme 6 f9 Q/ T0 k- Y! P5 i& f3 Ent, will it have the option of building desktop Win32 apps and not needing . " s" B2 v" P% X' i" zNET runtime support? ( q8 h9 `6 f* z2 U8 y" R # {& F$ Y* y- o- h2 z1 Q
Answer I'm pretty sure MFC is unmanaged and will never require the runtime 7 D4 y) P9 s' z, p, R+ X' r, k. ' H$ w3 p" N6 x0 ^6 |
) l% o; ?1 [) z3 J* P3 N 8 J$ i- j) F9 [! S1 q% g1 J+ g Question #18 Stroustrup has been quoted as saying "I have not expressed a . S* S* c! \+ V7 C% Z9 {technical opinion on C#, and I don't plan to do so. C# is yet another propri 0 w5 Q7 [ N, B2 Cetary language specialized for Microsoft's Windows system." Do you agree or 0 q4 z, l! }! R# B: Mdo you think C# is more of a generic language open to other platforms? 3 W5 K" x/ s7 z+ `" p1 W ' C1 K5 j7 N* \% J Answer C# is a language designed for the common language runtime; not Wind 5 W. f) s! E5 l& t1 \9 j, F
ows. The CLR can be ported to other operating system like Linux and Solaris . i# r1 H: q6 U0 n0 i8 iand if the CLR is there, then C# will probably be there as well. In the gran / f8 p9 |8 `" R4 X% _. @5 [: y
d scheme of things, C# is not that important or interesting. It is a syntax , `1 N S, G: e6 y: Nchecker that spits out intermediate language consumable by the runtime. You ; z$ u1 i" }0 @+ m( Z+ n: Xcan love C# or hate C# - your choice. I happen to love it and think is the b ' F) D' d ^7 C5 Mest programming language for the types of applications I write. 1 n" \8 q0 p& Z1 i + X, c( C8 Y& }
. d& | F. i& J# v6 X6 t
Question #19 I heard a rumor that VB7 will allow static linking of the run 4 a2 [+ B7 t# a. Atime, like MFC. Is there any truth in this? If so, will C# also be able to c 2 f, S- D& l( Q' D* I- Xreate standalone apps? 2 G. r1 i& N1 L* a f1 g% Q, i
5 Y' P9 ~* ~3 S( a" N7 M
Answer This is absolutely not true. No language will able to statically li 7 J: x/ N5 A$ C3 n
nk to the runtime. * {/ r- e3 W8 n; x; B: k ! S( H2 ]# L$ \. l: o
5 b2 M# I) ^% O9 |
Question #20 Does C# still use resource files? If not, what mechanism is p 1 a" Z, C* {9 r3 b2 R* x& Q+ Hrovided to allow for localization? / m+ O/ f1 ?0 [# O. b4 l& G , z7 e' x% I1 y
Answer The .NET frameworks designers have created a new resource model. Re 0 L. F+ @5 u! B# F. ]( G1 ~sources can be embedded in EXE or DLL files the way Win32 resources are or r . G. a2 T6 Q& u0 | b
esources files can now be stand-alone files like a single jpg or bmp file. T " f& l; d6 U- C p( P
here is also the concept of fall-back cultures. If the Swiss German resource $ p/ C# D1 ~0 X* }+ p* u0 b
can't be found, the runtime looks for the German resource. If the German re & ^. x$ v& M) E( e' z8 I" q+ usource can't be fond, it looks for the "default" resource. Each language wil . M! i# W. s" X, ], i
l typically be built and shipped as a separate assembly rather than packagin 2 p" W; s+ [+ v B! f3 C \
g everything up into a single file. Like code access security, a full discus ' Q) x$ ?( E5 P8 }- `# F
sion of the new resource model is too much to put here. * y8 x4 {# E6 A V, o ' ~1 b( ^* p# Z/ z( l1 z! [7 b3 X+ s
+ R' g( U3 h5 j0 O& {& y* V 4 x+ J/ F! I5 {8 ^! o. f 5 K% a- z, s# B9 g% g5 q+ ^
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : % @' t. |6 J1 h
; {2 W9 `0 f b, r5 F+ b, L: G/ T
我想应该这样说,一种新语言的出现会在一定的功能领域上替代其他的开发语言,以 7 s& n) h' z& K3 m b) O
前的开发语言的使用范围会缩小,但不会消失。(就算是出于保护现有资源的目的) + E. n+ ]/ r( w3 F# n d. P ! U0 P4 Z N0 y+ ?0 ?( o 但没有一中语言是十全十美的, : k; Y- }" u! B7 F" ^5 q! i; A* R
- W3 y& ^! {1 Q; G% I1 |0 ^0 b
JAVA,C#都不是。 % f8 t; G( r$ m0 u- J/ K, x8 [ ; i$ l. r* w: G. {2 |7 w& Y" J$ t
; t& x- S( K5 D- R9 |' L; B 8 {2 f" c, A4 G( x
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : 7 f! E1 \, T, m( z' h2 w
. ]; i8 Y$ Z6 C8 J1 [% @4 E' E$ [9 y
》》恶魔吹着笛子来 4 ~9 R" V% F' R" B7 s) j, f8 I
% `# v7 c' J/ D 你好, 9 c5 F3 p, N; ]: ^2 Y$ f2 x* R% S
4 ?$ I' e1 [5 c' c. p! b5 r+ u
很高兴能够与你进行讨论, - E$ C, A0 @% u; G5 D$ k
! ~2 Q) G1 @8 t) v( a
虽然本站名字叫做vchelp.net : t; t/ l* e1 [, H8 u0 H