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