DELPHI与C#语法比较
1、我做了三年的.NET,也是三个月前因为项目需要转的delphi
整个过渡差不多要一周到两周。
正常情况两周后就能熟悉delphi。
delphi可以调整开发环境的,你把他的属性和解决方案窗口调成和你用VS一样的用起来就习惯多了。
语法的话pascal和C#都是能拉控件的,做起来都是一个模式,非常类似。
即便是自己写组件,个人感觉delphi写起来更简单些。
如果是做数据库软件的话,delphi用起来就相当方便,和数据库连接代码几乎不用写的。
如果是用delphi做工控或网络编程也差不多。
delphi其实也就是搞了些库把API封装进去,本质上一样。
总之:我感觉因为主要是编程思路,其他都一样。正常两周能搞定。
比如:using相当于uses
int i;相当于 i:int;
public void a();相当于public procedure a();
共同点:都是拉完控件在事件里写代码,都是面向对象,源码文件的结构很像(c#是.cs文件,delphi是.pas文件)。
-----------------------------------------
2、delphi 包含3种文件,工程文件(.dpr),单元文件(.pas),窗体文件(.dfm)
工程文件包含了应用程序的入口;单元文件是你要写代码的地方,比如unit部分是指明了文件的名字,uses子句指示编译器添加在列出的个单元中找到的代码等等,窗体文件是指脚本化的文本文件,其中定义了一些资源,使得窗体和数据模块能够存储对象的可视化外观。
-----------------------------------
3、VS的开发环境接近完美了,C#+devexpress控件基本就可以和delphi的控件媲美了,C#的优势:
1.开发环境好,IDE的人性化做得相当出色,自然就提高了效率
2.语法简洁,本人不喜欢delphi的语法,C#/JAVA/C/C++/JS等都是C的语法,简洁,不过区分大小写一直不爽
3.重装系统方便,如果你的DELPHI使用了大量第三方控件,系统重装时,基本就是一个噩梦
4.共享方便,比如多个项目,可以很方便共享代码(DLL或链接文件),delphi也可以,不过麻烦很多
5.微软的大力支持,目前前途一片光明(相对delphi)
-------------------------
在Windows平台上说起实用来,当然还是Delphi更实用咯!
1.Delphi具有快速开发环境,其效率是VC的n倍(不要拿C#来说事,C#的开发领导者是Delphi的主创之一,这个层面上,C# = Delphi)
2.代码质量:由于Delphi使用的是Object
Pascal语言所以代码严谨优美,可读性强,利于团队作业!C的代码太自由,个人色彩浓烈,适合SOLO...对公司来讲效率不高
3.编译器效率:Delphi的编译器效率目前还没有敌手,编译一个项目瞬间完成,其好处是没有等待编译的空闲时间去泡咖啡了,有益Coder的身心健康,同时也为项目的快速开发奠定了基础
4.在Windows平台上,Delphi除了驱动程序不能开发外(事实上你愿意的话也可以,只是你要冒微软的版权风险),几乎可以完成任何项目,尤其以数据库程序见长。当然,Delphi在Linux等平台上的表现还不尽如人意,如果你是在Linux下的话,建议你还是用C吧!
-----------------------------
C#之父 Anders Hejlsberg
Anders Hejlsberg,丹麦人,曾在丹麦科技大学学习工程学。
Anders Hejlsberg第一次登上软件界历史舞台是在80年代早期,因为他为MS-DOS和CP/M设计了一个Pascal编译器。当时,还是一个小公司的Borland很快雇用了他,并买下了他的编译器,改称Turbo Pascal。在Borland,Hejlsberg继续开发Turbo Pascal,并最终带领他的小组设计了Turbo Pascal的替代品、开发工具史上的奇迹:Delphi语言。
1996年,Anders Hejlsberg在Delphi3发布前离开Borland去了MS。
在此之前,MS曾多次企图挖走Anders,但都没有成功。据信Anders去MS(主要)不是钱的问题,虽然MS的开价也相当有吸引力: 130万美元年薪外加股票期权和分红,总计超过300万美元。更主要的原因是Anders和Delphi开发组的其他成员在修改编译器的问题上发生了争执;还有,据Borland内部人讲,Anders认为自己不再是“不可缺少的人”。
Anders在Delphi3中几乎没有做什么工作,Chuck Jazdzewski扮演了一个更重要的角色。(--Anders Ohlsson) Anders在Borland时把所有精力都放在了Pascal产品上,也需要新的挑战,这时Bill Gates的亲自邀请,许诺给与挑战的机会,Anders加入了Microsoft就势在必行。
Microsoft 用丰厚的薪水、股票认购权和巨额的加盟奖金雇请了Hejlsberg 之后,Borland 曾提出通过不正当手段吸收新成员的控告。Borland 还曾声称 — 提供了很少的细节来支持指控 -Hejlsberg 正在开发“Delphi for Java”。这场诉讼虽然最终以Borland 的胜利而收场;但Anders 已经在为Microsoft工作了。
DELPHI与C#语法比较的更多相关文章
- Delphi的goto语法
今天第一次主要到Delphi也有goto语法,特别是其奇怪的label声明.估计主要是用来跳出多重循环,而且还真有人使用这种方式.记个笔记: procedure TForm1.btn3Click(Se ...
- delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数
//delphi中exit,abort,break,continue 的区别 exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,whi ...
- Delphi(ObjectPascal)基础语法
一个程序分为两个部分:1.程序首部:program 来标识这是一个pascal程序 后面的是可执行文件的名称程序名称2.程序体:说明部分:数据先定义后使用执行部分:以begin开始,以end结束 ...
- delphi中Case语法的使用方法
Case 语句If...Then…Else 语句适合选项较少的情况,如果有很多选项的话利用If 语句就比较麻烦,在这种情况下,Case 语句就容易多了.Case 语句的语法如下: case <表 ...
- Delphi 7以来的Delphi 2009测试版新语法特性
我晕,Delphi 7 以后增加了这么多有用的语法,我都不知道.真是越学越觉得自己浅薄,自己所作的Delphi项目所用的知识还不够Delphi知识储备体系的十分之一,更别说Delphi还在继续发展. ...
- delphi Syntax check、 build、 run、 compile的区别
delphi Syntax check. build. run. compile的区别 Build是从新编译所有和生成exe有关的文件,无论.pas文件是否修改过,它都会重新生成新的.dcu,并从新 ...
- fastscript调用delphi方法和DELPHI调用FASTSCRIPT方法
fastscript调用Delphi过程: 1. 先创建事件处理方法:TfsCallMethodEvent 2. 然后再用调用TfsScript.AddMethod方法,第一个参数为Delphi方法 ...
- Delphi 发展历史
自然人的软件著作权,保护期为自然人终生及其died后50年:软件是合作开发的,截止于最后died的自然人died后第50年的12月31日.法人或者其他组织的软件著作权,保护期为软件首次发表之后50年, ...
- Delphi各个版本和发展历史(转)
Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD).它的前身,即是DOS时代盛行一时的“BorlandTurbo ...
随机推荐
- 【python】lxml处理命名空间
有如下xml <A xmlns="http://This/is/a/namespace"> <B>dataB1</B> <B>dat ...
- mac系统下如何解压.car文件
纯手打: 1.去github下载demo然后运行 github地址:https://github.com/steventroughtonsmith/cartool 2.找到项目下cartool的位置 ...
- win8访问win7中的共享文件夹 映射网络驱动器
同一个局域网内,配置好了一台win7(假设计算机名为A)的共享文件夹,设置方法可以参考http://www.doudouxitong.com/guzhang/xitongjiqiao/2014/082 ...
- weblogic重置用户名密码。
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录 例如我的做测试的域的根目DOMAIN_HOME=D:\bea\user_projects\domains\b ...
- sql 查询最近30分钟或者自定义时间数据
) FROM dual; 30分钟或者自定义
- DOM对象与JQUERY对象的相互转化
普通处理,通过标准JavaScript处理: 1 var p = document.getElementById('imooc') 2 p.innerHTML = '您好!学习jQuery才是最佳的途 ...
- iOS 简单提示view
+(void)showMessage:(NSString *)message{ UIWindow * window = [UIApplication sharedApplication].key ...
- Android开发环境搭建:离线安装ADT插件和安装SDK
一.准备 在线安装SDK较慢,在此我选择了离线安装,所需要的工具下载:http://yun.baidu.com/share/link?shareid=2286446004&uk=2000812 ...
- NYOJ题目1051simone牌文本编辑器
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsgAAAKFCAIAAABeD4iTAAAgAElEQVR4nO3dO3LjOtOA4X8TzrUQx1
- Linux(CentOS)系统下设置nginx开机自启动
Nginx 是一个很强大的高性能Web和反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动.首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:vi ...