我们在我工作的公司中有一个 Progress OpenEdge ( http://en.wikipedia.org/wiki/Progress_4GL ) 开发团队。我是那里唯一的 c# 开发人员并且非常喜欢它。所以现在经理让我学习 OpenEdge 中的编程。他不希望我成为一名优秀的 OpenEdge 程序员,但他希望团队成员了解两个世界。他希望球队能从中受益。我不是不愿意学习,但我想成为一名更好的开发人员,我喜欢发现 .Net 的更多方面。那么,关于 Progress OpenEdge 有什么好处,我可以从中受益还是应该远离它。
8 回答
OpenEdge 是用于构建 CRUD 应用程序的强大框架;但它是一种小众技能,拥有它并没有像 SAP 那样的工资溢价;相反,体面的 OpenEdge 开发人员很难以沼泽标准费率获得 - 经理通过后门招募 OpenEdge 开发人员并不为人所知。
核心 ABL(OpenEdge 语言)与主流语言有很大的不同,这对于好奇的程序员和你的老板来说是很有趣的,因为每个人都可以理解其他人的观点是有意义的。
因此,请记住以下几点:
学习基础知识以丰富您对核心能力的理解是值得的,遵循“英格兰人应该知道什么,只有英格兰人知道?”的思路。您可能还会发现数据访问的便捷性令人大开眼界。
不值得花太多时间在一个无限广泛使用的框架中发展你的专业知识。
如果您的经理希望您学习 OpenEdge,那么他有这样做的理由。一个原因可能是您将承担一些开发工作,也许在其他人关闭时提供掩护。正如他所说,另一个原因可能是他希望团队了解两个世界。
您需要了解的是,Progress 人员是否也会关注 .NET。如果没有,你知道他想到了哪些原因。
学习新的(和不同的!)语言从来都不是一个坏主意。它可以让大脑保持运转,并教给您可能无法用您的语言提供的概念。学习 OpenEdge 不会对您的 C# 知识产生不利影响,您可能可以同时学习它们。我个人目前正在阅读 C#、Python、PHP、Ruby 和 Groovy,而我的大部分工作都是在 Java 中完成的,我只是想知道一切。(更不用说阅读上述语言的多个框架了)。
简而言之,你总是会从学习一门新语言中受益,因为它会给你一个不同于你习惯的观点。
您使用的是什么版本的 OpenEdge?我可能有偏见,但我会说是的,这是值得的。有人在寻找 OpenEdge 开发人员,而 Progress 最近发布了一个我们称为“OpenEdge GUI for .Net”的产品,它允许您使用仅使用 OpenEdge ABL 代码的 .Net 控件构建 .Net 前端,将会有越来越多的商店寻找了解 OO .Net 世界但也了解 ABL 的人。
ABL 的另一个优点是它非常向后兼容(当我们升级版本时没有 VB6 噩梦)(尽管有些人可能会说这种向后兼容性是一个错误)。
ABL 现在正在将其传统的 Procedule 方式与 OO 概念相结合,因此您可以根据有意义的情况使用一种或另一种或两种理论。
我想您将要学习的主要内容是数据访问组件,是的,这在 .Net 世界中对您没有帮助,但我认为您会发现学习其他数据访问更容易,因此,这将是一个拥有的资产。
最后,如果您在 .Net 方面拥有良好的基础,那么您将成为您雇主的重要资产(并成为未来工作申请的另一个选择),帮助他们的 OpenEdge 开发人员理解 .Net 理念。我认为进步永远不会使 ABL 编译为 CLR 代码(如果我的术语有误,请原谅。它是位代码吗?你知道在 .Net VM 中运行的代码)但他们确实知道 .Net正在赢得桌面大战,他们借用了一些概念(.Net GUI 和数据集)。我希望(再次有偏见)您会查看一些 OE 数据访问并说,我希望 .Net 有一个简单的方法来做到这一点!
这是一个利基市场,但利基市场可能非常值得。它也可能像被困在泥里一样。事实证明,这取决于很多因素,但正如其他人所说,学习新东西总是好的。
凭借我 12 年的 Progress / Webspeed / Sonic 经验,我每小时赚 75 欧元。
OpenEdge 似乎主要被软件开发人员用于构建产品。最终用户通常只与应用程序的 rdbms 端交互。恕我直言,学习任何新语言都是一件好事,它与你习惯的语言越不同越好——当我们的假设和习惯受到挑战和扩展时,我们会学得更好。OE 作为 rdbms 几乎是“一劳永逸”的,几乎不需要维护。建议你去进步论坛在线查找 DBA 管理员指南,完成它,然后阅读嵌入式 SQL,因为这可能会在短时间内对您更有意义。在消化完所有这些之后,继续写点东西。没有什么比把橡胶铺在路上并建造一些有用的东西更好的了。向其他开发人员询问支持问题,或者构建一个简单的表格,然后就去做。
如果您的代码与 OpenEdge 程序交互,那么您应该了解一些有关环境的信息,以便更好地与它交互。