/ D3 v c" B9 ~' c5 S& b 此外我想我没有精力再搞个c#help.net了。:-P 0 r! Q1 e" r# ?8 p2 K / F2 N7 K; O4 f q7 c9 h 果子 来自 http:// : 0 T6 a: W/ |4 y6 s# ^) |5 k" U
' S$ R2 M2 h% L/ P. N
"恶魔吹着笛子来"是比较“前卫”的一类程序员。我就听业界的人多次说过JAVA也是 , H! o; ~6 _, j9 _" x9 ?" \/ u$ L
6 v2 q" g. e$ C$ q0 z $ q' Y& [+ s" h7 t9 S; p/ ]4 q 个吹得很响的东西,但实际如何,大家都看得见。至于认为C/C++开发工具(VC, + k0 F/ [+ _7 R- M! H$ ?5 B- o+ g ' {( y8 N% K; { BCB等)会在一两年内退出市场,就是无稽之谈了。 # B1 t+ W+ p& D9 y# }9 S/ S, |
8 {6 o+ n; B* `. b& G
Wesley 来自 http:// : 8 K; ^9 H! _/ [+ U7 X; m; x7 S - G& n+ e5 O$ w/ o4 b" x 恶魔吹着笛子来,你的观点很有启发性。能不能写一篇或推荐一篇剖析、比较Java开 ) p5 Z, ]7 o* o% a( X Z! |$ o发工具的文章?比如Visual J++, JBuilder,以及Symantec和IBM的对应工具。(可能和 # D% k, L( Y# o0 n; g! n本站的初衷有些不合^o^) ' B0 @+ Z" z2 i* X4 J l& F 2 Z* s4 q- n9 \* o8 B3 n
LeoCN 来自 http:// : % I% g5 X: Q3 O/ v6 a / X- @8 l" \: t. g$ i
It's not a time for us to determine which language will more better! # i' q2 Q8 y5 u/ L! ?2 K v+ C# \9 I8 p0 P
. E+ s9 i2 {: ?8 f7 Z
in factly,In China,too many corporation just writting some codes for ' q3 x2 v8 Z. F- A
8 D+ {/ c/ J+ z0 J enterprise's MIS,OA,ERP or other application.It do not need so speed ! Q+ Y- K4 m( B5 Q- W7 a' |2 `0 D ) N, M8 R: a3 [( [# P' n/ k
and do not need so good original code. just want more data,more easy and m + F0 W) }$ X8 B( z
ore quickly. ; _: W0 f' ]& l+ S, g 8 z" ~+ Z$ p" u/ L
so c++ is not a choice in such enviroment. and u know,many codes we write 7 Z0 a' P2 p, ]today will be useless.and there r so many easy tools such as VB # g4 J% C; L- f& x Z + Q7 u/ |4 E3 Z$ @4 ^0 [" h/ s# D for windows designer, Developer/2000 or PB for database,Domino Designer fo 3 S% E, X, Q5 d0 p/ e8 M: lr OA application,why c++??? % w" k% @1 C/ l) }0 ]
# x# Y( k/ G v( u) g in DOS mode. i like Turbo c2.0, with it and MASM i can do everything. : P+ w8 O9 M% H% q- N
3 i8 s5 z/ h: {
but now i hate c++, it has waste my time! my corporation do not need ) N' P' Q4 E9 X# B 3 j6 H8 U7 X( E4 T9 N c++,just need java,xml,php,pb,vb,delphi,developer/2000,domino designer etc 3 O5 s8 M3 P" ?
. 5 \8 i1 y( a. d! k! F7 W6 O
9 q! X" l* O' b+ h, \; k9 @
so, a tool is just a tool,if the advantages in some aspect of the tool ) f ]6 ?& L6 I" y 1 Y( Q; M' B6 Z t3 ]6 G u needed. it's will be a good tool for u. others it can bring u unfortunat % V" c6 H" u" Q- U- a* i R. n; k
ly! % Q* _2 A, J/ J7 V* F, ]
% z) Y$ m4 B7 `2 i( q1 T1 } 恶魔吹着笛子来 来自 : & U( p" c" u4 j6 H ]( l; K
( k7 \( I6 w O3 }- y. f0 f
果子,国内的Java应用不到10%基本上是ms的天下.这些可能是由于中国软件业规模太小 1 }" o, V4 J7 m6 ]" z) x
的缘故.而在国外40%的商务系统的开发都是Java,c/c++不到10%.譬如BEA公司一个有3个 , ]6 w$ R4 p6 s' zjava程序员创立的公司开发了第一个基于J2EE的Application Server---weblogic.BEA公 0 o- k8 P# R, K$ e# U5 C
司依靠weblogic在短短4年里成为世界第四大软件公司仅次于CA公司.可见JAVA的功能是 E0 i* v8 _2 q" j- J8 R7 n
如何的强大.微软的.NET的负责人说,你们想要知道.NET是什么样子,那就去看看JAVA.JA % X8 Q8 j( u5 J) Y% \VA是什么样子.NET就是什么样子. + ]$ a# H0 h- j7 S# ?
4 d: f' L E* j* d2 l a7 R6 w
6 y) {0 @; W3 f6 q/ J3 n
8 P, t5 @. a7 E2 e- ^8 j
恶魔吹着笛子来 来自 http:// : , w" E! ^/ o5 g
+ X$ g! @) L5 J5 E
Wesley你好.关于Java开发工具的问题.从我的观点来看,目前的Java开发工具没有一个 & i8 M5 P1 W6 e- O8 q5 b w) C
令人满意的.最主要的是,在技术上考虑的太多,却不像MS的开发工具考虑到程序员的方便 1 O0 ^- Z: c( f6 P6 D(vj++是另外一会事情我后面会讲). 3 H$ u0 l$ m" u* ]* p* {7 }- S! `6 ` 6 `: i, I* t. t( t/ U# }- x
基本上流行的是sun的jdk,ibm的visual age for jave,samtic 的visual cafe,和bor ! ^0 z% e: x0 [7 T7 a7 Y
land的jbuilder(vj++基本上没有什么人用). 2 M) W7 H: C. }* X5 b+ o / k [1 T' V' ~8 J2 Z
在这几个工具来讲,jdk是老大哥,但是仅仅是一个command line compile.在某些方面 8 f3 k, ~' y3 B
用ultreditor+jdk会比较方便,譬如你的机器的配置比较的低(memory<64M).一般来说,几 % t/ M4 m; A4 X2 C4 f5 `: C% I
乎所有的Java工具需要的机器配置都比较高. 8 ?9 T3 G: t1 o S% y" K5 Q
d) ~4 R' G. Y2 H1 Y
visual cafe是第一个可以使用的Java IDE工具,我当初学习Java的时候就是用这个.它 * g1 F0 \8 r4 g9 z的配置要求比较低.一些比较低的版本譬如1.5 2.032M就可以使用了.但是现在最新的版 * x( S* |. T$ R9 R' Z S本5.0的要求就比较高了,可惜2.0以后的版本没有用过.cafe的IDE开发也不是很方便,懂 / o/ I/ w3 y- n3 B f9 W) Y0 ]一个窗口西一个窗口比较的乱.而且bug还很多.有的时候trace到一定的地方 2 s6 Q5 g8 @9 q% { 4 W5 J$ x5 t: x* a) y 就会crash.samtic是一个系统安全公司不知道为什么cafe却那么不稳定.而且从技术上 w: |1 \# N' m. `来说到目前为止还没有完全支持java2.更不要说j2ee了.从帮助来说cafe的帮助基本上还 3 {6 v, Y$ V: J3 g8 a是jdk的帮助没有什么特别的地方. ! D3 Z" t6 U- b) h6 v( Y2 S8 x' d# o$ M 6 L" ?6 y6 p' q' G( }8 D* U IBM的东西往往是吹的比做的好.visual age很复杂功能也很多.支持100%pure Java和 ! N. F7 V& p J# SJ2EE.但是使用起来不方便,当初为了设一个class path找了半天的help都没有结果.后来 0 r9 B& G' W7 H0 y, t! D3 B* v& J% `听别人说要在nt下面设置环境变量才能成功.而且与其说是visual age还不如说是comma 0 ^+ g1 F# f# v i
nd line套了一个windows壳子.做application还要自己写layout代码更本就不visual. " T9 h0 B- K% U% F; P 3 L0 ?: _4 X- W1 n+ x5 O0 N% R
Jbuilder是我目前遇到最好的一个,它的界面基本上和delphi c++duilder差不多.他是 " w3 a1 _) {. O& D% V& b6 T
第一个真正的java的rad系统,第一个全面支持j2ee 13项Java技术的工具(bean,jsp,rmi ! T2 }0 y: w" K- _+ v) F8 u
都实现了).100%的pure Java.相当全面的help document. 4 ]& L/ P2 \$ e& p% \6 x
* b# z' X' u( ? - m0 {4 L$ Q0 n# I' ?# U, c& i! g xubin 来自 http:// : ( F2 m3 G! _; ]) L/ `8 u2 i5 E& Y ) h2 B; _: P0 ^3 `2 w! A- ?
在工业控制中,直接对I/O地址操作,就要用C++。 % ?9 y, m5 q% B# ?$ ~$ e
* U% A3 r# X$ P4 m" f
恶魔吹着笛子来 来自 : ) b! q* B) n" A: H8 _8 @- M& \ 8 ^1 u* m$ X- ?) x ~
俺有一个同学毕业设计用VB做单片机。你这不是在讨论问题是在抬杠。 , y t4 G' Y% h7 V; U% d! N
* N I& q0 `) A, V( f+ q5 Q5 v4 ^& U3 W
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : 5 x0 ^" C* X) }6 a( F
7 e7 a: S8 f3 S, e
我想一种语言并不会因为其他语言的出现而消失, & @" m# R+ H/ i& f' n, N+ E, O - R/ X. z% x0 N. _/ g8 s' a3 S* o 比如说c与C++,C++与C#的关系。 - Y6 B7 c% ]' d+ t0 c% r
: @% z z8 B1 N: _/ d/ W 所以我想讨论问题时首先是要排除敌视, 9 h6 S9 ?& @ p3 H$ [
. u8 i: E/ T n$ e! E 然后才是透彻的分析。 : o5 v* w b+ U3 }& }) a
0 U: ]. e4 ~6 H4 } IT世界不光只有网络,还有其他很多。 ! {2 u& Z7 e" k4 | r0 ^
6 i9 w G0 ?2 [) P! O
所以某些工具在一定范围内适用是正常的, ) o# y1 L0 t% ?' m o3 h
: y2 t& X4 w. _ 其实在国外, 4 B6 |4 @, X6 [+ |8 y0 X/ @ # @- D, p) |+ T' L# J4 ` SERVER端软件大都用JAVA,而CLIENT却没有多少用JAVA, 4 s9 W! [& `9 P5 R! V( Y
- V( w5 n2 s* P" V! x' N" t
这和速度有关,当然也与MS对JAVA的态度有关。 1 X! p' I' }# H4 F5 B" ` 8 F5 W, D1 e! E, e6 P* a
) {0 O6 }4 ]0 U) s; p4 C, p" q* H
不过我一直认为C/C++不会因为JAVA的出现而消失。 7 B8 i9 z6 T0 O+ ^6 H 2 L( t. c7 H; U( Y
就象COBOL目前为止还在使用一样, ' E6 E( C3 \1 j. v ! \% Z" A3 `9 o: b& X5 l
* l! H( j2 P+ M u7 i0 i8 T$ y 不过以后会有愈来愈多的解释性语言出现,因为解释语言比编译语言的兼容性好,这 9 }" @7 {1 W; E是不得不承认的。 ) U {0 P4 X4 f2 q1 m% K' z% W 5 H0 H( p' T/ Q, { 恶魔吹着笛子来 来自 http:// : , d) E$ |* O {: f$ V F 8 U. P) e1 }' r: a6 i% X
是的wenny.也许我说c/c++的消失有点夸张化了,但是实事求是的说.java和c#的出现 6 b! ?1 K) \! }$ m ' _6 q, ]- H- J1 Z c/c++的升级换代是在所难免的.对么. 4 ]/ I# \! G% t7 z: o8 l( r
; D2 K0 q8 A1 f4 Z4 D
恶魔吹着笛子来 来自 http:// : - a: c8 E& V; e( w1 C0 r# n * t4 @$ k/ [* c 而且我一直认为java和c#不是另外一种语言而是c++的升级.就象是c到c++的升级一样 / f, P+ D* z) q. l0 w5 K.对不对. 9 {2 x3 ~+ v; u , R2 W `, J" c
xcc 来自 http:// : 9 V! B* C, O) o/ s; Z2 e( }3 o: E. Y. j
5 u6 Y& { Z3 I, K; Q, ^% c5 u% ]
同意恶魔吹着笛子,你简直是我的偶像,顺便贴一篇关于C#和.NET专访 3 U. f* Q0 N) a4 ^
N* m3 W9 d0 }' o: R- ?4 M% s
NET and C# Questions with Jeffrey Richter 1 e- ~ ]9 M1 H/ Y0 L) L
, i) m0 f8 s: W5 n* w7 P In the weeks after Microsoft made a huge splash in the development communi 6 U8 u0 {# D$ g/ p$ a5 d4 oty with their .NET and C# announcments at the July 2000 PDC, Jeffrey Richter ' |% Y; T% t2 o7 C$ |) f accepted our request to field 20 questions from our readers about these new ( N& S8 z0 G; p+ G
technologies. As many of you already know, Jeffrey is a cofounder of Wintel T4 y& p( b7 P0 s9 y0 vlect, a company that specializes in Windows & Microsoft.Net training and deb $ I* ?# A) W% Q- g+ U3 L3 G- L/ Y3 [ugging. Jeff is also a consultant at Microsoft working on the Microsoft.NET 4 b" ?, D9 D# _. m
Common Runtime Language (CLR) team in which C# and Visual Basic 7 applicatio " Q+ n! @( X+ D3 q
ns operate. Below are the 20 most popular questions that were sent in and Je $ Q( W' e2 a9 ]( L
ffrey's responses. , [5 F" t1 u- q7 [4 l/ l. e0 k. i" c X# V* G( D- d/ H For Visual C++ developers everywhere still trying to get a handle on all t ( c) {. e, L" _
his: Thanks Jeff!! 3 P$ w# J+ @0 m * R. L$ J# t7 `: F# |+ f6 B
2 q) g% U6 L" l/ f. ]& y
Question #1 Is .NET a runtime service or a development platform? 3 @; m9 n- m8 h1 O
) c. c7 Q+ R' ]/ I0 {* f Answer It's both and actually a lot more. Microsoft .NET is a company-wide ( |( _2 [2 ]* D* G4 |1 X initiative. It includes a new way of delivering software and services to bu 3 O# e/ ~4 P* E7 Y6 k& psinesses and consumers. A part of Microsoft.NET is the .NET Frameworks. The + P- _7 N) l8 @, e/ |: jframeworks is the first part of the MS.NET initiate to ship and it was given ; @+ L/ A& J0 { _. ~, x7 |5 [5 X
out to attendees at the PDC in July. The .NET frameworks consists of two pa % m% I; E+ M9 S! N: D' orts: the .NET common language runtime and the .NET class library. These two 2 k# S& p, ]! \0 ~& {/ `* [5 Ucomponents are packaged together into the .NET Frameworks SDK which will be " {+ Q" o3 E# z- a ]
available for free download from Microsoft's MSDN web site later this month. 7 j8 \, ]7 N+ {' Q/ d4 |% N5 ?, f" {
In addition, the SDK also includes command-line compilers for C#, C++, JScr 8 G X1 `6 ]! F0 f a% M" N" Iipt, and VB. You use these compilers to build applications and components. T / K, Z* V+ F* d: j5 zhese components require the runtime to execute so this is a development plat 8 v; g2 a; r5 `( I b
form. When Visual Studio.NET ships, it will include the .NET SDK and a GUI e 9 X; g1 [& |0 W& v$ sditor, wizards, tools, and a slew of other things. However, Visual Studio.NE / @/ D! C* w; S' H/ ^1 w2 u' O) N
T is NOT required to build .NET applications. & \) u9 s/ m$ J0 B/ Q ' s6 E7 }; o% \2 Q
- d- l4 U# g7 \8 V, S) w, ^% i Question #2 How likely it is for C# to become a general-purpose (meaning: 9 ~+ s1 \) r, s7 l1 H. G' E# y
not MS-specific) language and if so, have any other vendors committed to pro 9 J2 y# w' B$ b2 | ~+ A! A5 P7 Z( Q" ~7 m
viding compilers on any non-Windows platforms? 2 z. i+ W0 g9 ]5 V C5 W! B
, v3 }6 j6 z0 i* y2 C Answer It's hard to answer this right now. I have been programming in C# a + ?$ O, f. c j4 T: r" e( I
lmost exclusively for about the past year and I love it. It only took me a f ! E* m* Z! O, S1 V; ~* }
ew days to learn most of it since it is very similar to C++. It was designed 7 }5 M. ]! a X) [
to compliment the common language runtime and I think that it's unlikely to $ S$ r* u7 i5 i7 W% m% r, ~ gain much momentum if decoupled from the runtime. However, you never know. / l" n6 x( o4 ^' _Microsoft is submitting C# to the ECMA standards body so any company will ea . ]% ~# S* ]) f) k6 B9 D
sily be able to produce their own C# compiler however, without a runtime, th , B& m3 i8 Q! Y% N) B1 r, m2 le compiler itself is not that useful. I'm not aware of any companies current 0 U/ o: z) c2 ]
ly working on their own C# compiler. Certainly, porting the runtime to anoth 9 o8 Q6 f& C" z8 qer OS is no small undertaking. , O+ R8 ]7 `( f" l1 R" s . [# ^$ z8 o5 H8 ]: N
9 a: G) i* y& [& s g- \* X: @: B/ Y Question #3 Can you tell us specific practical problems that C# can fix be * M, P! W7 n1 Z5 etter than Java? 1 w' [2 K! Q5 Q3 i 2 `7 z1 E' u; E9 {6 ^2 l
Answer I must be honest with you: I have never programmed in Java. I know , s: o8 n6 O" `- H' [8 b
what C# offers the C/C++ programmer: simpler syntax, components that seamles 9 d# ^5 z# s& v1 M: l0 w& isly fit together, type safety, and so on. Other people should be able to add ) g: e2 g- i, m! S) v( T0 Zress the C# <-> Java comparison. ) |4 _/ C& ^$ k+ W7 E . ~8 Y: C: E5 q2 J, i
8 \* t# ], V0 \" {3 T& A; _, t Question #4 Will ADO+ be the preferred and most efficient method to access ' ?' e* I! P2 }$ [5 b& ~9 H) d
databases from C# or will it have it own (or .NET) class wrappers for the O 9 K) _$ r: |( X. C {% V
LEDB API? $ d' L2 q P, q3 J3 v 1 m; e: H- t" Z) ~; X Answer The .NET class library includes a System.Data namespace with many t . k: h3 L2 w) w3 K
ypes for database access. These wrappers will be the best (and most efficien & z0 p# Y% x# Gt) way for a C# programmer to access data. N9 A# g- u6 [" f a 0 Q2 c( ]2 y$ D$ F4 n 7 e! C& }, n5 p' W3 r Question #5 Can C# be used to develop Windows applications or is it soley ) A6 @7 i P% }+ Aused for developing distributed applications? ! W) S2 H5 e* W5 I 6 {2 P3 ]% Q8 `; l8 k
Answer C# can absolutely be used to develop classic-style Windows applicat # N4 l$ k4 ~( q' K& eions. Actually, this is more a function of the runtime, not the language. So ' `, o7 G6 o2 O1 s
, the runtime supports console apps, GUI applications, NT Service applicatio ! }( X0 r6 V) W
ns, simple components which can be used in applications, web pages and so on 9 h* o4 P' Q: I1 Y3 @: C, F2 U
. You can't write a device driver but that's about all I can think of that t - n' N M+ |9 }5 r# p; H- @0 Che runtime doesn't support. 0 s' D& [( `- L ^8 T ' c6 e5 e) y* C1 Y- R 3 Z9 m4 x* k; W5 D' B; e+ d
Question #6 What is the C# relationship to WinForms? : D9 M0 s1 O# K* L* ~* m1 E " f9 O* R2 }( t0 ~
Answer Win Forms is a set of classes in the .NET class library that wrap W 9 M( ]% T# @( h+ _' t- }in32 windows, brushes, pens, etc. Any language targeting the runtime (includ ! K( B( j+ m5 W- S
ing C#) can construct instances of these types and manipulate them. This is - O5 W5 r! [2 U7 g/ Dhow you would create an app like Notepad, Calc, or Wordpad. I know that Win , g5 m9 t( f* J) e! Y0 F
Forms has similarity to J++'s WFC library but I also know that there have be E- d# R' h: E$ Z( a3 O* R
en some major changes. 0 w& g( ]/ w# \ " R6 |6 \4 U' ?7 ?, e # U* U4 z C8 m+ d+ V8 a Question #7 Rumor has it that the C# language has been submitted to the EC 4 |; S* |" L5 a+ C& eMA for ratification. Is this true and what impact do you see that having on * g: ?2 g% O8 y; d( i) r# C
other companies adopting it as a general language (such as C and C++)? $ T6 I8 f9 C# G . r, c3 ^2 v! F( o/ i9 t Answer Yes, it is true. I pretty much answered this in question 2. 8 D! J3 I: B$ r
* g* |' L! N* C& r. O
/ W5 [! F4 M8 c9 h
Question #8 Which will be the role of ATL and COM in the new .NET technolo 7 E1 j) \, q( J7 |/ \- \* tgies? 0 m6 t% K& H$ m- t: U: `7 {" S & s7 T* ^8 r8 @/ v. h3 x6 F Answer The .NET frameworks offers a replacement for many existing librarie ) n5 K0 M4 P2 i/ [: y6 I5 A& }
s, like ATL, MFC, C runtime library, standard template library and so on. .N % O1 v7 v: ^1 E, N9 U$ @' g
ET programming is significantly easier than using any of these older technol 9 T# u6 [( S$ K/ L9 g; }" ~* O
ogies. For this reason, I suspect many developers will move away from using 7 Z7 f, c; K( [. b* z4 m: ]
the older technologies. The older technologies can buy you performance howev 4 F5 H( o& D0 ber; so, some people that are very concerned about this will stick with what' - w" y$ a9 u4 g0 X: a* A9 g3 F+ Rs around. As for COM, developing components with .NET is orders of magnitude 9 d N* Z9 L& d. X easier and the interoperation between components pretty much happens for fr 0 A( }# p$ M) o [0 i2 ]ee. Again performance may be an issue for some. And, for the time being COM+ ) }# p4 J7 Y. I" `' r services, like transactions, are not being offered directly to .NET code. Y 0 K6 z4 D( k8 g _; B
ou can still access these COM+ services but .NET code must incur an interope 2 S9 n' H; |( i! B
rability transition, which translates to a performance hit. ' g4 P* \# Z6 I/ w$ K , t8 @- V4 [3 c k " }+ G+ s% @. }
Question #9 Why was the templates feature not carried over from C++ to C#? # N4 ?% W0 P0 N
4 K7 a' d8 r/ V) t) K5 ^
6 |. W$ O5 @1 K# [; W Answer Again, this is more of a runtime issue than a C# issue. First, temp 2 B7 P" }7 g7 f
lates are difficult to implement and Microsoft choose not to do the work for 7 F- {8 a$ n+ d" s& [% m Version 1 of the product. They may do templates or something similar in fut * A, S/ i% i+ d) c0 z+ u' @
ure versions. Second, since the runtime is a multi-language runtime, introdu : f4 o& h l0 c' |% r/ `cing templates means that all languages targeting the runtime would be requi , _& ]$ D+ F1 {
red to support templates in some form. There are a lot of issues here that n % n% K' g5 x. j
eed to be carefully considered. / L" v* K4 O0 ]6 W- ` 6 W% d. A ^/ }7 H' V
) ]1 M l2 P' x9 M/ \/ o) g1 w* m Question #10 Will C# replace the pseudo keywords that clutter ATL COM code 6 q( F% d( i8 L8 ?; l' L( ? with real keywords? Examples: OLE_COLOR, BOOL, VARIANT_BOOL, and DISPID_XXX ( h( s' g8 _6 k% X3 Z( P) KXXX. 7 j! e9 q+ i* r3 F * O: m! M' O3 E7 x
Answer Absolutely, all types have new names as provided by the .NET class ) q0 k$ l4 A7 }" Z r4 k) X+ alibrary. , f3 X2 p8 j R3 H 5 e, t, h y5 p
+ C1 N8 W: h' K$ S- e7 \8 j' K1 Q Question #11 We've seen managed extensions, but aside from that, what futu # Q; F8 K4 v5 J: i7 Z1 z3 J' f5 y: }
re does C++ have at MS and in .NET? 7 X1 w- a5 w8 F6 ?+ f
2 J) f+ B! M/ k3 t Answer C++ is unique in that it is the only Microsoft language that allows # @9 D% ?7 _: u. v5 L
the developer to write managed and unmanaged code. So, I can easily see dev # a+ Z4 j7 K5 gelopers writing in unmanaged C++ for performance-critical algorithms and the 3 f6 b8 ^* C T7 \/ M- an using managed C++ for type-safety and component interoperability. I'm sure % E' s! `+ s0 E. ~/ c) e Microsoft will keep C++ going for years to come: device drivers need it, Wi / {% W7 i. `! q; h4 indows is built with it, SQL Server< Exchange, and other BackOffice products " s5 h+ ]; n( r8 L7 B: Y0 Y
will probably use C++ for a long, long time. " d8 u6 p: Z. s0 l ' i) H( j: h9 D% } 5 i' `' G7 y0 S6 \6 p; Y
Question #12 If .NET supports ActiveX/COM, how will security be assured if / D( o. K- v9 O2 y k) B
a C# application runs from within a browser? - [/ v( V* C: p
+ _( q7 ?7 g( P
Answer The .NET runtime offers code access security, which allows an admin $ y& b+ k4 }& \: {8 j z
istrator/user to configure security based on code identify. By default, any 7 R+ G/ o2 a$ L& C, ~# B
code downloaded via the Internet or intranet is untrusted and will not be ab % s, z0 S- n( Q/ _le to access files and other resources. In fact, when I build a console appl / h3 c+ ~+ \! ^- B; B4 Bication and run it from a network share, I get an exception when it tries to ! y- e7 [) G$ M5 L- N- B" |* a$ k access certain resources. If I copy the same file to a local disk directory ' {* y5 W c. t2 F
and run it, it runs fine. Code access security is integrated with the runti + u9 `6 V2 \7 n4 D9 W6 Y6 _me and is too deep a subject to cover here. 7 k' ~9 T4 w# [ 6 ~; H1 n$ j( U2 U% u* _6 U 8 V4 o7 ?. _( s7 i Question #13 With regards to the .NET runtime, do I need it on the machine ) ]; ]$ t& s1 ?, o
that I deploy C# apps on? 3 ?: g! d9 j2 ?5 U3 | - h) r; N5 a! w" O
Answer Yes. All managed apps need a manager; the runtime is the manager. M 4 |: J5 H7 d! M8 |
icrosoft will eventually package the runtime so that it is freely redistribu 3 k) d' ], |' h9 Lted. For now, end-users will have to install the full .NET SDK from MSDN web ) x3 g: ~1 w/ b2 r z1 X% M9 k6 L' i
site (when available). This is similar to how VB developer must ship the VB 7 u) r' ^) h8 g runtime today. , N' B1 M8 m# E: ^ 2 ]% w5 k2 @. B. M: C3 U % M, L8 B7 X. B/ x1 H$ E! T
Question #14 There has been mention of being able to derive C# classes fro , v/ \9 D- A) m% o w7 E% km VB classes. Is this true and where can we see an example of how to do this 3 ~" y' b5 e2 L6 | x+ B$ A' r
? ' m1 A8 m [9 b5 Z5 O5 p . Q9 x0 _/ Y) L+ Y8 i( H# j2 Z- I Answer This is true. In fact, any language that targets the runtime can de 9 m. U) M+ _' J- ?# f/ Lrive from any type created in another language. Also, the Visual Studio debu & K. E2 s+ l3 Q# cgger fully supports debugging across languages. Each entry in the call stack 4 Y5 {4 b' t1 N( M
window shows the function on the stack and the language that the function w / X% e; m( ~) H) D% F T
as written in. This is very cool and got a round of spontaneous applause whe : j! k) u: l* X0 d+ \" W/ t ]* Un shown at the PDC. There are samples in the .NET SDK that demonstrate how t , O9 f9 D) H( x% Ro do this. It's really quite simple. Actually it just happens, there is noth - c3 H8 ?+ p' R$ ^1 X( a$ Fing for you to do. You can also throw exception across language boundaries a + h( C7 R7 ^' {, b( f
s well for error handling. & f" m) x) J) E S; U) U% h) m' ] l1 h& P: |1 k" [
) u" Z- E. F7 g! F( ?( d
Question #15 Can I derive a C# class from a C++ class? If so, how? . w% |% D; B9 C' n, K
2 c- N; L e: Y. u3 ] Answer Same as the answer above: Any managed language can inherit from a t 3 `! Z" ^) y5 s; K8 n
ype in another other managed language. If you use native C++, then you can't 6 \9 t$ M1 P0 A! d2 `+ ~' Z do this, however. 1 m$ G( O Q$ |, n
2 I ^# T& i, z9 y
, P- O/ y+ B4 L( V$ J7 Q Question #16 Will the new version of MFC have the option of working in a m 8 f" [" V6 |! M' W p i: v7 Eanaged environment? D9 A" G! w7 \2 ]: L4 P
6 T' }+ I1 z( h Answer I haven't been tracking the new version of MFC but I'm pretty sure / ?6 K( H4 w& ~( Rthe answer is no. MFC is all unmanaged just like it has always been. For man 3 ^7 L# z2 g5 c! E: baged applications, Win Forms is the window manager that people should use. + A" S6 q% I9 g' \) s
1 o x( l; `( a ; _. O' a, w: R' T8 f9 a a. ` Question #17 If the new version of MFC will operate in a managed environme & [- P2 T- e& n8 a
nt, will it have the option of building desktop Win32 apps and not needing . ( F! W% C1 q4 J& ]% s8 A( Q( V
NET runtime support? 3 |, |* t1 Z( L 8 Q+ y; a1 B/ ^: K
Answer I'm pretty sure MFC is unmanaged and will never require the runtime ; t/ g {" q9 @3 t6 i l2 ]
. 9 X1 x/ ^; D ]' m( K% t7 S: E
+ [* T4 @+ x1 w9 n
6 ~( _9 n+ Q. p$ @8 c: @
Question #18 Stroustrup has been quoted as saying "I have not expressed a 7 b" z4 ^' l& u5 j: X
technical opinion on C#, and I don't plan to do so. C# is yet another propri . D# ]9 y& q0 t% r
etary language specialized for Microsoft's Windows system." Do you agree or 8 ^" B d( C+ L
do you think C# is more of a generic language open to other platforms? J, l$ p9 P) ]2 e: i
- a* U4 u, E- ` Answer C# is a language designed for the common language runtime; not Wind 2 r8 i2 f; s4 A; F
ows. The CLR can be ported to other operating system like Linux and Solaris 8 p0 S! f: v. z( G1 O
and if the CLR is there, then C# will probably be there as well. In the gran ( t! G2 t6 \' t( T) u( T1 @d scheme of things, C# is not that important or interesting. It is a syntax ) N0 V& A. Z8 N5 l7 I. N- y" Bchecker that spits out intermediate language consumable by the runtime. You / Z4 ~( ]* G- {5 H: gcan love C# or hate C# - your choice. I happen to love it and think is the b 5 e( W. U6 @- R" ?4 {est programming language for the types of applications I write. ' Y$ X9 e) j- O6 P9 x- a
% V4 w2 D3 `6 |0 A3 f5 _ : [# Z7 L( Y2 C; h( C; n1 | Question #19 I heard a rumor that VB7 will allow static linking of the run 5 l! ^9 w$ `! ?
time, like MFC. Is there any truth in this? If so, will C# also be able to c 4 @- ]8 X! A; G, Preate standalone apps? ! _7 P4 F0 x* N# V5 M$ \& F" c M
5 h0 i" i% |8 i- R
Answer This is absolutely not true. No language will able to statically li 4 A* f0 _8 @0 f9 x! N2 B" H* s7 `- mnk to the runtime. ( G/ k8 U/ ~% s% |- y% |- n; w 6 h# ~- v' a# T# K: ~ 8 ~0 R* }- k& _" a) h& A/ w- }
Question #20 Does C# still use resource files? If not, what mechanism is p 2 q# o3 ?* P1 K+ a, Nrovided to allow for localization? : V9 ~/ f* d; t) o5 k7 C4 v; [ * q, |! Q* i) C4 {, D/ O
Answer The .NET frameworks designers have created a new resource model. Re _/ O, G4 B2 P( a" Ysources can be embedded in EXE or DLL files the way Win32 resources are or r & e/ t1 g. r6 n9 Q8 p, u
esources files can now be stand-alone files like a single jpg or bmp file. T # O$ Z, {5 |" _. B6 v
here is also the concept of fall-back cultures. If the Swiss German resource : C; I2 G. _% f7 |7 r can't be found, the runtime looks for the German resource. If the German re 0 a8 q' ^+ J. {7 ]- _source can't be fond, it looks for the "default" resource. Each language wil 6 }+ C" ]* v- Q& ^4 M ol typically be built and shipped as a separate assembly rather than packagin 5 z, H7 v/ Q+ V# K* W) j* A: @9 l( Mg everything up into a single file. Like code access security, a full discus 8 |: C0 ?; R$ {. zsion of the new resource model is too much to put here. ' `5 o4 I4 h' f0 H
9 P, ^9 V% n2 H8 N+ F8 s ) x, { u$ `% q( R# ^' F
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : " h+ n' O4 @& y! ` 2 \9 s# g1 R; x. n
》》恶魔吹着笛子来 . i0 u5 D, m* R
& Y& c: \( \, D" g' i0 X 你好, " X: z( Z' V/ Y1 ]9 }
8 M$ Q+ n k3 z7 L a
很高兴能够与你进行讨论, $ h% P( N0 J+ p7 O6 M : y4 p4 S8 b$ W' R$ y5 O, D5 |& ~ 虽然本站名字叫做vchelp.net ; o" Z( C+ M. k/ C8 L! P. _
5 S! e7 q8 D5 g( U; U% [# @
但我不排斥其他的开发语言,只是自己的能力有限不能将本站内容扩展到其他的语言 8 D; E A$ N' r7 v2 _; Z, * s5 K: @) i4 s* k7 b) }1 ?! L) f
& ^- R) L6 P/ _# L; m# J1 M 但我很希望大家在本站对开发中可能遇到的问题和矛盾进行讨论,不论是关于语言还 % ]$ B& s% k8 c% |( K" K是开发方法的。 1 l+ i; Z: E# f) \* J3 z" b3 [4 b 1 V+ Z3 }! z3 H& [9 F9 Q3 Y
我想邀请你成为本站个人专栏的作者, : j/ I! j# o% u" N% f
& L( g: ^9 T- w6 x( ?! ~, ~
你可以发表一些你关于开发的想法,就算是与VC无关也没关系。当然在时间上也没有 ' _7 D$ B; Q! }) r( m/ e
要求,你有时间就写写。 $ F) ]$ U' b# \9 V' Q0 O$ o1 b 8 _4 y: D. K; P4 P5 D+ I5 D
盼复:<a href="mailtwyy_cq@21cn.com" target="_blank" >wyy_cq@21cn.com</A> # e0 a4 c8 S# T' F" ]$ A % m: s" Q0 a, G2 b% s- ~ cuixue 来自 http:// : 2 x% C6 V. E5 R3 H. r1 F
; B% A k0 n% P$ S 看了各位大侠的话,觉得好像在讨论java,其实历来有两派,smth几乎天天在吵, 0 W" e! E, N) ]) l( D
6 U; g4 h- a1 f9 A# z" p
喜欢java的同志到各个地方布道,连perl也不放过。呵呵。我个人觉得java先天有一 + B3 O" q3 X* m+ _2 I3 c+ ]. M) k0 o些劣势使得他无法取代c/c++的,他的垃圾收集只不过通过一个线程来完成,这对实时系 1 Y' B; y0 s. u0 S: \% Q" o7 H
统是来不及的,EJB的推出也说明java原来是不适合企业级开发的,没有语言是天生完美 * G% Y$ Y m! X9 r8 V的。java最大的困难我觉得来自microsoft的刁难,c#的推出无疑会夺走windows平台上 , m/ F' U. f! {1 a, F4 ~- p的java份额。java的速度也就不说了。jbuidler的速度不能够忍受阿,可是这样一个产 6 L1 X5 H+ r5 N; Z, X! b品就是java写的。由于个人见识不够,实在不能理解海量吞吐的 * w; }% {. W8 v7 S% f6 m/ q : |+ Z# k/ D2 i2 g server用java.oracle用java是实现了ejb的集成把,他的数据库engine是不是java 的 + d4 e" j9 q8 E那?请大侠指点。而且当时号称8i不要操作系统,结果市场反应平平,还好 , q2 Q2 Z7 S( l& ~* K2 f8 F " b$ m! u# @' f6 ?9 I 搭上了e-commerce这班车,:) _( ?" [( P7 P4 J2 B1 K
0 [. P' U4 C6 x. U0 \
在说说我对vc和bcb的看法,这两样我都算粗粗用过,紫云影说得挺好的,比较公正。 K3 G- T3 o$ g/ T* H3 f; ?MFC的确稳定,ATL未免有点复杂,要不WTL就不会出来了。vcl的源码有一部分是pascal 0 I& Y: O7 ?* P, x' u9 f( q$ V% S
写的,这点有点差,不过他的扩展性很好,用用就知道了,决不是好多人认为的vb式的 $ e1 u' w% k( v+ e& R
傻瓜工具。道理很简单,应为他是符合ansi标准的c/c++语言。其实vc是不够ansi的,C ) E! _& q- [0 IString就是不符合的,所以bcb用了 AnsiString.可惜bcb不够稳定。 % e* M5 `2 @3 ]# }/ B5 C- [ + p3 M, \3 D* B 提示太慢。帮助的问题我是这样看得,msdn不是专门给vc的,他是windows开发的指南 5 e& a- @/ l U3 i) f2 ~( B- q: [,用bcb一样也很有用,是个宝贝。 , |) |3 q0 i3 Z4 i
* C6 r7 ` d, x
好了,不说了,反正按需所取把。 & z7 z6 I$ W ?& T$ H1 J# r 1 P* F$ W( e! I) {1 \- G
cuixue 来自 http:// : ' c$ f0 g7 E3 u0 [, A , ?: I% G& r" E, G- Q. w0 s1 U, _( x
xml远程调用无疑是平台无关调用的一大进步,可是这也不能说corba就要消失了, , M1 `9 \. I7 V+ e
6 `! V5 o8 p. O+ \# g: K3 W: A xml这种标记语言虽然提供了强大的标志检索的能力,可是它本身的缺点是与以前系统 2 A7 l. E8 I) v8 C) M
的兼容性,所以最近推出了xhtml以兼容以前的应用。电子商务的应用有不同的类型, " s; b. f4 \9 I3 z+ x