作为一名C#程序员,我应该学习Openedge吗?

6
我们公司有一个Progress OpenEdge(http://en.wikipedia.org/wiki/Progress_4GL)开发团队。我是唯一的C#开发者,非常喜欢它。现在经理要求我学习OpenEdge编程。他不希望我成为一个优秀的OpenEdge程序员,但他希望团队成员能够理解两个世界。他希望团队从中受益。虽然我不反对学习,但我想成为一个更好的开发者,并且还有很多方面的.NET我想了解。那么Progress OpenEdge有哪些好处可以让我受益呢?或者我应该远离它?
8个回答

10
  1. OpenEdge是一个强大的框架,用于构建CRUD应用程序;但它是一项小众技能,没有像SAP那样的薪资溢价;相反,优秀的OpenEdge开发人员很难以普通费率获取 - 经理通过后门招聘OpenEdge开发人员并不罕见。

  2. 核心ABL(OpenEdge语言)与主流语言有足够的差异,对于好奇的程序员和你的老板来说都很有趣,让每个人都能理解其他人的观点。

因此,请记住以下几点:

学习基础知识值得,可以丰富您对核心竞争力的理解,就像“只了解英格兰的人,他们应该知道什么?”一样。您还可能会发现数据访问的便利性。

不值得花太多时间分散注意力,从而无法发展在更广泛使用的框架中的专业知识。


6
如果你的经理让你学习OpenEdge,那么他一定有他的理由。一个理由可能是你将承担一些开发工作,也许在其他人离开时提供支持。另一个理由可能是,正如他所说,他希望团队了解两个世界。
你需要找出的是Progress的人是否也会看.NET。如果不是,你就知道他心中想要实现的是这些理由中的哪一个。

3

这是一个小众领域,但小众领域也可以非常有价值。它也可能像陷在泥里一样让人感到困难重重。最终结果取决于很多因素,但正如其他人所说,学习新知识总是好的。


3

我有12年的Progress/Webspeed/Sonic经验,每小时可以赚取75欧元。


我很好奇 - 语法是什么样的?它是ANSI-SQL吗? - Skyguard

3
学习新的(而且不同的!)语言从来不是一个坏主意。它可以让你的思维保持活跃,并教会你一些在你母语中可能无法获得的概念。学习OpenEdge对你的C#知识没有负面影响,你可以同时学习它们。我个人目前正在阅读C#,Python,PHP,Ruby和Groovy的相关资料,虽然大部分工作都在Java上完成,但我只是想了解所有内容。(更不用说阅读多种语言的框架相关内容了)
简而言之,学习一门新的语言总会让你受益,因为它将给你带来与你熟悉的语言不同的视角。

3
你使用的是哪个版本的OpenEdge?我可能有点偏见,但我认为值得学习。有人正在寻找OpenEdge开发人员,并且Progress最近发布了一个名为“OpenEdge GUI for .Net”的产品,它允许您仅使用OpenEdge ABL代码构建具有.Net控件的.Net前端,因此将有越来越多的商家寻找了解OO .Net世界并且也了解ABL的人才。
ABL的另一个好处是它非常向后兼容(升级版本时没有VB6噩梦)(尽管有些人可能认为这种向后兼容性是一种缺陷)。
现在,ABL将传统过程方式与OO概念结合使用,因此您可以根据需要使用其中之一或两种理论。
我想你将学习的主要内容是数据访问组件,是的,那对你在.Net世界中不会有帮助,但我认为你会发现学习它比其他数据访问更容易,因此将成为一项资产。
最后,如果您已经很好地掌握了.Net,那么您将成为雇主的重要资产(并且在未来的工作申请中也是一个优势),帮助他们的OpenEdge开发人员了解.Net的思想。我不认为Progress会使ABL编译为CLR代码(如果我术语不正确,请原谅。它是否应该是位代码?您知道在.Net VM中运行的代码),但他们确实知道.Net正在赢得桌面战争,并且他们借鉴了一些概念(例如.Net GUI和数据集)。我希望(再次偏见)您会看一下OE数据访问并说:“我希望.Net有一种简单的方法来做到这一点!”

2
我必须说,我无法忍受Progress采取的整个OpenEdge GUI框架的方向,他们需要集中精力提高关系型数据库管理系统的支持,以维持其持续生命。我仍在等待ADO.NET驱动程序,并已开始开发自己的驱动程序。 - Brett Ryan

2
OpenEdge主要被软件开发人员用于构建产品。最终用户通常只与应用程序的rdbms端交互。我认为学习任何新语言都是一件好事,而且它与你所熟悉的越不同,就越好——当我们的假设和习惯受到挑战和扩展时,我们学得更好。作为rdbms,OE几乎是“设置和忘记”,需要很少的维护。建议您访问Progress论坛在线查找DBA管理指南,并阅读嵌入式SQL,因为在短时间内这可能更容易理解。在消化了所有这些内容之后,只需开始编写代码。没有什么比实际构建可用的东西更好了。向其他开发人员寻求支持问题或构建简单表单,然后动手去做吧。

0
如果您的代码与OpenEdge程序交互,那么您最好学习一些关于该环境的知识,以便更好地进行交互。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接