Delphi 5 vs Visual C++ 6(并非为了挑起论战,只是想检验一下自己的英语是否已经忘完了 (0分)

  • 主题发起人 主题发起人 yangkee
  • 开始时间 开始时间
可能我们的选择太多了,所以才有以上的各种想法。
如果我们当中的每一个人,都把自己的DELPHI的技术磨炼得精精的,无论是从就业
还是从事业的前途上看都是很光明的。
所以我的意见是:无论是用哪个开发工具,只要能够精通、能够解决问题就好。
 
同意bobzane
 
我觉得想真正学习好一种语言,就应先精通英文!!!!!
 
萝卜白菜各有所爱
 
敢问世人,有几个英雄能够使用好两套兵器?
 
翻译得不错,佩服!
 
接受答案了.
 
对于一个程序员来说,应该不要执着于某一语言上,而是去理解语言的本质及其发展。
若一门语言真正精通了,再去接触别的语言,已非难事,所差的是对语言开发工具和
环境的熟悉。Delphi是好,它开发简单,功能强大,一个新手也能轻易的做出一个漂
亮的程序,但这优点,我个人认为,同时也使一些人沉浸在组件的世界里,而忽视了
语言本身。Delphi是采用Object Pascal语言。但市面上的书籍,好像没有哪一本专门
讲Object Pascal(也许是我孤陋寡闻),一讲Delphi,就是怎么把控件拖到窗体上,
怎么设置属性等等,以为这样就可以相当于学会Delphi。若一味的追求这些东西,而不
去了解语言赋予你的能力,永远也只能在编程的殿堂外游荡。
我个人喜欢C++,C++是一门非常好的语言,但用它来开发程序,由于没有一个象VCL这样
的库的支持,许多东西都要自己亲自动手,加上C++语言本身的复杂性,开发程序并不
容易。所以我开发程序,还是用Delphi。但由于了解了C++,在Delphi的编程上,不再
执着于组件,而是利用了组件的易用性,去规划程序,去编写程序,对自己写的程序有
了一种实在的把握。
C++语言本身有许多知识点,我们学习C++,是为了学习C++的这些知识点,而不是把重点
放在C++的语法里。许多知识点和Delphi类似(例如const、继承、虚函数等待),但
有些是没有的,如template、inline、引用(reference)等。对于用Delphi的人来说,
这些东西是很少接触的,能接触的也是蜻蜓点水。而在一些深入介绍C++的书籍里,这些
东西都是必不可少的,使用的时候要注意些什么,都说得比较清楚。现在有介绍oop编程
的书籍,很多都是以c++来说明。所以,我个人认为,若真正想深入编程,你必须了解C++。
最后谈一个小程序
函数原型
procedure f(const s : string)
begin
//...
end;

调用这个函数:
var
strText: string;
begin
strText:= '12345';
f(strText);
...
end;

在f()函数里,接收一个string类型的参数。因为它的参数是以值方式传递,所以,当
调用f(strText)的时候,编译器实际上做了一次strText的copy工作,当strText的长度
不大的时候,这影响不大,当strText的长度很大,比如几百k,的时候,对内存的需求
一下加倍,且要做一次拷贝。有没有办法避免这次拷贝和对内存的需求呢?有,把参数
改为引用传递:
procedure f(var s: string);
但这方法会带来混淆。在前面一次声明里,我们规定s是const类型的,也就是不可修改
的,但在刚才的声明里,s是var传递,一般说来以var传递的参数是表明这个参数要返回,
也就是说s是要被修改的,这和我们的初衷违背了,当然,有人会想,这函数是我设计,我
知道s不会被修改。若这个程序不需要维护,不需要修改,这也无所谓。但这情况是很少的,
若编写一个程序有这么多“我知道”的话,这程序的质量也可想而知了。
在delphi里,是没有一个好的方法来解决这个问题的,一个解决的方案是把参数改为PChar
类型:
procedure f(p : PChar);
在C++里,有解决方法,函数原型如下
void f(string const&
s);
以上说了一些我对Delphi和C++的一些看法,可能有些不太恰当,若有什么要讨论的话,
可以E_Mail : Racer_y@163.net
 
后退
顶部