Learn the five reasons for Delphi

A few days ago, I had a heated debate on Facebook. Like most active in the IT community, like, on my social media Feed each loaded with advertising trends in the IT concept you can imagine. Recently, these ads are all about machine learning and AI's. Or, should I say, the use of these buzzwords to attract people's attention to their company's products. I have not seen AI once used to sell shoes, but it is only a matter of time.

Cloud computing concept background with many icons

Like any technology, the power of the cloud is that only your insight

Another question is: Yes, a 14-year-old child can be AI chat robot with XYZ product assembled in 15 minutes. But that does not mean that he or she understand what is happening in the user interface. Of course, the goal must be to teach children to benefit from life skills.

Those who know me know that, yes, even though I really should shut up, and I tend to say what I mean. On the other hand, which is why companies and developers to call me, because I'll call bullshit and help them to avoid this situation. This is part of my job to help individuals and companies to use Delphi to choose their version needs to obtain components appropriate to their goals - and to develop strategies in case they need some input. I would even do some in-depth research and transcoding when needed. With the territory.

Usually, I just ignored the plus "cloud" or "ai" in the title of the ad, because it is primarily for non-developers to design click bait. But for some reason, the ad caught my attention. Maybe it triggered the late 1990s early Java advertising painful, or it releases potentially aggressive, avoid the psychological distress of being Microsoft Silverlight. Who knows the ad is about a Norwegian company, which specializes in teaching young students how to become a professional developer. Did you know that "three weeks to become expert" type of publisher do? To my surprise, they did not involve providing a prototype of a language course, and they are to fulfill his promise, but it is not. The only artificial intelligence deals with Facebook's advertising engine.

The fact is - at the desktop level, there are enough developers in the world. Market flooded the desktop and Web developers, these developers can download the library, place components on a form and connect to the database. The world really needs is more a prototype language developers. If you do not know what that is, so before we continue, let me do a brief summary.

Prototype Language

Prototype programming language is around the actual work computer mode designed . As a result, these languages and tools chain embodies several of the following attributes:

  • Pointers and raw memory access
  • Traditional memory management, no garbage collection
  • And object-oriented program execution
  • The inline assembler
  • Almost no external dependencies
  • Statically linked (embedded pre-compiled code)
  • Compiled code without operating system infrastructure to run
  • Applicable to the kernel, drivers, services, desktop, network and cloud-scale development
  • Produce a variety of machine code compiler chipset

As of this writing, only two prototypes language (actually three kinds, but assembly language is specific to the chipset, so we'll skip here), that is, C / C ++ and Object Pascal. These are all the languages used to write other languages. If you plan to start from scratch to write their own operating system, only for the use of C and Pascal. This is the reason why these are the only language that was used to make the operating system.

I

Delphi is one of the 20 most commonly used programming languages. It ranked 11th in 2017. Like all ranked the same, it will fluctuate depending on the season and market changes.

Obviously, I'm not suggesting that people learn Delphi or C ++ Builder to write your own OS, or you must know the assembly process can be made invoicing system; I'm just saying, even if you do is write a desktop application, you learning from Delphi and C / C ++ learned knowledge and skills will also enable you to get better on every level.

Optimistic language

Optimism or humane programming language as long as the prototype language. Basic is an open language, C # and Java is open-ended language, Go and Dart is the same kind of open-ended language. Such as node.js, python and Erlang like script engine (if you missed Scott Hanselman epic stuff on the subject , you can treat). The reason they are called optimistic person, because they function to exchange security  ;  from the harsh reality sandbox hardware developers.

乐观语言通常被设计为根据“人类希望事物成为什么样的方式 ”起作用(因此称为“ 乐观一词)。这些语言在很大程度上依赖于现有的基础结构才能正常工作,并且每种语言都倾向于专注于特定的任务-随着时间的流逝,它们只会分支并变得更加通用。

乐观的语言没有错。除非将它们以某种优势或与原型语言相媲美的价格出售给年轻学生。这是一件非常危险的事情–因为老师有责任为学生做好现实生活的准备。我什至不知道看到刚从大学毕业的年轻开发人员获得“这份工作”的次数,只是意识到业务的核心,即任务关键型东西是用Delphi或C / C ++编写的,他们从未学过。

人们不知道现代世界上有多少语言依赖于这些语言。几乎令人震惊的是,如何在2019年成为一名开发人员并对这些区别视而不见。不要误会我的意思,这不是学生的错,恰恰相反。我很高兴事情开始好转(更多有关此事的进一步讨论)。

原始全栈

回到我的小encounter;发生的事情是,我只是按照“为什么不给孩子一些有益于他们一生的东西”的方式评论。就我而言,这只是一个过客的评论,我应该忽略它;不久之后,我便按下了Enter键,当时一小群网络战士似乎在捍卫他们对2019年“全筹码”的解释。忽略了在1988-ish左右使用完全相同的术语这一事实。我认为是由Aztec或SAS-C创造的。没关系

Aztecs

原始的“全栈”在传统开发中具有非常不同的含义。虽然我不记得它是Aztec-C还是SAS-C,但是整个堆栈都是台式机的驱动程序

长话短说,我最终与这些少年们讨论了过去35年中技术的发展情况。从理论上讲不是这样,而是从C = 64发布以来一直是程序员。我还向他们介绍了原型语言,并指出了我在上面所做的区分。如果您不知道区别,就无法比较。

我没有其他语言的问题,我用了几个自己,我的意思很简单:如果我们要教下一代程序员一些东西,那么就让他们教我们生态系统所依赖的永恒的原理和工具。我们需要将Delphi和C / C ++重新纳入课程表,因为这反过来将帮助学生成为更好的开发人员。最终他们做什么工作都没有关系,因为有了基本的了解,他们将更适合。期。

如果您首先学习Delphi,那么您将成为更好的Java开发人员。如果您学习Delphi,将会成为更好的C#开发人员。就像大自然具有复杂性一样,计算也是如此。并且了解每一层如何工作以及那里存在哪些法律–将对您编写高级代码的方式产生巨大影响

所有这些都很好,互联网勇士们似乎有些困惑。他们没有为进行实际对话做好准备。因此,起初有些粗糙,最终却变成了有意义的,友好的对话。

说到教育:我很高兴地说,挪威的两所大学现在又有学生在使用Delphi。这是朝正确方向迈出的一步!人们正在重新发现Object-Pascal的生产力,以及为什么该语言仍然是世界上许多公司的生硬之宝。

盗版,问题的灵气

与这些年轻的开发人员交谈时,对我影响最大的是,他们与Delphi或C / C ++几乎没有任何关系。从教育的角度来看,这不仅令人震惊,而且是智力上的紧急情况。他们对Delphi唯一的了解是传闻和胡说。

Piracy

虚假陈述的根源是盗版,公开地是过时的版本,该版本从未设计过可在现代操作系统上运行。使用社区版,人们可以享受现代化的高性能Delphi,而无需诉诸非法活动

但是一段时间后,我终于发现了他们的信息从何而来!直到今天,Delphi 7仍在大量盗版。这是出于某种奇怪的原因,在亚洲非常流行(当我跟进时,大多数torrent IP都在那里结束了)。因此,青少年下载了任何标准的古老的Delphi 7,他们遇到的第一件事就是不兼容问题。这是可以预料的,因为Delphi 7是很久以前发布的。但这就是在下载了这些破解的非法捆绑软件之一之后留下的印象。

我下载了这些“立即可用”捆绑软件中的一个,以进行更仔细的查看,其中包含至少500个商业组件。您拥有完整的TMS组件集合,Developer Express,Remobjects SDK,ImageEN,FastReports,SecureBlackBox,Intraweb —数万美元的代码。有一个非常明显的因素Delphi 7和涉及的组件都已严重过时微软甚至不再支持Windows XP,它是在青铜时代初期编写的。

因此,现实情况是这些年轻的开发人员一生中从未见过现代的Delphi。在他们看来,Delphi意味着Delphi 7,他们几乎可以在任何地方下载(这是非法的,到处都是病毒,请保持清楚)。怪不得对此主题感到困惑(!)

他们很高兴了解社区版本,因此最终我至少要唤醒他们了解现代Delphi所代表的强大功能。社区版是一件了不起的事情。自社区版发布以来,在Facebook上加入Delphi-Developer的成员数量几乎增加了一倍。

一些学生去了Embarcadero,下载了社区版,他们的下巴掉了下来。他们以前从未见过这样的开发环境!

给我五个学习德尔福的好理由

delphi_box鉴于这一集,我想可以分享五个原因,为什么Delphi和object-pascal仍然是我的主要编程语言。

在使用JavaScript,Python或任何情况下,我都不会遇到任何问题-但是在涉及关键任务的数据处理和服务方面,需要24/7的正常运行时间;或根本无法容忍CPU峰值的嵌入式解决方案。我是德尔福。

这五个原因也与我给青少年的原因相同。所以去。


大深度和翼展

Object Pascal(德尔福是其中的流行方言)是一种很棒的语言。从本质上讲,就功能而言,C / C ++和对象Pascal之间几乎没有区别,但是对象Pascal的语法比C / C ++(IMHO)更具生产力。

Delphi和C ++ Builder实际上共享运行时库(有两个,仅Windows的VCL和独立于平台的Firemonkey)。开发人员经常在这些语言之间混合和匹配代码,因此可以用C ++构建器使用用Delphi编写的组件,并且可以使用用C编写的库并将其链接到您的Delphi可执行文件中。

一个有趣的事实:人们认为Delphi很老。但是C语言实际上比pascal大3岁。在他们使用这些语言的同时,Embarcadero(使Delphi和C ++生成器的开发者)将您期望的所有有趣的功能从现代语言引入到Delphi中(诸如泛型,内联变量,匿名过程之类的东西) )。因此,Delphi已过时或不合适的神话就是那个神话。

Food chain

编程语言生态系统

而且还有额外的奖励!与C / C ++一样,Delphi代表了跨越数十年的课程和血统。停下来想一想。数十年来,这是一种已发展为解决各种可能出现的技术挑战的语言。这意味着您可以相信该语言可以提供什么。

世界上有数百万的Delphi开发人员。实际上估计有1000万。该语言在TIOBI语言索引中排名第11;它正在不断发展,具有清晰的路线图和时间表-大小公司都将其用作其业务的基础。甚至挪威政府也依靠德尔福。用于处理挪威人口医疗保健信息的系统是纯Delphi。这就是针对520万人的数据处理。

Pascal对象不仅经受了时间的考验,还创新了它。就像C / C ++对象一样,pascal的翼展和深度从汇编器到系统服务,从数据库引擎到可视化桌面应用程序,再到从桌面一直到Cloud和基本Web技术,都可以达到。

因此,学习Delphi的第一个很好的理由是深度Delphi涵盖了本机堆栈,从内核级驱动程序到高速数据库引擎,再到可视化桌面应用程序。它也非常适合云服务(Windows和Linux目标)。


简单易学

我提到Delphi功能强大,并且深度与C / C ++相同,但是为什么要学习Delphi而不学习C ++?好吧,该语言(对象pascal)是专门为提高可读性而量身定制的。结论是,人脑比符号或字形识别单词的速度更快-因此,读取复杂的Pascal代码而不是复杂的C代码更容易。尽管个人口味。

Despite the depth, Delphi is easy to learn and fun to master!

尽管有深度,Delphi还是很容易学习和掌握的!

Pascal对象也非常具有声明性,具有尽可能少的未知因素。这教导人们编写整洁有序的代码。

也许我最喜欢的一个Pascal代码文件同时包含接口和实现。因此,您不必编写在C / C ++中常见的第二个.h文件。

如果您已经了解OOP,无论是Java,C#,Rust还是其他任何东西,学习Delphi都是小菜一碟。您已经了解了类,接口,泛型,运算符重载,并且几乎可以跳到内存管理,指针和结构(pascal中的记录,C中的struct)。

在Embarcadero Academy挥杆并参加课程,或者前往Amazon并在Delphi上购买一些好书。下载Delphi社区版,您将立即启动并运行。

还记得在Facebook上加入Delphi Developer,成千上万的活跃开发人员在这里聊天,互相帮助并共享24/7的解决方案。


定位多个平台

如今,借助Delphi和C ++构建器,可以轻松地针对多个平台。您可以通过单个代码库定位Android,iOS,OS X,Windows和Linux。

A code base, multiple targets

一个代码库,多个目标

我的意思是,您打算用Java编写一个版本的应用程序,用C#编写第二个版本,在Objective C中编写第三个版本,在Dart中编写第四个版本吗?因为如果计划使用每个操作系统制造商提供的开发工具,这就是您要面对的现实。仅仅为了将产品推出市场就需要大量的时间,金钱和精力。

使用Delphi,您可以立即使用本机代码访问所有平台,从而缩短了产品上市时间和ROI。人们使用Delphi是有原因的。

Delphi在移动平台上发出的LLVM优化代码也将为您带来出色的性能。


丰富的代码库

人们常说,年龄的好处是智慧。我想计算等效项是大量,丰富的组件,库和临时代码的集合,您可以将它们放入自己的项目中或只是学习。

您可以搜索几乎所有主题的Google,并且会有Delphi的代码。Github,BitBucket和Torry的Delphi页面包含了开放源代码框架,涵盖了从编译器内核,MIDI接口,游戏开发到多线程,机器集群服务器解决方案的所有内容。一旦开始寻找,就会发现它。

GitLab-vs-GitHub-vs-bitbucket-1

互联网上有许多用于Delphi和C ++ Builder的代码,组件和库。还请记住专门的网站,例如Torry的网站

还有很多技术合作伙伴可以为Delphi生成组件和库-就像前面提到的那样,一旦学习了绳索,就可以使用C编译代码进行链接。

哦,当我较早提到数据库时,我不是在谈论传统数据库。德尔福让您无所顾忌,而我也正在谈论从头开始编写数据库引擎。有几种数据库引擎完全在Delphi中实现。ElevateDB是一个示例。

Delphi还附带了Interbase和Interbase-light(嵌入式和移动式),因此您可以轻松访问数据存储解决方案。FireFAC还允许您直接与已建立的数据库连接-再次提供大量免费的商业解决方案。


速度与技巧

我最喜欢Delphi和C ++的地方在于您的代码或编写代码的方式会直接影响您的结果。在某些新型的,乐观的语言中,优化的技巧很少是一个因素。但是,您可以使用母语来使用较少时间或更有趣的传统技术:探索以更少的成本实现相同目标的方法。

作为一种本地语言,Delphi和C / C ++可以生成快速的可执行文件。但是我喜欢您自己的技术,您自己的组件和您自己的库总是有空间的。

books

像数学一样的技术是永恒的

Need to write system driver? Well, the speed suddenly becomes a very important factor. On this level, the garbage collector could be a disaster, because it would lead to the interval start time and CPU spikes. Maybe you want to write a compiler, or need a reliable scripting engine? How V8 JavaScript engine directly linked to your program? Use Delphi, all of these operations are very simple.

So with Delphi, I can best of both worlds, you can use a scalpel in a delicate needs, it can also cut tedious work with chain saws. Things such as the binding properties of the class are God-given. This is a technique that you can attribute to visually bind together any of the components, like events, and create a causal chain. Therefore, if the value occurs on the binding properties change, nothing will trigger the binding, and so on, and so on - fantastic!

Therefore, you do not need to write any code to create complete database applications with grids and navigation functions. It was just a simple example , you can do more immediately, and can save a lot of time.

However, when you really need to write code or build high performance killer framework that allows your company unique, you have freedom!


So, if you have not checked out RAD Studio, visit the Embarcadero and download a free trial version . You'll be amazed and realized why so many people like Delphi and C ++ Builder.

https://jonlennartaasenden.wordpress.com/2019/02/08/5reasons/

 

Guess you like

Origin www.cnblogs.com/findumars/p/12212451.html