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 ...
随机推荐
- 【jquery】字符ascii码转换函数
js 字符ascii码转换函数 字符转ascii码:用charCodeAt();ascii码砖字符:用fromCharCode(); 看一个小例子 <script> str="A ...
- java中带继承类的加载顺序详解及实战
一.背景: 在面试中,在java基础方面,类的加载顺序经常被问及,很多时候我们是搞不清楚到底类的加载顺序是怎么样的,那么今天我们就来看看带有继承的类的加载顺序到底是怎么一回事?在此记下也方便以后复习巩 ...
- mysql优化学习笔记
优化sql的一般步骤 通过show status了解各种sql的执行频率 定位执行效率低的sql语句 通过explain分析效率低的sql 通过show profile分析sql 通过trace分析优 ...
- Unity依赖注入使用
构造器注入(Constructor Injection):IoC容器会智能地选择选择和调用适合的构造函数以创建依赖的对象.如果被选择的构造函数具有相应的参数,IoC容器在调用构造函数之前会自定义创建相 ...
- ListView 完全优化 + 多种listitem布局处理
# 百度了下,感觉下面的博客文章还都挺全面的,写的很好,直接分享得了 Android性能优化--Listview优化 - tonycheng93 - 博客园http://www.cnblogs.co ...
- Ubuntu16.04 + Win 10 双系统 时间同步,启动项顺序,NumLock指示灯常亮
1. Ubuntu & win10 双系统时间同步: 先在ubuntu下更新一下时间,确保时间无误: sudo apt-get install ntpdate sudo ntpdate tim ...
- 在ubuntu上搭建开发环境3---解决Y470一键系统重装之后恢复ubuntu引导启动的方法
2015/08/18 将知识.常用的操作整理出来一定要完整,注意细节. 就像下面是再2015.04.27时候整理的,当时确实实验成功了,但是可能忘记记下具体的细节,尤其是3.4.5.6步骤中的关于盘符 ...
- Bootstrap简介
接下来的一段时间,想研究一下现有的网页框架,第一个不容错过的就是Bootstrap,Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CS ...
- OCJP(1Z0-851) 模拟题分析(八)over
Exam : 1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam 以下分析全都是我自己分析或者参考网上的,定有 ...
- .NET Nancy 详解(四) Self Host
Self Host 使得Nancy 能够在任意application 中启动,无论是console 还是windows service.这期我们使用的版本是Nancy v0.4.0. Demo 首先看 ...