Delphi这门编程语言曾经有过辉煌的日子,以其语法规则简便易学、编译代码快速高效而著称。但随着时光的流转,慢慢被各种后起之秀(如Java、Python、Go等语言)所赶超,以至于谈起Delphi便有一种昨日黄花之感。
        作为一名接触编程时间不短、但水平不高的“老菜鸟”,我对Delphi的认识却刚刚开始。
        最开始学编程是从DOS下的BASIC语言(确切地说是解释型的QBASIC)入门,简单的几个语句,就可以上机操作,让计算机跟随自己的指令做出相应的反映,那种成就感让我深深为之着迷。各种从书上、杂志上抄来的小程序代码(那时的互联网在偏远地方才刚刚开始显露生机,还远未普及)一个个敲进电脑,调试、运行、直至通过,乐此不疲。
        后来,又用过一段时间的数据库编程(dBase、Foxbase、Foxpro),几十条简明易懂的指令,就可以将大量数据按要求整理分析,得到自己想要的结果。试着用所学的东西做了一个学生成绩管理系统(当时在一所初中任教,其实现在看来,就是EXCEL中几条命令能够解决的问题),让周围的人用起来觉得还可以,让自己对于编程的信心和兴趣又有了进一步的增强。
        时光荏苒,当Windows势不可挡地闯进每个人的生活后,原来在DOS平台下所学的东西便不再有用武之地了,Windows编程的难度对于当时的我来说还是太高了。
后来,随着时代发展,出现了VB、VFP这样的可视化编程工具,但对我来说,只能是用它们的壳去套自己原来的程序,换汤不换药,没有了以往那种得心应手的感觉。
        大概就是在这一段时期吧,听说了有一种编程语言叫Delphi,学起来比VC简单,编译出来的程序又比VB的要快,一直想尝试学一下,可就是找不到相关的平台工具(当然,对于初级编程爱好者来说,能承受的只有免费的)。
        随后的几年时间里,工作环境几次变化,虽然偶尔也编点小程序,但总的来说,水平没什么提升,甚至原来学的那点东西也近乎于荒废了。
        直到最近,有点空闲时间在网上搜了一下,下载了一个Delphi7的编程工具,在电脑上一装居然好用(这些年下载的所谓“破解版”,不能用的太多了),不禁喜出望外。回到家里,翻出一本10年前买的关于Delphi的入门书,从头开始学起。
        用了几天,感觉相当顺手,从Pascal语言的规则来看,基本与Basic差不多,除了个别几处硬性规定,记住就可以了。根据以往的经验,掌握一门语言最快的方式是做一个自己想要实现功能的程序。于是,根据日常工作的需求,编写了一个自动整理桌面文件的程序,期间结合查阅书籍、上网搜索,基本达到了预期的效果,编译出来的程序不大,才几百K,复制到别的电脑上一试也可以用,这让我不禁对Delphi有种相见恨晚的感觉。
        在当前手机已经开始逐步取代电脑的情况下,如果一门编程语言只能编写电脑上运行的程序,那它的生存空间就相当有限了。而移动平台编程对我来说,又几乎是一道可望而不可越的高墙。安卓、IOS平台下的编程工具,能找到的几乎都要收费,而Java编译器虽说Windows本身就有,但那种在黑洞洞的命令窗口下编写代码并运行的感觉,对于已经习惯了Windows多彩界面的人来说,简直太难以接受了。
        又是一个偶然的机会,发现了Delphi的最新版本DelphiXE10.4,感谢Delphi教程网(别的不说了,都懂),居然能够用来编写安卓、IOS程序,实现跨平台运行!这可让人不止是惊喜、简直是惊讶了!安装后照着网上搬来的入门教程一试,自己的APP在手机上运行起来了!尽管十分简陋,但那种敝帚自珍的感觉,相信每个初学编程的人都能体会到。
        有了用Delphi7在Windows平台上编程的基础,再加上DelphiXE十分人性化的操作界面(语法错误自动提示、可用属性方法自动弹出、手机界面所见即所得),让电脑编程到手机编程的过渡可以说平滑顺畅、毫无障碍。
        经过这一段时间的试用,我感觉Delphi这门语言有着以下几方面优点:
        1.平台工具的可及性。再好的语言,如果你在网上找不到相应的平台工具,对你来说都不过是水中月、镜中花,徒有羡慕而已。而像Delphi这么优秀的工具能上网上找到,也实属机缘巧合,也许,正是因为用的人太少了,厂家失去了以此赚钱的欲望,才让这位旧时的“深宫佳丽”流落“民间”吧?
        2.语法规则的简单性。C语言、Java语言那种满屏的大括号,包括一些语句让没有接触过人直接去读会弄得满头雾水,至少在我看来,Delphi语言的Begin、End就很清晰明了,只要会点英语,就能基本上猜出来是什么意思。什么指针、类的概念我也没去深究,总之,能快速入门就行。
        3.操作界面的直观性。编程工具是否顺手,很大程度上决定了一个人能否学下去的动力,在这方面,Delphi可以说做到了我所接触的语言当中最好的,工具栏、对象查看器、控件面板都让人一望而知其用途,代码和设计界面的切换也很方便。
        4.适用范围的广泛性。DelphiXE的出现,使这位久疏战阵的“老兵”又有了新的用武之地,尽管FMX平台在性能和功能上与原生的Java语言还有差距,但毕竟实现了跨平台,给一些要求不高、够用就行的普通编程爱好者们一个相当不错的选择。
        当然,Delphi的缺点也不是没有,感受最深的,就是相关资料太少了,Delphi7的还可以,XE尤其是FMX移动编程的,想找点资料借鉴一下,就算搜遍全网、挖地三尺也没有多少可用的,只能从相似的Java程序中找点参考,对此,只能希望那些与我一样,对Delphi有着执著爱好的人,发扬共享精神,把自己的心得体会和代码成果分享出来,让Delphi这朵有着独特魅力的“昨日黄花”,开得更加芬芳、长久。

从一个编程老菜鸟来看Delphi的优点相关推荐

  1. 老菜鸟趣谈:对编程初学者的一些建议

    对编程初学者的建议 PS:这篇文章我只在微信公众号和头条网发布了,忘了在博客里发. 我是程序员,我为程序员代言. 现在真的是编程的黄金年代,程序员从来不曾这样供不应求,特别是嵌入式领域. 现在哪怕是银 ...

  2. 一个编程菜鸟向资深攻城狮的进化之路

    一个编程菜鸟向资深攻城狮的进化之路 看到这个标题,你会这么想? 作者应该是一个资深的攻城狮?会是一个有着多年相关经验的技术界大拿? 如果你这么想,那你就错了~ 本人仅仅是一个有着3年php编程经验的码 ...

  3. 教程 | 以太坊智能合约编程之菜鸟教程

    教程 | 以太坊智能合约编程之菜鸟教程 译注:原文首发于ConsenSys开发者博客,原作者为Eva以及ConsenSys的开发团队.如果您想要获取更多及时信息,可以访问ConsenSys首页点击左下 ...

  4. oracle12c asmfd,老菜鸟苦战oracle asm

    老菜鸟苦战oracle asm 应用环境描述 一.硬件 1. 服务器:2台dell r610-16G内存.2颗6核xeon cpu.2个146G sas盘,做了raid1 2. 存储:dell MD3 ...

  5. 如何才能训练成为一个编程高手?

    每个人都有成长的渴望,也都会遇到成长的瓶颈. 一个读者问我:如何才能训练成为一个编程高手? 先简单说下这个读者的背景:工作 3 年多,目前在大厂做后台开发,身边有不少编程高手,是他想要追赶的目标.最近 ...

  6. 服务器维护必刷稀有宠物,魔兽怀旧服,10年圆梦的稀有宠物,记一个魔兽老玩家的坚守...

    原标题:魔兽怀旧服,10年圆梦的稀有宠物,记一个魔兽老玩家的坚守 魔兽世界这个游戏,很少会有新玩家进来,大都是坚持了几年或者十几年的老玩家,有的人喜欢PK,有的人喜欢刷本打钱,有的人喜欢收藏装备,有的 ...

  7. **小铁锤课堂开课啦!学生编程老不好,多半是没压力闹的,要他写总结就好啦!**

    小铁锤课堂开课啦!学生编程老不好,多半是没压力闹的,要他写总结就好啦! 一. 多线程 (现阶段接触不到但面试用得上得知识点) 线程:是啥呢,稍微有点常识得猿都知道,这里就不啰嗦了(主要是我也不记得了) ...

  8. 老菜鸟迈出的第一步——Android调用WebService碰到的种种问题

    首先声明本人是个菜鸟,菜到什么程度?我马士兵的java教学视频javase部分还没看完,郭霖的<第一行代码>我才看了不超过20页.就是这样的菜鸟以一个企业网管的身份接到了经理给我出的练习题 ...

  9. MFC入门(一)——MFC是一个编程框架

    MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对S ...

  10. 《看聊天记录都学不会C语言?太菜了吧》(5)打了一把游戏我学会了一个编程知识?

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

最新文章

  1. ignite windows无法访问linux ignite集群_Linux常见命令
  2. Policy Injection Application Block
  3. fpga电平约束有什么作用_FPGA时序约束有什么样的作用
  4. 张新、黎民、王亮三位老师分别来自湖南、广西、甘肃,分别教语文、数学和英语。已知:(1)张新不是湖南人,黎明不是广西人;(2)湖南的老师不教英语;(3)广西的老师教语文;(4)黎民不教数学。由此可知,王
  5. OpenCV准密集立体声Quasi dense Stereo
  6. mac下配置eclipse的maven环境
  7. 聊聊 Python 调用 JS 的几种方式,你都知道吗?
  8. 腾讯云联合信通院等发布标准物模型平台,构建物联网行业通用标准
  9. WebSocket 测试
  10. Docker容器实战(七) - 容器中进程视野下的文件系统
  11. Netatalk CVE-2018-1160的发现与利用
  12. 雨刮器全国产化电子元件推荐方案
  13. 加密算法学习(一、中、1)——传统加密算法(playfair密码)
  14. 一步一步学Silverlight 2系列(21):如何在Silverlight中调用JavaScriptjavascript
  15. Linux CPU软中断案例一则
  16. 正点原子FreeRTOS(上)
  17. mipi传输距离3米_常见的网络传输介质有哪几种?
  18. html特殊字符如何转义,Html特殊字符转义处理
  19. 计算神经网络推理时间的正确方法
  20. 小猪o2o源码v14.17双系统版(生活通+营销系统)怎么配置微信支付和支付宝支付

热门文章

  1. 如何禁止拼音加加自动修改IE首页
  2. 办公室服务器文件管理制度,机要文件管理制度
  3. LABjs(类似于LazyLoad,但它更加方便管理依赖关系)
  4. 卡巴斯基互联网安全套装KIS 2010 Beta汉化特别版下载(无需注册码)
  5. 智慧城市顶层设计实施工作指南
  6. 北航计算机学院国家奖学金,2019年经管学院研究生国家奖学金预审结果公示
  7. 多帧点云数据拼接合并_点云拼接
  8. appium java模拟微信登录,使用Appium 测试微信小程序和微信公众号方法
  9. (九)指向一维数组和二维数组的指针(数组指针)
  10. IPv4与IPv6地址转换