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 ...
随机推荐
- NodeVisitor的使用-遍历Geode节点并在它与父节点之间添加一个LOD节点
#include <osg\NodeVisitor>#include <osg\MatrixTransform>#include <osg\PagedLOD>#in ...
- [Android Pro] synchronized与static synchronized 的区别
reference to : http://www.cnblogs.com/shipengzhi/articles/2223100.html 1.synchronized与static synchr ...
- iOS - 日期的时间差(某年某月某日的某一天。。。)
//首先创建格式化对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateF ...
- stat file 查看文件的 最新的被访问时间 最近的修改时间 最近的状态改变时间
[root@NB ~]# stat /media/6FE5-D831/git-data/IT-DOC/web收藏.txt File: `/media/6FE5-D831/git-data/IT-DOC ...
- ASP.NET Web API 使用Swagger生成在线帮助测试文档
Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具.项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,sw ...
- Delphi线程同步(临界区、互斥、信号量)
当有多个线程的时候,经常需要去同步这些线程以访问同一个数据或资源. 例如,假设有一个程序,其中一个线程用于把文件读到内存,而另一个线程用于统计文件的字符数.当然,在整个文件调入内存之前,统计它的计数是 ...
- Vmware 中安装Unix
准备 1. ubuntu 14.10 下载地址: 官网下载链接 http://www.ubuntu.com/download/desktop 官方版本库 http://releases.ubuntu. ...
- HDU2546 饭卡(背包)
开始写成01背包的形式,求m元可买物品价值的最大值 dp[j] = max(dp[j], dp[j - pri[i]] + pri[i]) 结果为m - dp[m] 但后来发现是有问题的, 比如这组过 ...
- 2-04使用SQL语句创建数据库
下面是创建数据库的一些语法: USE master--指向当前使用的数据库 GO--批处理的标志 CREATE DATABASE E_Market--创建E_market数据库 ON PRMARY-- ...
- wp8 入门到精通 数据库更新字段(一)
public class UserInfoDB : BaseDB { public UserInfoDB() : base(@"Data Source=isostore:\MakeLove\ ...