& m1 w( p3 a& L, O 毕竟VC开发速度是比较慢的, + Y9 @1 s" I# P: k/ ?
$ H5 ]: S4 x3 U3 E
而且硬件速度的大规模提升也为使用JAVA开辟了道路, x, [% g# t0 }0 d( \% m
) Y2 J/ ]+ H: \. G2 b& m* {
不过microsoft.net的目的是一定程度上改变MS的经营性质,和开发关系不是很大,但 $ V& L( \ Y. b. l1 H
是MS的一贯方针都是在平台上为开发人员提供方便, & q" h6 J9 m# F. k! O- a" A 2 k; f r& E" h& r- Q( Q5 D8 ^
所以C#是为了.net服务的。 $ M9 d2 P a. U; S9 r/ e 9 h) T- w( t- H
3 ]& y. R6 ?. A* H7 v 此外我想我没有精力再搞个c#help.net了。:-P 1 z4 E' z* _ e. U; e1 k
1 m2 h, H: B& E' R! B4 D 果子 来自 http:// : 8 g2 J4 y) w4 X9 u! o. _ 7 G2 Z+ F2 ^- m- ]% O' Y; J "恶魔吹着笛子来"是比较“前卫”的一类程序员。我就听业界的人多次说过JAVA也是 1 h) o# T# _& P3 ~4 L0 {) L. C & v6 |; z+ E5 l8 \
! @* `9 x8 C/ ` 个吹得很响的东西,但实际如何,大家都看得见。至于认为C/C++开发工具(VC, : Q4 d) I& l: I- t2 W/ j: g( L6 b . L5 X7 o' ?& T2 g) P1 z7 U9 D
BCB等)会在一两年内退出市场,就是无稽之谈了。 1 p1 h/ S( K3 O- s; ]; X ; o$ T9 k) d& V5 q- J5 T1 J
Wesley 来自 http:// : 5 k6 J' `4 }& O9 b7 ]$ J" X5 G- _ 7 q0 O- H" H7 s 恶魔吹着笛子来,你的观点很有启发性。能不能写一篇或推荐一篇剖析、比较Java开 % f& i+ o6 q& w, R% l$ ]3 B2 L
发工具的文章?比如Visual J++, JBuilder,以及Symantec和IBM的对应工具。(可能和 2 y* D+ O" `8 v3 y: A' u本站的初衷有些不合^o^) 0 W l. |, e% D- M4 W. f ( X+ R6 Y0 J$ I9 x* C LeoCN 来自 http:// : ' B5 L/ L3 b9 u. M 3 i5 a ^/ I& _# v% l/ w" z0 V It's not a time for us to determine which language will more better! ; _; m( M0 L) _, ~; u0 c% Q
F; g [* R, [$ `$ {$ J" {9 D
in factly,In China,too many corporation just writting some codes for ( ~% h0 c4 Z7 z1 p. ?4 q, r0 R/ b* [ 8 n) i6 Z; l9 z+ p; U( `
enterprise's MIS,OA,ERP or other application.It do not need so speed 7 F" n; v7 {! u; B/ K
: [: v% e) u% K" `, u+ U! M3 ` and do not need so good original code. just want more data,more easy and m 6 B4 k0 T! }% Pore quickly. 3 P) w k( u0 o \5 q2 q8 z" E. c
/ i' _/ [+ I5 X! |
so c++ is not a choice in such enviroment. and u know,many codes we write ! y9 d" |, O. v" w4 Qtoday will be useless.and there r so many easy tools such as VB ) N. N$ T. I( r) @2 E ( `7 ~& v: ^' j; }3 Y
for windows designer, Developer/2000 or PB for database,Domino Designer fo " Q; d& ?9 {1 r, Q. `r OA application,why c++??? 3 g% f; I: }6 H7 z$ b2 m" a - O6 f# }5 H+ {9 k; w
in DOS mode. i like Turbo c2.0, with it and MASM i can do everything. G6 P: u( q$ F2 O) b S* w% Z2 J) s6 H
but now i hate c++, it has waste my time! my corporation do not need 0 O/ r! p! e: E. c
" C7 W. G. w; h
c++,just need java,xml,php,pb,vb,delphi,developer/2000,domino designer etc 6 n1 p, s- J# G( z& t' p$ g
. % O0 c* K& w( Y+ s
6 Q5 X& K( k( H) G0 N9 b so, a tool is just a tool,if the advantages in some aspect of the tool 2 T" @/ N* q; L0 P
, P7 Q0 @9 l! F. u1 B: b u needed. it's will be a good tool for u. others it can bring u unfortunat 1 ~; I' O, n7 @* M/ fly! " @% ~. s$ v8 G 2 }" X$ V, m+ L8 a$ K, a 恶魔吹着笛子来 来自 : & O: [ g( G M5 G s4 U% B & j# c d1 x! J) G: F, s; G6 {, S 果子,国内的Java应用不到10%基本上是ms的天下.这些可能是由于中国软件业规模太小 . c+ R7 M! H5 M5 @. u O的缘故.而在国外40%的商务系统的开发都是Java,c/c++不到10%.譬如BEA公司一个有3个 4 b7 @% F4 j1 [3 _/ tjava程序员创立的公司开发了第一个基于J2EE的Application Server---weblogic.BEA公 & R( k( K- n/ A* u N/ Q; o' @$ _) u. k
司依靠weblogic在短短4年里成为世界第四大软件公司仅次于CA公司.可见JAVA的功能是 0 d% V1 Z# H" V r5 P4 A& X4 W5 z7 L
如何的强大.微软的.NET的负责人说,你们想要知道.NET是什么样子,那就去看看JAVA.JA : }: e: Z- c( l9 ]( I5 e% ZVA是什么样子.NET就是什么样子. . C( U L) @: H7 N% M8 g6 I
: I4 O% _ M; T' O, ~ ( X1 {3 j1 I }) n# z * S* w3 j3 V5 N% z f 恶魔吹着笛子来 来自 http:// : 8 o R1 ]* N# V& D$ b4 u- B
+ q" u8 C' \5 a$ `3 S Wesley你好.关于Java开发工具的问题.从我的观点来看,目前的Java开发工具没有一个 * q, i$ C6 p* N' |令人满意的.最主要的是,在技术上考虑的太多,却不像MS的开发工具考虑到程序员的方便 ' k/ e7 x# ]+ h* S
(vj++是另外一会事情我后面会讲). + @3 {8 ^* @9 R6 R
- C0 n7 L4 _* U$ w3 A8 s, k! P
基本上流行的是sun的jdk,ibm的visual age for jave,samtic 的visual cafe,和bor / t$ ]: G0 p) c! oland的jbuilder(vj++基本上没有什么人用). 4 ^4 H2 Z! `! N$ |$ A; ~
8 n3 `: ^/ e( @7 I5 d3 U
在这几个工具来讲,jdk是老大哥,但是仅仅是一个command line compile.在某些方面 ) X# f; t3 F) _9 [0 s6 o
用ultreditor+jdk会比较方便,譬如你的机器的配置比较的低(memory<64M).一般来说,几 " u. N$ H0 ]. I1 y2 \* V3 b
乎所有的Java工具需要的机器配置都比较高. 8 m" B4 U9 ?$ j
* J0 Y2 f7 P% Q+ e# c) \* D
visual cafe是第一个可以使用的Java IDE工具,我当初学习Java的时候就是用这个.它 % M* r m- y7 i6 u1 b的配置要求比较低.一些比较低的版本譬如1.5 2.032M就可以使用了.但是现在最新的版 + t: E2 O0 W0 k' f. y+ E
本5.0的要求就比较高了,可惜2.0以后的版本没有用过.cafe的IDE开发也不是很方便,懂 ' k U2 a; \1 i. n
一个窗口西一个窗口比较的乱.而且bug还很多.有的时候trace到一定的地方 5 A( c* q( v0 ?; H2 n. S : o( Y7 e: z( J& B2 q0 B
就会crash.samtic是一个系统安全公司不知道为什么cafe却那么不稳定.而且从技术上 4 l/ g+ T; L7 O8 h- l! D ]
来说到目前为止还没有完全支持java2.更不要说j2ee了.从帮助来说cafe的帮助基本上还 " u% B# O, d. [1 M1 J! [3 f
是jdk的帮助没有什么特别的地方. ) C$ [- D1 @. e4 k7 \/ v
9 O, y+ ~6 {$ s7 \9 D IBM的东西往往是吹的比做的好.visual age很复杂功能也很多.支持100%pure Java和 1 i7 j f" J& yJ2EE.但是使用起来不方便,当初为了设一个class path找了半天的help都没有结果.后来 $ k. ]! O/ g' C# R% y" I听别人说要在nt下面设置环境变量才能成功.而且与其说是visual age还不如说是comma 8 ^/ |* [) Z. w1 x/ Snd line套了一个windows壳子.做application还要自己写layout代码更本就不visual. ) ^$ J9 ]1 f, t
3 i6 J4 _" O5 c7 l
Jbuilder是我目前遇到最好的一个,它的界面基本上和delphi c++duilder差不多.他是 , l" v/ [5 ^. j) M- u1 q第一个真正的java的rad系统,第一个全面支持j2ee 13项Java技术的工具(bean,jsp,rmi 4 E9 L* i/ a. {" v
都实现了).100%的pure Java.相当全面的help document. : @5 [+ b! U' f2 |4 i
. |+ t) m' K2 x' [2 f- y 但是他最大的缺点是系统要求实在高,没有128M别想用.64M下面慢的像乌龟,help更本 ! ~, I3 ~. J" d4 v# x0 K
不能开(它的help都是java写的64m下面打开help慢的能够看到一格一格awt画窗口的过程 ; q# g ?2 ]6 R9 {* M3 i
).但是不管怎么说他是一个比较理想的系统. 3 U. X! G9 n& F+ {. |' \ i8 ]
/ {3 W- p. l3 }/ m
至于visual j++.MS更本不是想用他来打开java市场,而是想用他来分裂java.从很大程 3 q/ f3 ], W# v/ q
度上来说vj是一个windows 程序的java开发工具他不是100%的pure java.在windows平台 5 \+ L; L: e6 A( q( Y q5 p上他是最visual的.用他开发application,你不必用复杂的layout,只要像vb一样填写坐 9 X: b( H5 m8 o0 m* q& y3 K$ _
标,而且开发的windows程序速度很快完全100%的本地代码.你可以把它看成java版的vb. + l$ |$ B4 X+ r, O t. X
他的wfc库仅仅在windows上能够用,而且使java和com捆在一起.他自己开发jvm,java库. 5 X" q6 L# R+ W+ l! ], o! n+ b* [
但是ms污染java的策略相当的成功,不仅把java逼的走投无路还在法庭上赢了sun的java . w& b1 a( T& V5 s$ a+ m8 z
官司.因此ms的目的一达倒就把vj便卖给另一个公司而且随着c#得开发和得不到sun的j2 ( f) }4 d' H# X, {( z" yee的许可我想ms不会再开发任何关于java的工具.如果你开发java的同时还想使用ms下的 $ A W4 ~! x6 @5 z
com,ado那么vj可以适合你的需要. 6 M& e8 q$ r6 z. t" Z% n ' y* n2 A! m* @" q1 S& x % O) H* B) w5 I2 Z1 U# O, l 9 s2 F* C2 N R- q5 ?
# n8 H9 q$ t0 K# x* _& Y2 X) N
$ v( r( E) D5 H6 Y% L2 s) k + D5 y2 N$ |# i
1 a0 v( n3 x4 R* u 2 {) P" J- N- y# G chenxiqi 来自 <a href="http://chenxiqi@yeah.net" target="_blank" >http://chenxiqi@yeah.net</A> : % Q2 e7 S- d' j' W, U( L9 {% D v) [' A4 P% Z+ S% Q
VC++开发数据库软件确实比较慢,可有许多软件只能用C/C++来开发,如果VC++退出历 8 s2 C' D) q# U& N
史舞台,那岂不是说只有数据库软件才叫软件,我想世界不会如此单一。 - ?- K9 d- ~) C9 j , S0 S; v9 t7 h/ m4 c- S
/ ^/ M. V' Z' s4 z# d; K, s
zhangxiuyong 能告诉我什么是MVC的开发技术吗 1 L8 z4 M2 S& F7 l! W / d! W3 I, {( {; Q$ L( w+ F
恶魔吹着笛子来 来自 : , w1 n. g! `! G: J ! q _$ ~5 P. ^3 k m
什么样的的软件只能用c/c++开发? 4 C5 ^1 h4 Z6 A( s+ V ! D2 n: U, c, b6 b# }
操作系统?apple的OS7,os8,os9都是PASCAL开发的. 7 f% a* L4 i2 {: n8 X6 G7 R ) H! m) v) b3 R1 t& p$ u4 N3 U4 Y$ a 数据库?oracle8i就是JAVA开发的 ! A+ O& u T2 R( ^! S" @; Q. o* w 7 g c( Q! ~, Q2 x: s4 a/ i
游戏?你也许没有见过用DELPHI开发的<笑傲江湖><风云>,甚至有VB开发的<神龙教> 1 T: }$ X& L% c2 i* i* z6 ] 3 A" S6 y2 R _9 y
同时VB7.0全面支持direx8.0.可想而知游戏的难度会大大的降低吧. & |" d% O3 ?- {4 j
( ?/ J! M# J3 l MVC=Model, View, Controller Design Pattern 3 j% M1 O6 m% l2 P8 Z 5 n7 f0 ^# f4 h1 v$ y
# ~' R; }) K- b 3 T7 |0 u8 w& i
恶魔吹着笛子来 来自 : * J* d7 T# B4 }8 K1 B4 g8 z+ n 8 h& `. h5 C+ i
什么样的的软件只能用c/c++开发? 2 A7 o. h5 v+ i; P9 X: ^ |
( M6 G( C4 {) B% U o" D* u
操作系统?apple的OS7,os8,os9都是PASCAL开发的. : l& N: p5 _$ A0 M - X5 y3 e0 i$ A& Y9 b0 ] 数据库?oracle8i就是JAVA开发的 3 V( c) _/ M) b$ @' V& m6 T( S$ ^ : D6 a2 v* n1 w: ?6 t! U 游戏?你也许没有见过用DELPHI开发的<笑傲江湖><风云>,甚至有VB开发的<神龙教> % o8 s1 E# ?: {/ d, L* s5 P
8 ^; P7 ?/ P9 T) T3 q9 e 同时VB7.0全面支持direx8.0.可想而知游戏的开发难度会大大的降低吧. 8 q( ~6 V9 \, ^) I+ } 9 A5 g, ~* ^+ N( T7 E! o
我的意思不是说c/c++会消失而是应用的范围将会大大的降低并且将会进行脱胎换骨的 . I1 P4 d2 G& J) n2 {! {; l3 F- |升级(用了20几年升升级总可以吧,java的升级不算太成功,但是是一个不错的先例我想c : R$ Q# \" h9 J7 G9 V1 v) T#的前景会更好). , [3 f# M9 i: x8 }1 {4 s3 \ $ q* {+ d) C R$ E& g/ i6 K) b
BTW: * t9 U. B; U# z% H" v
U( {0 p) w4 C% ]* V
MVC=Model, View, Controller Design Pattern ( }1 e2 A) L3 C5 t' y- P. e6 c
9 I! a! s- y/ k# O" a 5 [" E- {: n. @; E! S
$ l0 i/ g: B3 \( ~+ p
xubin 来自 http:// : 2 b9 D2 A& _+ r( }5 l$ c9 Q3 @
) m/ y- j2 m+ ^) G& U$ ]$ }
在工业控制中,直接对I/O地址操作,就要用C++。 5 M0 ^7 ]9 t' ]& v+ {/ Q4 h ! M5 k9 B& p( B( b8 I. D 恶魔吹着笛子来 来自 : 3 h7 `; D" O5 O: n - Q. W2 @6 f5 X* c' c+ y
俺有一个同学毕业设计用VB做单片机。你这不是在讨论问题是在抬杠。 6 T1 C( |! ~, h; ^! L$ ^ 9 F4 O5 L) m2 W6 @( P; i$ {
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : 0 ]- k; G8 R7 [ x7 V$ L
/ j( e- U9 ~9 z
我想一种语言并不会因为其他语言的出现而消失, 7 A# y* }/ `% T0 s' `0 o" h
! b0 j7 m( {9 p2 y* F0 a
比如说c与C++,C++与C#的关系。 & c, \3 L5 M$ W6 g 4 b1 b; ^ }6 j6 I" R. z$ z
所以我想讨论问题时首先是要排除敌视, , y% F( k4 m" J& c; s/ _9 d$ I0 B" W # v; N0 T/ [0 M4 N+ S7 j
然后才是透彻的分析。 ; D- t) F2 t1 y 7 d% c' k) L6 ]8 N& X: n IT世界不光只有网络,还有其他很多。 # Y N' ]/ R7 M: P* U4 T8 O0 ^
I- J% G, p/ f0 i
所以某些工具在一定范围内适用是正常的, ( `( g8 L% T/ }. {" N' ~! `" s! Q
9 M$ o" x6 j# l! J. [ 其实在国外, 9 |2 X) _2 O& o$ N. ]3 q% |
. J0 e9 L! q' k9 I- u
SERVER端软件大都用JAVA,而CLIENT却没有多少用JAVA, * `, u: [" c/ O$ ?0 f - E8 R( Q5 v3 a' y 这和速度有关,当然也与MS对JAVA的态度有关。 $ T+ g8 z |) u$ C& ^ \. a0 v3 C 2 ?" t9 K v" F2 S! {% F2 g ' a6 e1 G4 F& R/ R* t
不过我一直认为C/C++不会因为JAVA的出现而消失。 + Z: c4 @" m5 ]9 p" t/ y 9 i# I: ]" `* q6 Q8 P 就象COBOL目前为止还在使用一样, 0 o$ {; c" g: R8 q& w8 B( A0 l8 { ) U8 M1 f. V! F, i
7 W0 u: w. ^6 N8 ]* H
不过以后会有愈来愈多的解释性语言出现,因为解释语言比编译语言的兼容性好,这 - G& k5 G+ P) V
是不得不承认的。 b1 p# E, H8 ?" Z
; h; C- h# ~& @: T. p. s 恶魔吹着笛子来 来自 http:// : " ^0 I; b$ C: `$ `6 H: \ l6 W , }; v. J6 [: o1 H" n- a8 D2 D
是的wenny.也许我说c/c++的消失有点夸张化了,但是实事求是的说.java和c#的出现 8 L# X9 v' K+ l* Q" n$ E
7 j. l& S( g' ?. z [9 h) i. s5 A
c/c++的升级换代是在所难免的.对么. & w0 c: i, }) o. ~6 a* U
7 Y- s- N4 U% j) X) m5 e
恶魔吹着笛子来 来自 http:// : E+ Q6 a4 |0 i" p4 F& A
6 y/ U! I' N6 k2 H# S1 h- q( b
而且我一直认为java和c#不是另外一种语言而是c++的升级.就象是c到c++的升级一样 3 h" E6 O h- R; }1 m9 y$ A6 k( C
.对不对. ! ?6 C* Q5 X: N4 {+ p: g, y {9 ?# L6 W% G1 B. d( I. V
xcc 来自 http:// : " v% n# S$ N7 f7 l9 w( J & G7 ~% b; z$ o* J* ^( K
同意恶魔吹着笛子,你简直是我的偶像,顺便贴一篇关于C#和.NET专访 4 n9 O$ o/ x1 Z/ m* M h8 P
8 J6 V" [5 S5 s. z6 {. I
NET and C# Questions with Jeffrey Richter * B6 o4 X) G# u# T' \ . r. Y3 l! k; M" Z In the weeks after Microsoft made a huge splash in the development communi . ~9 f0 M4 m4 j- q
ty with their .NET and C# announcments at the July 2000 PDC, Jeffrey Richter 8 n# @- B# m' U
accepted our request to field 20 questions from our readers about these new 1 v. h: E y, x9 H! Z6 ?. h
technologies. As many of you already know, Jeffrey is a cofounder of Wintel 2 q x6 g" s3 h4 E
lect, a company that specializes in Windows & Microsoft.Net training and deb . S5 j) @/ k4 v6 Y* @6 e3 s7 F9 Xugging. Jeff is also a consultant at Microsoft working on the Microsoft.NET / [: c: A# t. E* p( l
Common Runtime Language (CLR) team in which C# and Visual Basic 7 applicatio ' r' Y+ a* {2 `' w' {& e6 g7 uns operate. Below are the 20 most popular questions that were sent in and Je + B: O2 m0 U* A3 y) e# Hffrey's responses. " F4 x7 _6 N0 f4 S( G P / M0 [# a# F& V' A; o
For Visual C++ developers everywhere still trying to get a handle on all t 9 T. v( v% V, w& Dhis: Thanks Jeff!! ' s* l8 p" Y0 a
5 q* P3 [( N0 Q( n
, p$ ?; {- e3 F W j- u4 {0 L, H
Question #1 Is .NET a runtime service or a development platform? ' C, |8 Y7 r; H& t& A% h
1 s0 P7 @" E. \- N4 J: z. w8 z1 | Answer It's both and actually a lot more. Microsoft .NET is a company-wide ; ?' U% Y- V R6 ]* y5 m
initiative. It includes a new way of delivering software and services to bu & h( Q9 Y- K1 [( L3 {$ F5 U
sinesses and consumers. A part of Microsoft.NET is the .NET Frameworks. The 3 ` I& {4 U# c; Q _2 Z5 K% f, k) |frameworks is the first part of the MS.NET initiate to ship and it was given 7 ?* V1 t! S0 B out to attendees at the PDC in July. The .NET frameworks consists of two pa ; b. P0 R) x+ M4 Brts: the .NET common language runtime and the .NET class library. These two ( p3 b, b7 ?$ L* l% B: r
components are packaged together into the .NET Frameworks SDK which will be 2 d0 M3 u8 v c Qavailable for free download from Microsoft's MSDN web site later this month. " L A$ V6 o; E
In addition, the SDK also includes command-line compilers for C#, C++, JScr f: Q" d/ c) g6 X4 {) N
ipt, and VB. You use these compilers to build applications and components. T / N2 A* a0 J8 D/ g3 s9 o/ ~hese components require the runtime to execute so this is a development plat 8 x4 s0 f6 t$ u- S; `
form. When Visual Studio.NET ships, it will include the .NET SDK and a GUI e 6 M, V7 E- I- ?7 s/ Z& l' _ditor, wizards, tools, and a slew of other things. However, Visual Studio.NE 0 W% G1 y$ Y5 u( b* @( S
T is NOT required to build .NET applications. ; R4 T; ^' S; |6 S: O4 b8 z! p/ x$ ?4 G
- ^% @, o+ u9 W% j; C+ N % _ |% b4 A' ]3 D: s. ^$ j0 b f Question #2 How likely it is for C# to become a general-purpose (meaning: 5 ~: x, c8 O; w l4 w# enot MS-specific) language and if so, have any other vendors committed to pro 5 ]! _# |' {* l2 _9 g. Eviding compilers on any non-Windows platforms? ' f$ ~' ]4 i3 K: ~9 c
; f. l: v2 ?+ x0 d; u/ S6 H Answer It's hard to answer this right now. I have been programming in C# a - H/ K# z0 q+ A* ?2 G9 _lmost exclusively for about the past year and I love it. It only took me a f # ^! o/ C3 a: p- Z, Bew days to learn most of it since it is very similar to C++. It was designed 9 G5 [+ Q% s8 n; U to compliment the common language runtime and I think that it's unlikely to 9 X# v# L A6 b, |6 D" g l
gain much momentum if decoupled from the runtime. However, you never know. $ N! E" w' H' b$ x1 B, G) N
Microsoft is submitting C# to the ECMA standards body so any company will ea " ?6 w. i( K0 m$ |0 L
sily be able to produce their own C# compiler however, without a runtime, th $ F; Q3 `# S0 S: ye compiler itself is not that useful. I'm not aware of any companies current 7 m. m2 U$ Q; u) J9 ~2 p
ly working on their own C# compiler. Certainly, porting the runtime to anoth s1 f" E; a) t1 M6 ?' k
er OS is no small undertaking. ! `! m. ~- U& Z0 o$ M 8 B8 R, ]* W) t/ H7 _5 E2 p2 O9 G 7 S% p5 J* E/ |6 x
Question #3 Can you tell us specific practical problems that C# can fix be ) p" E+ p" y1 ]- C! {: qtter than Java? ; w" f! p5 P, r" z% a# Q
% k7 V+ ?& {7 U9 U6 {
Answer I must be honest with you: I have never programmed in Java. I know ' E. y) p+ X' \3 O3 dwhat C# offers the C/C++ programmer: simpler syntax, components that seamles 2 h7 d3 r+ h- ~+ ^1 E4 ]
sly fit together, type safety, and so on. Other people should be able to add + }, O& F) [1 D( d# @; P- fress the C# <-> Java comparison. ( T' y7 G; ~6 _( M# S* U; d. O ; A5 z7 M+ @# T: t
) J! g7 O' e) g; R- N Question #4 Will ADO+ be the preferred and most efficient method to access , q X5 e% S' d
databases from C# or will it have it own (or .NET) class wrappers for the O $ d4 ^+ C* o$ w" t- FLEDB API? ! ?" `' ]% M: @1 s6 Z
/ C6 w! @) O+ _7 o* g Answer The .NET class library includes a System.Data namespace with many t " M0 x/ r* i6 |2 P/ F
ypes for database access. These wrappers will be the best (and most efficien 2 B3 [) q+ L. G' t4 Z$ M
t) way for a C# programmer to access data. - D& L( G& Z# Z( N3 Q( F# _7 ]
' s H$ \1 R" g3 X+ D9 E5 }& o / n* p% P* }) P+ T* t4 s2 v' Y
Question #5 Can C# be used to develop Windows applications or is it soley K. @* I# f/ C: m& h+ Bused for developing distributed applications? ! J/ I7 P% u3 k1 n2 S8 S
: h m+ N3 h' W) `+ p1 c' i7 ~
Answer C# can absolutely be used to develop classic-style Windows applicat - Q2 t, w, ^. {9 q, V# Kions. Actually, this is more a function of the runtime, not the language. So 0 {# y% l! {8 }7 q& H7 ]
, the runtime supports console apps, GUI applications, NT Service applicatio / }" v6 a3 H& q( {ns, simple components which can be used in applications, web pages and so on 3 Z0 e6 r7 L5 T% {% I f
. You can't write a device driver but that's about all I can think of that t 6 I1 ^8 c) O' f ?( ^
he runtime doesn't support. ) t+ n# W Q* ?, M6 } ) o6 C1 d" U0 |" ~& h3 P j |$ a . f" u: o; R8 }; [, q8 c
Question #6 What is the C# relationship to WinForms? # i$ r; x# _3 ?6 M8 m , ~1 Z8 Q- d. @1 l6 F; I Answer Win Forms is a set of classes in the .NET class library that wrap W 4 E; d' ^( K3 R6 k, F6 z, i Qin32 windows, brushes, pens, etc. Any language targeting the runtime (includ 6 a& l4 d( H$ ^0 D v$ n
ing C#) can construct instances of these types and manipulate them. This is % \3 Y8 `% h( Z1 Q+ u9 ^& ehow you would create an app like Notepad, Calc, or Wordpad. I know that Win & m2 R3 n6 J) Q) C/ h0 h6 ]) v
Forms has similarity to J++'s WFC library but I also know that there have be # Q9 J/ m% I* P" \$ w6 |/ [
en some major changes. ( T9 B) Q) T9 f# f8 K
1 C( T, |/ k+ t/ {) Q$ W4 F+ H; ~- i
% ^, d/ e2 c N c' z Question #7 Rumor has it that the C# language has been submitted to the EC ! i+ Q& B( {6 O0 L
MA for ratification. Is this true and what impact do you see that having on 4 n9 p$ V9 u; L. _- A- J1 i. gother companies adopting it as a general language (such as C and C++)? + f v0 o7 x i. u+ F# @8 i7 i( | , \5 V# n: ?" R+ L; H) t- `
Answer Yes, it is true. I pretty much answered this in question 2. 1 J0 x# _2 H. v: v9 {( y ~* c2 G 7 x" I: ?. s8 a+ X$ n
8 P" z- ]( V6 n, f6 f2 x
Question #8 Which will be the role of ATL and COM in the new .NET technolo . w9 H" ?2 L; q/ w7 o* V9 D) {% g# fgies? % t& H c I+ k2 s+ M; \ + I: Q1 H% e% j9 @5 C0 O: c Answer The .NET frameworks offers a replacement for many existing librarie ( c5 n S9 r) S# |( Y% F% vs, like ATL, MFC, C runtime library, standard template library and so on. .N + I' r' B7 F, | ~' qET programming is significantly easier than using any of these older technol 6 o" _7 r( v! Z, e& gogies. For this reason, I suspect many developers will move away from using ! U% u! a4 K9 C$ ^- o1 g1 B) Pthe older technologies. The older technologies can buy you performance howev 1 q5 x; g( B% Ker; so, some people that are very concerned about this will stick with what' 3 h5 P7 U7 t1 B" F- M
s around. As for COM, developing components with .NET is orders of magnitude 6 R0 T r# |4 a& ?2 f' y1 \1 W
easier and the interoperation between components pretty much happens for fr 7 V3 s5 a0 I2 B" s ]' }# H
ee. Again performance may be an issue for some. And, for the time being COM+ * ?2 u7 Q3 r0 ~( N) c* l
services, like transactions, are not being offered directly to .NET code. Y 5 d8 J, ?7 `" F7 [
ou can still access these COM+ services but .NET code must incur an interope 3 ~" M+ _) M% I: Wrability transition, which translates to a performance hit. : u* T! F4 B6 V% }$ R; q - Y9 }4 j8 O" f# i* J" X
" l! u( E7 M, j* z Question #9 Why was the templates feature not carried over from C++ to C#? 5 p- `. ?+ `- p
$ H: \9 T) n7 I+ g. w7 q( W
# Q& Z$ M9 x3 `8 Z8 y# Y# h5 m$ Z$ n, ` Answer Again, this is more of a runtime issue than a C# issue. First, temp 7 \% `$ n. O/ U! ^; E$ A
lates are difficult to implement and Microsoft choose not to do the work for v9 W/ f$ ~2 e: B( v& G' p- f Version 1 of the product. They may do templates or something similar in fut % h' |0 m/ Q4 a) y { d9 n
ure versions. Second, since the runtime is a multi-language runtime, introdu & I: F) U' h j4 j
cing templates means that all languages targeting the runtime would be requi . J" n6 S t" }/ z
red to support templates in some form. There are a lot of issues here that n * `- Z8 I! V) @! p7 H# Q2 q
eed to be carefully considered. ) e- m9 M- T1 Q$ E( P0 S4 j+ A" r" h 2 P7 U) R- D9 ^ 5 w" c* E3 W0 s$ j. o# L
Question #10 Will C# replace the pseudo keywords that clutter ATL COM code 6 d9 ]- r5 [ F0 p
with real keywords? Examples: OLE_COLOR, BOOL, VARIANT_BOOL, and DISPID_XXX ; Q& z" o e# S U# |, Q1 W
XXX. 9 a' W4 b, L' E; Q5 Z
* h: _2 P- o8 d8 I2 m- G Answer Absolutely, all types have new names as provided by the .NET class ( }+ {) d0 G7 k* V8 z
library. + e7 V0 ~+ |3 j: X * F3 s$ z# H/ S2 s, S: O ' i1 e5 |" n: ~# z Question #11 We've seen managed extensions, but aside from that, what futu " r z- {/ T6 ~' `1 a) f& }, o% m
re does C++ have at MS and in .NET? ) j: J- @% C R8 _& j& q
6 {7 g' Z$ e4 f3 o7 |
Answer C++ is unique in that it is the only Microsoft language that allows / t) q+ ?0 @, [9 J, v; M+ J
the developer to write managed and unmanaged code. So, I can easily see dev $ ~% d0 t/ }" t6 delopers writing in unmanaged C++ for performance-critical algorithms and the 2 h! C3 w4 @* p; m; a
n using managed C++ for type-safety and component interoperability. I'm sure ! Y; ^0 x0 q; a7 O: d9 Q" f/ B Microsoft will keep C++ going for years to come: device drivers need it, Wi & a. K9 L5 A. ?
ndows is built with it, SQL Server< Exchange, and other BackOffice products 4 ]5 N9 v8 l) _, p, n a
will probably use C++ for a long, long time. . P9 i, Y. |3 R, p, a
4 _* j5 `, z' R4 m' f& g! ~' e 1 x% T' S% q6 k Question #12 If .NET supports ActiveX/COM, how will security be assured if 0 B3 W$ L# n9 I6 V/ n* T0 |5 f a C# application runs from within a browser? - e# g: r( K+ ^% k
! b5 ^( b B5 u8 T5 x
Answer The .NET runtime offers code access security, which allows an admin / V5 C1 q$ s' t9 ~2 Sistrator/user to configure security based on code identify. By default, any ' b4 O6 H8 O6 W8 C( Tcode downloaded via the Internet or intranet is untrusted and will not be ab * |9 R' R0 C' }8 o1 V4 ?le to access files and other resources. In fact, when I build a console appl , M( e+ }' X' _! ]3 Z- j$ ?' J
ication and run it from a network share, I get an exception when it tries to ! H+ m1 B- u' C/ ^ access certain resources. If I copy the same file to a local disk directory 0 s% z% f4 c# q7 m( N" o: b and run it, it runs fine. Code access security is integrated with the runti ; D3 q+ I% S0 b/ @; vme and is too deep a subject to cover here. : q S+ s2 ^8 O T/ o4 i
; y6 R' Q. v7 K/ V) R
) }$ N: ^7 `, j3 W/ n& C9 i Question #13 With regards to the .NET runtime, do I need it on the machine 6 a0 k" T* @% Z8 i% T+ u1 b that I deploy C# apps on? $ R Y+ F' Y3 R
* v# t8 h [% q: g Answer Yes. All managed apps need a manager; the runtime is the manager. M * X% S& Y9 w) w$ V D# Q2 \4 g
icrosoft will eventually package the runtime so that it is freely redistribu 6 c, ^' t$ S4 \- S5 L
ted. For now, end-users will have to install the full .NET SDK from MSDN web 3 R9 p1 ]$ t3 {& y
site (when available). This is similar to how VB developer must ship the VB : V L1 I2 `* r1 g/ @" t. i4 r runtime today. & v+ d2 R, G0 b4 ^* L % T" j5 J7 V2 R- p
+ R o. P- S* g. E. ~ Question #14 There has been mention of being able to derive C# classes fro ; [0 V: |+ b6 m/ f3 T0 a( gm VB classes. Is this true and where can we see an example of how to do this 0 [# `8 F& Q$ i* X? , n0 D$ U7 n/ Y" p8 F6 A0 g; U
" A, l. c$ z' O
Answer This is true. In fact, any language that targets the runtime can de 6 H# ~" c$ M) _* R* o7 S& _rive from any type created in another language. Also, the Visual Studio debu 3 v, M5 O. ^3 k: n; z; `
gger fully supports debugging across languages. Each entry in the call stack 7 N, ^$ x2 n" r) c3 [
window shows the function on the stack and the language that the function w 3 S& y1 c4 F |' N! F& A5 Z. r4 n
as written in. This is very cool and got a round of spontaneous applause whe ; u* U9 T! D, z8 f! W! q# J& G& \n shown at the PDC. There are samples in the .NET SDK that demonstrate how t $ C) A ^8 C6 P6 y, ~4 Ko do this. It's really quite simple. Actually it just happens, there is noth % \ N; m, k6 `+ Z- e$ d0 {* ring for you to do. You can also throw exception across language boundaries a " p) M$ u; F4 J4 x# ws well for error handling. 5 `/ F7 D! [: ~0 O . L, e6 s0 q$ L+ |. F6 Q% O* Y/ \' P3 u5 s
f, v' I" w. N
Question #15 Can I derive a C# class from a C++ class? If so, how? ! }0 R$ ~+ i1 W2 ~
3 x# H C8 y' d; J. e
Answer Same as the answer above: Any managed language can inherit from a t 0 u9 t7 }9 x. K; qype in another other managed language. If you use native C++, then you can't " G7 f: n A7 O$ A! r" J
do this, however. . n3 r) [# {6 A2 o " f' M( o% O _8 Z
7 y0 ?" Q2 J! J" P; E) N Question #16 Will the new version of MFC have the option of working in a m ; t+ ` c; l9 Q! @+ O- ~anaged environment? ! G+ v7 O; ^8 ? D Y, M j/ {
% |' W! `+ z; \& {6 L Answer I haven't been tracking the new version of MFC but I'm pretty sure * \) _( o+ m6 S0 \6 athe answer is no. MFC is all unmanaged just like it has always been. For man 0 x2 b' X2 f9 ?, s% g
aged applications, Win Forms is the window manager that people should use. ; ?1 ^' |/ H5 R- s
9 a+ M1 S* Q2 S, }
2 M3 K5 A% }, n& a- Z5 v$ y Question #17 If the new version of MFC will operate in a managed environme - w& C( e/ m6 k6 F4 r8 N
nt, will it have the option of building desktop Win32 apps and not needing . 3 J/ [+ q2 h' M, {$ v0 A) q1 eNET runtime support? ) h9 c6 u, }: y. x. h
/ O. X7 P. ^) Q% J& D7 c Answer I'm pretty sure MFC is unmanaged and will never require the runtime . a' s6 r+ @- _% U1 [! s. 6 @& H) E F+ q* W& N - T8 _( c& O5 W& Y
6 d) \+ F v k0 {& T0 N Question #18 Stroustrup has been quoted as saying "I have not expressed a 6 i) j1 y8 O b0 [; X! ]' btechnical opinion on C#, and I don't plan to do so. C# is yet another propri - A! Y v! C/ letary language specialized for Microsoft's Windows system." Do you agree or & N! J1 [1 d$ U* C9 [do you think C# is more of a generic language open to other platforms? : P, M9 c3 d5 R* M: Q" @1 W& {6 o
/ Z7 f) O+ C+ i2 `
Answer C# is a language designed for the common language runtime; not Wind ! V# R) Q* }' q5 jows. The CLR can be ported to other operating system like Linux and Solaris 5 s }: m2 V! P4 o. r; X7 L- Oand if the CLR is there, then C# will probably be there as well. In the gran / a/ X; c( _+ ]9 Wd scheme of things, C# is not that important or interesting. It is a syntax 1 v+ P5 g/ H# L U$ }1 Achecker that spits out intermediate language consumable by the runtime. You [9 Y2 B2 ~0 {! Rcan love C# or hate C# - your choice. I happen to love it and think is the b " G" y* k+ i- i, u4 b6 W% West programming language for the types of applications I write. 7 ?. I# v/ e4 [& m# p! w+ G9 C1 \9 ~. ~
& S6 Y7 j0 J; Q; k2 ^ ' G8 [: o# Y) f- X/ j+ I# W! z! d
Question #19 I heard a rumor that VB7 will allow static linking of the run + J# a! J5 |" @$ I- A8 rtime, like MFC. Is there any truth in this? If so, will C# also be able to c ) M, f. z) F: G( C$ x5 J# }, ~reate standalone apps? # T, ]/ Y2 c! [, S
' k {) E$ C+ U9 O5 q Answer This is absolutely not true. No language will able to statically li 1 w# j) U( d7 Y+ jnk to the runtime. 3 L# c6 B0 h V1 C, Z$ h4 \. a : G* _% W" f; }3 f9 H; m
' q& `7 [# Z) R0 p4 R Question #20 Does C# still use resource files? If not, what mechanism is p 9 w1 k3 K8 Q( I+ Krovided to allow for localization? % y8 V8 ?1 ?* K; C: d* n
0 n6 m$ Q$ D* g7 N' l7 F4 v' H& ^
Answer The .NET frameworks designers have created a new resource model. Re 8 ^- o' J+ u# N- K) ?. |sources can be embedded in EXE or DLL files the way Win32 resources are or r 5 m4 v) E) h1 B! G+ c
esources files can now be stand-alone files like a single jpg or bmp file. T 9 j% E6 g2 w4 z9 ?+ e; X
here is also the concept of fall-back cultures. If the Swiss German resource ' E+ \0 @% t* x+ m can't be found, the runtime looks for the German resource. If the German re * k8 u& Z, D7 i J
source can't be fond, it looks for the "default" resource. Each language wil - z n( f* ?; ]9 L; j+ M
l typically be built and shipped as a separate assembly rather than packagin ! t+ Z( f6 O! F- S O
g everything up into a single file. Like code access security, a full discus , p5 B1 A9 W& a/ W" q' s+ K% r* Q5 u2 msion of the new resource model is too much to put here. % a' {. i4 l1 j r( S 1 a) H" h6 z6 _6 G" g9 f+ x- b 9 N& K) \3 D" g6 h$ ^* o
3 G6 I8 {# K2 l2 Y1 x B8 k% j" b$ L: u2 g( N7 E; I7 ^/ n7 R
wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : 5 n. h9 D8 }0 X, g & Z2 ]3 P9 z/ M! K4 M# W
我想应该这样说,一种新语言的出现会在一定的功能领域上替代其他的开发语言,以 6 \. f: H6 M6 w- G
前的开发语言的使用范围会缩小,但不会消失。(就算是出于保护现有资源的目的) ' R: l, a% j& T+ V8 d/ q + h& D. a) t+ s4 n4 {1 @
但没有一中语言是十全十美的, ! {9 y8 M" X6 w. ^4 B + @- w g1 f" c0 S/ n7 b3 Z- d" ]
JAVA,C#都不是。 ; [5 |2 j5 ~, V1 s % l" d; R! N; c1 ~ : f" Z- y' ~ }/ j: e/ ^ 5 g1 k) w/ ?; c* ^ wenyy 来自 <a href="http://www.vchelp.net" target="_blank" >http://www.vchelp.net</A> : ! s) v, U: Z2 T, n, T# q2 Z$ V
% J& W/ d& [- Q3 k
》》恶魔吹着笛子来 ! |/ z! b9 i7 u6 p 8 j& u8 N3 q1 B3 ~$ j 你好, & Z% | G0 y1 l
3 {2 H E) n; F: k# L 很高兴能够与你进行讨论, $ R6 v* Y- S+ y2 W
' R' n% O: o" f+ b- n A( l4 Y) M 虽然本站名字叫做vchelp.net - X, e, _3 a) c1 }6 e # ?8 m/ e" J. n( b; l 但我不排斥其他的开发语言,只是自己的能力有限不能将本站内容扩展到其他的语言 ) z- Z1 N$ O* R2 C
, 5 ?0 f4 |3 ~. B$ ~
' ? P( n: y1 Q0 ~ 但我很希望大家在本站对开发中可能遇到的问题和矛盾进行讨论,不论是关于语言还 2 d& k/ t( S& a1 G. p0 U4 U
是开发方法的。 ) b0 Y5 q# t' x! p8 ~, b% j ( @6 _/ T1 O9 z 我想邀请你成为本站个人专栏的作者, / c/ N0 M) p" Z+ n/ Y
" P# O% n( ]* C3 V7 P9 i% _
你可以发表一些你关于开发的想法,就算是与VC无关也没关系。当然在时间上也没有 4 ?+ L- d5 r. s2 X' q4 x. I
要求,你有时间就写写。 2 e( f- \8 C$ }1 {# N
5 z1 G6 u( E9 I4 L8 u
盼复:<a href="mailtwyy_cq@21cn.com" target="_blank" >wyy_cq@21cn.com</A> 1 j9 S2 p# W+ V* c3 Y/ H% C5 o 0 I. w1 T; Y/ \3 A+ H" n) U4 n cuixue 来自 http:// : ) \/ N2 O* E) v
' h! Q9 n4 p* |! u 看了各位大侠的话,觉得好像在讨论java,其实历来有两派,smth几乎天天在吵, ! m) @9 Y: w. d7 `0 o
% Q$ t3 B) u) u2 _0 N 有了这个前提,用什么工具去做就看你熟悉什么工具了,看你的工具能不能 8 \. t; t3 v* ?, G $ A* x+ _2 @! B$ Z3 W
满足你的设计目标,有限制就选择别的工具。就这么简单,有必要去争论用 ( T& Z0 o6 Q7 X! @5 s3 J& v
! \: E8 `2 I5 U d) } 什么工具吗?应该是争论一个软件的创意和设计有没有前途,而不是先去争 ; C$ i0 H: J6 m, X' s! c2 p( A! l
2 Y/ @5 [- F% K3 H4 x* V9 c
论用什么工具。每个工具都有它的优缺点,主要是看你是否熟悉它,它能不 : j# W8 m0 ~0 _2 W! c8 i
. B8 ]; J- e) e- P- h% H. A9 w 能顺利实现你的目标。如果不能,没办法,选另外一个工具。做界面还是 4 b" A9 C' r- O5 q# ~: y2 r+ k 5 U) J, t2 U; X# s! B4 f DELPHI合适,做高效率的通信,还是VC,要做大量涉及SDK或底层的东西,还 $ s" s* d7 T% T$ R/ o , ~4 B7 _ u2 r7 }
是VC,就看你项目的目标是什么,而且是每个目标,不是其中某一个目标。 . i- o" w. U6 X3 r1 B2 u
- F: {7 C V% p
中国的程序员都受中国教育的限制,老是在一些细节和工具的层次上思考, , z) c5 n0 m, c 7 R3 ]7 v, i2 n1 h6 P* Q' {
没有在全面的系统层次上思考,在整个计算机技术、通信技术、软件技术的 - f& s3 ?7 J+ b: I) g 9 j$ Q) y( I! K% R' }8 k- C
整体面上思考问题,才是中国软件技术进步的道路和方向,而不是去争论用 R* |: ^( L |: D ; B' I& ], L- l4 p: e 什么工具。另外,本人认为VCHELP网站在中国还是办得不错,但欠缺的是整体 & z, `6 `, H) M0 U# w: a; S
! t( c5 F1 g) J w6 X7 m
技术层面上的东西,而这一点在中国是尤其重要和迫切需要。