2 V4 e3 Q2 J* ?8 N1 G. T It's not a time for us to determine which language will more better! / W( d: B0 ?" i1 B2 l
% A$ @$ w4 U* }" d! N
in factly,In China,too many corporation just writting some codes for 6 a: R6 U# B; O9 Y Z 9 n$ @" E! s: c( [! D- _ r enterprise's MIS,OA,ERP or other application.It do not need so speed , \0 ]4 m k9 s4 C7 S* S
9 q$ T, Y8 E3 o6 \ and do not need so good original code. just want more data,more easy and m 1 a% P: J, o, T: H( l; Eore quickly. . V8 }, c' ]- o- T4 ` / {; m p# M, V% |$ a8 u so c++ is not a choice in such enviroment. and u know,many codes we write & K; E& q0 x! d0 J: ktoday will be useless.and there r so many easy tools such as VB ( |( s* q9 ?) V" U8 ` / ]8 _3 x) r* U% [: [# @ for windows designer, Developer/2000 or PB for database,Domino Designer fo $ S0 g" Z: ^3 W4 H) U
r OA application,why c++??? ) v' g5 W, i9 b" B+ p' S. c( e Q5 q $ h' E9 D1 l4 R# T0 J& j in DOS mode. i like Turbo c2.0, with it and MASM i can do everything. & y) [/ Y9 n2 ]: O6 z) \' w! x4 K2 R ' P6 s- M9 X+ v
but now i hate c++, it has waste my time! my corporation do not need ( T7 P4 ^0 Y0 F" W1 b: W. O
. ^' N, H* ^" c1 D4 h; ]. p so, a tool is just a tool,if the advantages in some aspect of the tool . O! _: \) o" c( o n, y* d , [+ k6 s9 m1 _" }& m# c u needed. it's will be a good tool for u. others it can bring u unfortunat 5 o" Z! l% u/ ?
ly! ) U4 Y9 m6 B7 U, K- ~ % L; k- F; {& K n2 G1 Q* S" @
恶魔吹着笛子来 来自 : $ v- q; V, i, ?; ^5 ^$ j, T) q5 k ( M3 @# q( k& X 果子,国内的Java应用不到10%基本上是ms的天下.这些可能是由于中国软件业规模太小 ' I Y% w3 f/ {, K2 `: c, N1 O, u+ }的缘故.而在国外40%的商务系统的开发都是Java,c/c++不到10%.譬如BEA公司一个有3个 & l2 T. n# a; T/ s& ~, qjava程序员创立的公司开发了第一个基于J2EE的Application Server---weblogic.BEA公 # R! e& x0 L0 e: I4 a
司依靠weblogic在短短4年里成为世界第四大软件公司仅次于CA公司.可见JAVA的功能是 ! Z5 j W2 o; Z! e# |, S
如何的强大.微软的.NET的负责人说,你们想要知道.NET是什么样子,那就去看看JAVA.JA ! K2 c" A3 W3 C( YVA是什么样子.NET就是什么样子. ( E6 f) V8 r8 S* L3 v
/ o6 d4 Z/ w/ ^+ L: f' d i 所以我想讨论问题时首先是要排除敌视, ! A4 ^& e v& |3 J' c/ T
! n* f# r/ }6 z! F$ t" h2 m 然后才是透彻的分析。 0 l; E1 @9 X8 G+ f+ v " Y% Z& m) U* d$ ^ ~, M
IT世界不光只有网络,还有其他很多。 + b8 G3 e8 l( b, o6 b5 @( n
G a. v, g$ x: h
所以某些工具在一定范围内适用是正常的, # L( ]3 ?7 l1 E
5 ~7 R: q9 _6 b. l
其实在国外, " J' Y5 r) Q2 S5 {" S/ c % p( |6 M+ j& p$ n5 ^ SERVER端软件大都用JAVA,而CLIENT却没有多少用JAVA, 7 \: U4 v1 }* m
! y5 [; F+ c: Q. X6 ~6 ]% B 这和速度有关,当然也与MS对JAVA的态度有关。 2 k5 o* `! w1 s1 A
$ _8 ?( `/ R+ B4 e* g/ O/ R9 G- b G1 ?* J) s- k7 P 不过我一直认为C/C++不会因为JAVA的出现而消失。 ! R* ^2 k' E' C4 O: d* ~) a
1 h) |2 D7 ^% U! T 就象COBOL目前为止还在使用一样, + I) n3 W# b5 g7 m' ?. o% ^9 x
( |# C: |5 J* ^9 A3 o y
: b6 S' @( ?/ q/ [+ p 不过以后会有愈来愈多的解释性语言出现,因为解释语言比编译语言的兼容性好,这 ; A- Q: E% W8 S" z/ ^0 K' v! c6 y是不得不承认的。 5 r, c5 [3 o, @6 H " f% e x' U# g/ }% q 恶魔吹着笛子来 来自 http:// : + J4 _1 a* B n. q _
8 w1 v. W. n9 G" W' ^1 V: ^
是的wenny.也许我说c/c++的消失有点夸张化了,但是实事求是的说.java和c#的出现 # P5 p" D! f% ]. D: n( ^
; s8 q: Q/ }2 d2 e$ q
c/c++的升级换代是在所难免的.对么. F6 g3 s7 h% D$ w/ S; y i
3 c( n3 Y# r# ~ 恶魔吹着笛子来 来自 http:// : , A0 X- L8 f, i % |0 h) l9 i) l. M7 w% m5 S 而且我一直认为java和c#不是另外一种语言而是c++的升级.就象是c到c++的升级一样 ) R, {1 J1 I/ j' ]) n3 K+ V.对不对. 9 C; b6 b# K, t0 N
3 [: r& t7 ~! U1 i3 w
xcc 来自 http:// : ) m* a4 G' b L4 ^& {, y. t ; m: n$ C0 f( x: z: q) u7 K' r T' X 同意恶魔吹着笛子,你简直是我的偶像,顺便贴一篇关于C#和.NET专访 + o+ P& z; u+ {* \5 H, C* H
0 j# n: `+ x1 O. v
NET and C# Questions with Jeffrey Richter 8 { G! W- s% P3 c, }
1 t9 J0 \" z! O. X; i In the weeks after Microsoft made a huge splash in the development communi , w' f; K: e5 E3 V/ v
ty with their .NET and C# announcments at the July 2000 PDC, Jeffrey Richter , I2 |! |) @7 O" |
accepted our request to field 20 questions from our readers about these new 4 v2 w+ x) i& R2 n# E; b6 `$ l
technologies. As many of you already know, Jeffrey is a cofounder of Wintel % n5 [+ F: A6 J& j6 ^3 F: i7 Klect, a company that specializes in Windows & Microsoft.Net training and deb 2 q" K7 b4 k) L
ugging. Jeff is also a consultant at Microsoft working on the Microsoft.NET / C- {9 I+ e, D: @. NCommon Runtime Language (CLR) team in which C# and Visual Basic 7 applicatio ; l/ ]% y8 o* \7 m8 ]7 yns operate. Below are the 20 most popular questions that were sent in and Je / z* b) A9 T! B* }' e( j% p W: j" xffrey's responses. ) N( A+ k3 T& _& n0 B1 n' D6 r( `; B# X
! P5 v5 E4 ^' Z. j
For Visual C++ developers everywhere still trying to get a handle on all t 5 `6 i3 x2 s/ n$ P! r0 n8 P9 Phis: Thanks Jeff!! " O! p0 }5 t$ \, n+ O+ u 2 \7 u2 D; z2 X& m4 N& l8 s% z
( |: d) x2 t8 x4 T/ F3 a9 {
Question #1 Is .NET a runtime service or a development platform? - G8 a; n' g5 x7 S
0 f4 o k1 C) C9 }9 Z Answer It's both and actually a lot more. Microsoft .NET is a company-wide 6 k- j0 |" X: j, {% T. q
initiative. It includes a new way of delivering software and services to bu 3 n: h! Y; W2 esinesses and consumers. A part of Microsoft.NET is the .NET Frameworks. The 3 z- V. h$ z, ?. U' k. F0 b7 \1 Aframeworks is the first part of the MS.NET initiate to ship and it was given & L0 D/ ~5 h+ q" `1 Q
out to attendees at the PDC in July. The .NET frameworks consists of two pa 8 o( U: Z( X5 Q' ?# l# ^ |" y. r9 L
rts: the .NET common language runtime and the .NET class library. These two ( D7 w1 ?; _/ h: Wcomponents are packaged together into the .NET Frameworks SDK which will be 3 U3 o1 T' q; O1 j
available for free download from Microsoft's MSDN web site later this month. 3 k1 l& ]3 n9 C1 u3 ? In addition, the SDK also includes command-line compilers for C#, C++, JScr $ A6 t: A h7 |8 f3 F! ?/ d6 hipt, and VB. You use these compilers to build applications and components. T f6 B* M% ]) _9 _) t( Ehese components require the runtime to execute so this is a development plat 6 Y2 n5 t8 ?' y
form. When Visual Studio.NET ships, it will include the .NET SDK and a GUI e # y4 g6 |& y1 Q) E6 H. Qditor, wizards, tools, and a slew of other things. However, Visual Studio.NE 3 P4 W* M- o' E3 R+ e; @2 l7 c% r! g
T is NOT required to build .NET applications. 6 s/ U3 P ?4 C* b/ |6 Q7 k
- v* q2 f0 _' Y. D0 F. I: C
: O8 x) A! I" \% ]. O( s6 N0 _3 S
Question #2 How likely it is for C# to become a general-purpose (meaning: & ]1 s# g4 y) _% Y1 Z
not MS-specific) language and if so, have any other vendors committed to pro . m5 I* T8 {8 a8 L
viding compilers on any non-Windows platforms? 3 ^/ n5 R( s; _9 C$ w: |
8 q( D! N% L1 B- h) h Answer It's hard to answer this right now. I have been programming in C# a 4 |; k6 B3 k! L0 Y% T1 C3 x1 w* I
lmost exclusively for about the past year and I love it. It only took me a f " {7 k9 e A( C# S& w
ew days to learn most of it since it is very similar to C++. It was designed ; t9 D& t0 s0 [: C6 E
to compliment the common language runtime and I think that it's unlikely to / Z! |6 l1 D2 J! D% j* Q gain much momentum if decoupled from the runtime. However, you never know. ( Q! H0 G Z; M* L# M: J' w" s( W7 JMicrosoft is submitting C# to the ECMA standards body so any company will ea + R2 m* e9 _: p" Y7 k: J0 rsily be able to produce their own C# compiler however, without a runtime, th 1 r" Y4 i8 Y/ T& x/ `9 s
e compiler itself is not that useful. I'm not aware of any companies current 9 X' V5 j0 a- ]) f( W v& y
ly working on their own C# compiler. Certainly, porting the runtime to anoth 9 _! [( x$ Q; `0 V2 \/ yer OS is no small undertaking. " {6 Q5 G* M) n( b . z. J7 F! ~6 [* n
& z7 U0 o. ]: A8 H# g
Question #3 Can you tell us specific practical problems that C# can fix be 8 f2 }/ @" ]& H! G/ ntter than Java? - G" m- r& v6 N. N% B+ {" B
" r: _, b4 V2 U+ p4 p5 Q
Answer I must be honest with you: I have never programmed in Java. I know 7 [1 z7 B% l8 v) ?. z
what C# offers the C/C++ programmer: simpler syntax, components that seamles . O) x. K/ s" s1 n4 {
sly fit together, type safety, and so on. Other people should be able to add 1 {! y9 s9 c6 T: {6 b) [; \ress the C# <-> Java comparison. / s, S% f6 u6 q2 Q ' C6 ?1 y) L+ d# A1 I8 E ; ]1 L& N' N4 @) d1 b/ ]0 r
Question #4 Will ADO+ be the preferred and most efficient method to access 1 f+ V: N1 y3 p" ^+ W% V' _ databases from C# or will it have it own (or .NET) class wrappers for the O 6 i$ I! V$ y# R$ }1 A' {4 g$ X5 C
LEDB API? " i3 k# H9 [5 K1 w7 Q& \2 D + N! N! D0 i. G8 P8 v
Answer The .NET class library includes a System.Data namespace with many t " \. N$ e& c. x$ _' `ypes for database access. These wrappers will be the best (and most efficien 9 O' |1 s4 _" d& h5 j
t) way for a C# programmer to access data. / R' r) P. W% v) k3 I/ R9 {
+ F: V% w- w# x3 n/ Y# ^ ! p% J/ X; V/ F Question #5 Can C# be used to develop Windows applications or is it soley 7 e, |6 @: V- b1 }/ ^" e S. X
used for developing distributed applications? & N/ @9 i/ a: w q8 w; _ # W% k9 P& _% C# w7 G" g Answer C# can absolutely be used to develop classic-style Windows applicat 2 e* p7 X/ o( ^/ V+ _
ions. Actually, this is more a function of the runtime, not the language. So ' x* t2 s d, T7 q/ x
, the runtime supports console apps, GUI applications, NT Service applicatio 6 `& |, i1 J' e7 O" B, i
ns, simple components which can be used in applications, web pages and so on + H# c0 {& F3 r6 m. You can't write a device driver but that's about all I can think of that t " }% r3 |+ o5 {
he runtime doesn't support. % Z5 {$ {: ~. x. ]+ h . C$ o, a" d7 r* S ) x( l" W: V W8 x9 b
Question #6 What is the C# relationship to WinForms? 7 e& d8 M8 l( H- f0 }3 E
! L& P) O$ u3 O: g, L Answer Win Forms is a set of classes in the .NET class library that wrap W ) J* W# I1 L( D$ V
in32 windows, brushes, pens, etc. Any language targeting the runtime (includ 1 z/ t" m. N+ h8 u+ U8 t& aing C#) can construct instances of these types and manipulate them. This is / ?) k( [, x8 r
how you would create an app like Notepad, Calc, or Wordpad. I know that Win 0 ~, O& B( }8 ~. ^& B# P
Forms has similarity to J++'s WFC library but I also know that there have be 3 D' Y. U [9 x+ u. R' men some major changes. - u4 B* }! {( U # B: f+ |; }9 v/ g
2 J% m" u6 b Z2 L) @& A Question #7 Rumor has it that the C# language has been submitted to the EC 9 X$ Z) d9 J% \. G# @
MA for ratification. Is this true and what impact do you see that having on 5 @7 g( A8 |0 `$ p# [ O* K4 r# j% Iother companies adopting it as a general language (such as C and C++)? 4 W. K2 A: k/ U& u" F- z " B1 c# Q$ d. U% K' @! }5 J; E Answer Yes, it is true. I pretty much answered this in question 2. ! f! S/ O V5 r E% r 2 [* u. Z! O" V2 a: ~4 g1 u4 J$ f , a+ u( N% [' g7 A6 B
Question #8 Which will be the role of ATL and COM in the new .NET technolo ) u+ G' B" O3 x/ k' P/ b. P& P. z4 lgies? 7 v- d4 b& O$ V* l1 t; w$ B. v; u1 G 7 B; F- `& i4 b Answer The .NET frameworks offers a replacement for many existing librarie 5 _5 E \6 m: }+ [- {
s, like ATL, MFC, C runtime library, standard template library and so on. .N : ^( m$ B+ I% P2 aET programming is significantly easier than using any of these older technol 6 F6 m( i: m, U3 ]" G0 D
ogies. For this reason, I suspect many developers will move away from using 9 x! Q1 z# {4 {( B: ^$ athe older technologies. The older technologies can buy you performance howev 1 e, N8 Z# M" D5 g e
er; so, some people that are very concerned about this will stick with what' $ l9 e) ]3 z6 [3 f* j: k" [7 {* A$ Rs around. As for COM, developing components with .NET is orders of magnitude 5 Z2 D) U$ o6 _$ \4 L# I' u: O0 ?
easier and the interoperation between components pretty much happens for fr 0 I/ U- d% s( C0 w& U, R* v9 O" v8 {
ee. Again performance may be an issue for some. And, for the time being COM+ : X2 t j+ {( i: h+ f& ^$ h services, like transactions, are not being offered directly to .NET code. Y 3 O/ ]. o) |+ R
ou can still access these COM+ services but .NET code must incur an interope . G' R0 V: I( Q! \rability transition, which translates to a performance hit. & v1 C9 R7 r! e 3 H. M+ J Q4 K3 ?9 J
1 m2 A* V. k8 w: v+ F6 y+ H' r
Question #9 Why was the templates feature not carried over from C++ to C#? 6 Q+ H$ a4 q E6 J0 j j 5 [/ d; q: X8 x. M9 z
: b7 ]0 o6 u' m5 y, w Answer Again, this is more of a runtime issue than a C# issue. First, temp 4 a. _$ o' D1 R) X; }/ ilates are difficult to implement and Microsoft choose not to do the work for 6 h/ Z+ ^% j+ g& p z
Version 1 of the product. They may do templates or something similar in fut % V5 n E1 |& A5 T5 s
ure versions. Second, since the runtime is a multi-language runtime, introdu ' i# \3 Q( b/ v) k, T! I. B
cing templates means that all languages targeting the runtime would be requi & V' y7 {3 T% ^% j4 U% K3 d2 L2 o( `% r
red to support templates in some form. There are a lot of issues here that n . H2 ]& z* S7 B/ \% V. G+ o/ T6 V+ aeed to be carefully considered. ; { Z7 f/ S3 I8 i ( `5 F: T( |! I1 S8 ~* V ) K0 N4 K& _) ^9 X
Question #10 Will C# replace the pseudo keywords that clutter ATL COM code " \6 C& s' n* M* L
with real keywords? Examples: OLE_COLOR, BOOL, VARIANT_BOOL, and DISPID_XXX $ U0 ~5 L- Y+ y( u' ^ q; mXXX. 9 h. o, x' J4 P8 ?8 F6 ]4 J; z# i
0 v$ m2 t; m" `$ s4 m
Answer Absolutely, all types have new names as provided by the .NET class / b. T7 |% [* E4 n$ u5 m* y6 S$ u
library. 4 k$ S6 v2 l4 ?7 |% d% M. M7 o/ Z ( w8 d3 e: s+ a2 R) |( E+ c+ k3 i
4 Q5 [( e& z& _: m6 J" n
Question #11 We've seen managed extensions, but aside from that, what futu 4 E* ]5 o7 e( S
re does C++ have at MS and in .NET? 6 A, U3 H/ n0 M& t, B
7 m3 J' G8 u. k3 y1 \( k
Answer C++ is unique in that it is the only Microsoft language that allows 7 R2 |: n% y0 Y the developer to write managed and unmanaged code. So, I can easily see dev ; _7 y2 F$ W$ B, e: _# j5 F$ o. gelopers writing in unmanaged C++ for performance-critical algorithms and the 2 Z+ g% r1 _0 P# l5 l0 [& P
n using managed C++ for type-safety and component interoperability. I'm sure ! `4 V; ~9 d1 v0 F7 P
Microsoft will keep C++ going for years to come: device drivers need it, Wi / v6 q% B0 J6 [6 [4 Z7 v8 Zndows is built with it, SQL Server< Exchange, and other BackOffice products * S% P" X3 s7 `- Y
will probably use C++ for a long, long time. 4 G, ]2 f2 z2 f" d - m) X+ _* r! q4 j! _+ x * D& H9 N1 [ o) }& z/ x Question #12 If .NET supports ActiveX/COM, how will security be assured if : G- A1 }) i, M: M a C# application runs from within a browser? $ }* \2 c. r0 o* j) L; o" k
4 M$ C/ ?8 t: H; s Answer The .NET runtime offers code access security, which allows an admin % {# M. h, H, X. m/ X7 k5 p
istrator/user to configure security based on code identify. By default, any u m5 O+ v% D8 B: p D
code downloaded via the Internet or intranet is untrusted and will not be ab 2 C2 I7 ~+ H m3 n- N% qle to access files and other resources. In fact, when I build a console appl / o8 H0 I6 `) _; o4 d5 i& g) Bication and run it from a network share, I get an exception when it tries to 0 K0 X; e8 A( Z" Q2 y& I access certain resources. If I copy the same file to a local disk directory 0 l5 z4 z+ W& x6 V. d% K
and run it, it runs fine. Code access security is integrated with the runti & u0 m. K/ M. Q! |( p
me and is too deep a subject to cover here. / B. }$ R" N3 F! U; W. O 1 l6 `4 i% @6 D) L6 v [) ^( ~4 X
( g5 k8 }' O/ }' y K! D
Question #13 With regards to the .NET runtime, do I need it on the machine 5 v+ K" V, i6 t% b2 {" f' k that I deploy C# apps on? & p- ~& o3 [$ }
) `6 K$ W' z: z2 y1 a" q; c Answer Yes. All managed apps need a manager; the runtime is the manager. M ) m' B: y% z. f! p J+ |6 ^$ ricrosoft will eventually package the runtime so that it is freely redistribu % m! L' X7 g- o8 ~0 ~# i0 O
ted. For now, end-users will have to install the full .NET SDK from MSDN web ) R. V& A$ v, E& v9 f+ v3 _ site (when available). This is similar to how VB developer must ship the VB 6 J$ Z9 U) W% x+ u runtime today. . _0 _9 Y5 [% i) f 4 H+ v- X0 k+ h+ l
5 E4 n- q1 k& q6 }. r' \& B Question #14 There has been mention of being able to derive C# classes fro 9 q: ~6 ]3 {4 r. ?m VB classes. Is this true and where can we see an example of how to do this 2 h% B( e5 L& y Y) o1 x, X
? ( f4 F1 }7 U4 T. h B9 v 0 h- _- B# S* \; c# B
Answer This is true. In fact, any language that targets the runtime can de p0 L7 W7 R- V) v4 O
rive from any type created in another language. Also, the Visual Studio debu - Q: J2 `7 J# c" J: {: ]gger fully supports debugging across languages. Each entry in the call stack . v, K# x9 U" z& D1 X
window shows the function on the stack and the language that the function w - p6 U4 D* q1 m- k
as written in. This is very cool and got a round of spontaneous applause whe * X5 d6 R5 b% v" ^; ~n shown at the PDC. There are samples in the .NET SDK that demonstrate how t 9 `' x9 J7 ]" P$ s) w
o do this. It's really quite simple. Actually it just happens, there is noth & v7 k! t/ T' m7 S( {ing for you to do. You can also throw exception across language boundaries a 8 O0 A; i3 ^* B: O! {0 es well for error handling. & e, g# m: l& l: }) M. V
# k* d! T; e2 |9 c" S* n
* `3 v0 Q% a1 l6 M7 X& V: Y" H Question #15 Can I derive a C# class from a C++ class? If so, how? , ^2 H% S+ B9 R
% A, n/ V2 y: Q1 C# A% `
Answer Same as the answer above: Any managed language can inherit from a t ) r! w5 X& [+ i0 Z( @9 I! zype in another other managed language. If you use native C++, then you can't & ]# x/ k. E8 M" @! T2 C# W7 V: U
do this, however. + s& G. ^ v3 ]2 L( U h2 K
4 A) P" \( S2 R2 H( Q J7 ?
8 t, N& \! y% k
Question #16 Will the new version of MFC have the option of working in a m . L3 L! z* ]# tanaged environment? 0 V' u# b! i: J0 K% o 5 \0 [9 v( D. G& g3 B Answer I haven't been tracking the new version of MFC but I'm pretty sure : T. u; X& B) g* z v- ~$ V# d
the answer is no. MFC is all unmanaged just like it has always been. For man ' Z, |' A, ^8 laged applications, Win Forms is the window manager that people should use. % }' _# G( d' ]7 w8 X: w' X : o! Y. z8 R( m k- C' { ! ^8 }9 H. l. A3 F# e# |* Z6 R Question #17 If the new version of MFC will operate in a managed environme g. T; o! { S( {. n
nt, will it have the option of building desktop Win32 apps and not needing . ! e/ ?" J# j2 E8 z4 R+ t INET runtime support? 0 C6 ~' q6 G& ~2 H! v% i* J$ z4 P$ ^9 { " }$ ?: `, r1 M }8 [+ ?
Answer I'm pretty sure MFC is unmanaged and will never require the runtime . c* _" E; B) O7 S' Y. ) j A* n( B2 \4 r" M* X5 U 6 D& B! G8 W5 @( n ! [ b5 z2 y ^. L5 z- A! T, u& X Question #18 Stroustrup has been quoted as saying "I have not expressed a + {' D$ b" c9 b5 v; q
technical opinion on C#, and I don't plan to do so. C# is yet another propri , M4 j: B7 l' ?% Eetary language specialized for Microsoft's Windows system." Do you agree or 5 L8 q# ?/ ~6 ndo you think C# is more of a generic language open to other platforms? 9 L/ i, V- S& f; e5 r4 G 1 P$ f, E! a+ [, I% r
Answer C# is a language designed for the common language runtime; not Wind 4 Q2 i- J) b0 i# w8 w
ows. The CLR can be ported to other operating system like Linux and Solaris 3 n j* c, T/ q! r* w9 S5 o9 X# `
and if the CLR is there, then C# will probably be there as well. In the gran 0 W u1 K6 L$ [$ N- w7 k" e5 r4 jd scheme of things, C# is not that important or interesting. It is a syntax : Z/ q/ ]5 ^* |) T$ V0 O
checker that spits out intermediate language consumable by the runtime. You ' u {$ A4 ?. C' x0 Zcan love C# or hate C# - your choice. I happen to love it and think is the b 2 N; Z" a, r1 e# g: _est programming language for the types of applications I write. 1 o' b# F8 l+ V3 h4 X
; o# b; t: V/ v7 B1 s3 @
1 Z e, s: c& W$ I
Question #19 I heard a rumor that VB7 will allow static linking of the run ) d4 U9 _ S2 G' n- d, U+ g }time, like MFC. Is there any truth in this? If so, will C# also be able to c ( e5 A9 R! [1 U4 ^, }reate standalone apps? 3 \5 @$ _+ Q2 X P: v) N/ | ' G" G" T" _. `; b% ?5 [
Answer This is absolutely not true. No language will able to statically li & \2 d( ~+ d& `7 y
nk to the runtime. 3 v+ @4 S8 ~ b) V8 [6 b; k 2 ?/ m" ^$ ]" l! r) S% F
9 A4 m% g) K8 a0 v) m! w Question #20 Does C# still use resource files? If not, what mechanism is p ! F# m% g6 E* m# S! Q5 a5 u( t0 n
rovided to allow for localization? % Y* ]) S O0 u; q, |" b( m) ~/ i' c 2 `1 d G) I: f$ D" s
Answer The .NET frameworks designers have created a new resource model. Re % L* L7 {# `. \3 Q. ^4 {. |1 ]sources can be embedded in EXE or DLL files the way Win32 resources are or r 5 }: e* z( f; i" o
esources files can now be stand-alone files like a single jpg or bmp file. T ) P9 U# o+ G' F% Q) G# C; I2 khere is also the concept of fall-back cultures. If the Swiss German resource 0 f, a. {6 s7 v; o# b& O
can't be found, the runtime looks for the German resource. If the German re ( S# f6 j W/ I9 h' |( Fsource can't be fond, it looks for the "default" resource. Each language wil # `7 B8 U ^: {8 c# }3 F4 il typically be built and shipped as a separate assembly rather than packagin ; A6 {* B* h; Q$ }1 }) Ag everything up into a single file. Like code access security, a full discus x* Y+ n3 V; U2 h# l4 Jsion of the new resource model is too much to put here. 2 _3 w) H! n Q; ?# b, D