问题:.Net, Java or Delphi? ( 积分:1, 回复:14, 阅读:202 )
分类:前沿技术 ( 版主:robertcool, honghs )
来自:房客, 时间:2002-1-30 15:38:00, ID:895601 [显示:小字体 | 大字体]
.Net, Java or Delphi?
This is a response I gave to Mr. Angel Rosario, Jr. on borland.public.delphi.non-technical in regards of his concerns about the "best tool for the job".I wanted to include it in here for further reference.
"I will give you my personal point of view on the matter based on my history
and the things I have seen around me.
It is a difficult time but is possible to make technological decisions
*today*, that may turn good regardless of what is gonna happen. I made mine
and I will try to explain the whats and whys.
It's not easy to decide where to go and which boat to jump on. Neither one
of the two parties, Microsoft or Linux (let's put the others aside for a
second) are sure winners and I am not sure we should even attempt to predict
who will be the one at this point.
On this newsgroup the merits and the pitfalls of both have been discussed to
the extreme. Stability, scalability, speed, cost, etc etc etc have been the
heart of discussions for months in the non-tech.
Problem is that where the market will go is not about the most scalable or
stable system. It is about the perception the community has about that and
the services that it offers. The one that will do
minate in this two matters,
will probably be the real winner but this won't mean the other will
disappear.
The first concept (perception) is the heart of publicity and propaganda and
is the most important.
The second (services) backs the first up but is not a lead factor.
Consider what happened around us in our field in the past few years, and
then
look at history.
Windows 95 has taken the desktop, Office has become the fact the business
application suite everybody uses and finally Internet Explorer has won the
browser war with the 85% of installed and used browsers.
Has those products been an example of quality? I wouldn't say so, definitely
at the begin
ning. But even if they weren't, they had something to offer and
for sure they are not as bad as today's arguments make them appear. At least
they delivered a service and in order to do
that, they took advantage of a
favorable perception that Microsoft generated around them.
There are many reasons behind what happened but the do
minant is the
perception users have. AOL has become what it is for the same reasons.
Napster is not a real piece of art either but still, through perception and
services has became so strong to deserve to be world wide news when things
started to go bad.
History is made by 2000 years of examples of this pattern that drove masses
to any kind of things, good and bad.
This really took more lines than what I was originally thinking and I
probably have gone tangents...
Why I said what I said? Because at the end, no tool is gonna be so unique
and revolutionary to be the one and only one. Is not like the movie
Highlander. At the end, there will be more than one <G>
You mentioned Design Patterns and UML... That made me smile, because the
selling reasons behind VB, .Net and Delphi are everything but things like
that. The promise is about a RAD tool trough which you can develop your
applications in less than 15 minutes, not a tool that allows you to apply
design patterns, object oriented architectures and things like that. Is all
about the perception of faster time to market, which is wrongfully
associated with OnClicks.
Now, having RAD environments is a great thing. No questions about it. The
problem is that this allowed the spread of all kind of bad results around
us. This is not Delphi's fault but the user's. In the case of VB is a little
different but still the concept applies to some degree. Many people wouldn't
have that much of a problem moving their code if they would have followed
the rules.
A few months ago we had to decide if we wanted to use Delphi or Visual Basic
for our development. The main reason behind this question was that since we
are almost 90% Microsoft based, then
why shouldn't we go all the way? Well,
I tell you what: at the time .Net was one of the decisional points of
sticking to Delphi.
VB changed a lot in version 7. The kind of changes that have been made are
more important than abandoning a set of components or introducing new ones.
The changes affected the language in itself: things that are today present
in every OO language such as real inheritance and OO capabilities, were not
present in VB6 and would have led to a corrupted design. Code is easy to change,
if things are do
ne properly. Architectures are not.
In an ideal world, design would probably take 70% of the time while
implementation is just a mundane and repetitive task. Changing the second
should be easy, changing the first, most likely leads to disasters.
So we choose to Delphi because everything we do
today (architecture wise)
are portable to .Net, Java or whatever in the future, in case we need to. I
will probably embrace .Net in the future. It has a lot to offer and I can
guarantee that I'd love to do
that having Delphi as underlying language. But
this really do
esn't matter much.
Doesn't matter if it is called ADO, JDBC, ODBC or BDE... The principles
behind them are the same.
I use SOAP today. I have webservices regardless of Microsoft (although I use
their SOAP toolkit since mine is not finished yet <G>). We are developing a
system that is scalable, well designed and efficient in Delphi using
Microsoft technologies and I can assure you that the majority of the things
we are do
ing, are gonna stay the same even if we move to .Net. The
architecture is what really matters, not the tool you use to achieve the
result (take out from this VB6 and previous, PowerBuilder and a few other
languages).
Don't get fooled by perception, in either way. There's a lot of good stuff
in .Net as well in Delphi or Java and there are things that should be do
ne
better in all of them. Focus on the services they offer. See how you can
improve on what they offer if you need to. Borrow ideas from the others
because even if they are very similar, they are not the same.
Good luck"
来自:taozhiyu, 时间:2002-1-30 16:02:00, ID:895678 | 编辑
不愧是大师级的人物!看问题就是透彻!
就好像我们老是以前更我们所高级程序员一样的,他说作为一个高级程序员,不应疲于应付
不同语言的相异之处,因为语言的本身都是相同的。我想老师的话和上面的一样的道理。
我觉得初学者的确应该来看看着篇文章,把心沉下来好好学习,别担心borland会垮台什么的。
1+1=2这个表达式使用vj,vc,vb,delphi,cb,pb,java等等都可以写出来,关键的问题是你是否
知道1+1=?
我想看完这篇文章我也更坚定了学好delphi的信心了!只是一门语言,一个工具,一个语言工具。
更重要的是原理性的知识必须掌握,抓住这个根本才是最重要的。另一个方面我想做好项目管理
,做好软件工程的事情也是很重要的,编码,其次!
来自:taozhiyu, 时间:2002-1-30 16:06:00, ID:895692 | 编辑
同志们记住:
Doesn't matter if it is called ADO, JDBC, ODBC or BDE... The principles
behind them are the same.
来自:honghs, 时间:2002-2-1 9:47:00, ID:899942
好
来自:taozhiyu, 时间:2002-2-1 14:03:00, ID:900723 | 编辑
建议 房客 同志翻译一下!
来自:jrq, 时间:2002-2-1 14:07:00, ID:900736
我收藏了~
但是最好有那位翻译一下!我E文差, 看着费劲~
:D
来自:xdzhan, 时间:2002-2-1 15:06:00, ID:900900
说来说去一句话:选择Delphi没错!
(take out from this VB6 and previous, PowerBuilder and a few other
languages).我翻译:让VB6和VB.NET,PowerBuilder和其他的语言都见鬼去吧![
]
来自:taozhiyu, 时间:2002-2-1 15:12:00, ID:900915 | 编辑
大哥!不要误导大家好不好!人家可不是这个意思吧!
来自:zhaohai9, 时间:2002-2-1 15:18:00, ID:900928
头大。
来自:javaasp, 时间:2002-2-1 15:31:00, ID:900983
我建议看不懂的不要附庸风雅,
还是自己踏踏实实的学习的好
来自:snjat, 时间:2002-2-1 15:37:00, ID:901000
只要能理解这个意思就好。
我们学的是编程方法或是思想,不是编程工具。
任何事务,都是一通百通的。
来自:曹晓钢, 时间:2002-2-1 16:17:00, ID:901129
赫赫。可是这个不能类推得太远。
为什么大家有了Windows 95,还要windows XP?为什么有了office 97还要office XP??
为什么有了BASIC还要有Delphi?
为什么有了Delphi还要有Java?
来自:expect, 时间:2002-2-1 16:18:00, ID:901131
我觉得初学者的确应该来看看着篇文章,把心沉下来好好学习,别担心borland会垮台什么的。
1+1=2这个表达式使用vj,vc,vb,delphi,cb,pb,java等等都可以写出来,关键的问题是你是否
知道1+1=?
我不赞成这位仁兄说的,
首先,为什么会有这么多的语言出现,因为他们有区别,同样是解决一个问题,
不同的语言会有不同的效果。
其次,目前来说,我认为vb和其他语言有一个很大的不同点,其他语言是面向对象的。
来自:taozhiyu, 时间:2002-2-1 16:54:00, ID:901251 | 编辑
我想着篇文章对于不同的朋友有不同的意义。
对于初学者来说,看了这篇文章就应该知道,学习编程语言只是一个方面,更应该注重学习原理知识。举个例子。
上个月我记得有个朋友问什么是保留字!我想这个朋友就没学过编译原理。什么是保留字?vc,vb,java,pb,delphi
。。。。。都有保留字,问这个问题是否能够证明有些朋友就是在一个很低的层次上面再学习语言,连保留字是
什么都不知道!就好像老外说的“Doesn't matter if it is called ADO, JDBC, ODBC or BDE... The principles
behind them are the same.” 我就说,你管什么vc,vb,java,pb,delphi是什么啊!学好编译原来再说!
对于那些在彷徨是否选择delphi的朋友来说,应该知道无论你选择什么,都能够达到里的目的,只不过方式
,过程,与效果存在差异。我记得我的老师说过,不要担心borland垮台什么的,即使哪一天borland跨了,必定有
公司出来收购它,因为borland的技术是优秀的!我自己认为,就算那天delphi从这个世界上面消失了,只要我
知道为什么,那么就算让我用vc来做事情,照样得心应手!因为他们的核心是一样的,表现法是不一样!
我选delphi不后悔!因为我看了vc就烦!
对于曹先生的观点,我认为是属于技术进步的范畴,技术的维护,功能的增加等等,都促使技术的进步,以至于
win31->winme delphi2->delphi6等等!
expect朋友的观点我也赞同,不过我认为您的看问题角度应该修正一下。我当然知道不同的语言有其在某个领域
的开发优势。比如delphi就易于开发数据库,pb也是,vc做底层可以。。。。等等,这个不用我来说。不过我认为
您再说这个时候是从不同语言的不同特性来看问题的。不过请注意那个老外的角度,他脱离了特性,从一个更高的角度
来看待问题,他说“Doesn't matter if it is called ADO, JDBC, ODBC or BDE... The principles
behind them are the same.”看到了吗?从本质上来说delphi,vc,pb都是一样的。所以我们应该重视学习
principles,对于不同的语言只不过他们的做法可能更好些,更有效率。只要知道了principles,提高效率
是这个软件工程过程中都要做的事情!!所以,请您换一种角度来看问题!
来自:taozhiyu, 时间:2002-2-1 17:24:00, ID:901343 | 编辑
另外我觉得老外提及的微软的成功因素很值得注意。国内重视批评微软的bug如何之多,
我到觉得很像一群小丑在一个巨人阔步前进的时候嘲笑巨人走路的样子是多么的难看!
的确微软做的不错,他在短时间内提供给用户可用的功能,然后不断完善他的产品。也许他
第一时间推出的产品并不是perfect,不过他的产品在完善的整个过程中所用的时间应该是最短的。
就拿网景来说,navigator出现一个bug网景可能要几个星期做个patch,而微软可能是几天。
(具体的时间我不知道,总之,微软做出修补的速度是惊人的!)我想短时间内提供丰富的功能
、服务,而在出现问题后及时改正,这正是他成功之处。
记得DFW朋友“莫知”对我说过一个故事,他写程序是如果碰到一个问题,他一定要找一个
最好的解决方案才肯动手,结果一个程序很长时间才做出来。而他的另外一个朋友,不管3721,
写上一个代码,把功能作上去,等到以后友好算法在补上去。莫知说,他觉得这办法不错,
自己也要改改编程方式了。
我想大家是否也能得到一点启示呢?