我的一个朋友在他的公司中使用PowerBuilder编写的ERP软件.不幸的是,(唯一的)开发商即将退休.我的朋友真的很喜欢这个软件,并希望继续使用它至少十年,所以我的朋友决定购买源代码.
他希望创办一家企业来维护软件并开发新功能.目前,大约有50个软件安装在野外,他已经知道了许多潜在的买家.
现在他正在寻找一个开发人员并问我......我做了一些C/C++编程,一些VB和一些其他语言,但在过去几年里,我通过编写Java Web应用程序赚了我的钱.从我读到的内容来看,PowerBuilder对我来说看起来很陈旧,几乎没有任何教程,没有开源框架,笨拙的版本控制,甚至没有读过任何测试框架.StackOverflow的人们说他们希望语言/ IDE已经死了.此外,我维护的代码完全没有文档和未经测试.
对于那些以前从未听说过PowerBuilder的人来说,您认为维护这样的软件是否可行?
编辑:好的,谢谢你的回答.我们决定完全启动旧应用程序并使用最新语言重新编写它.
是的,这是可能的.Powerbuilder不是一种难以接受的语言,特别是如果你已经使用过VB.
Powerbuilder社区远远小于您可能习惯使用的Java,但它确实存在.提问的最佳位置(除了SO!)是sybase.public.powerbuilder.* newsgroups.
对于单元测试,请尝试PowerUnit,对于源代码控制,您可以通过PBSCCProxy,TamTam SVN SCC或PushOK SVN SCC代理使用Subversion .
它现在已成为一种利基语言.在我看来,这是由于所需工具的前期成本,这实际上阻止了任何新人考虑它.
然而,未来相当光明:Sybase正在蓬勃发展,致力于PowerBuilder,并定期宣布第12版的进展,这将是一个完整的.NET语言,如C#和VB.NET,并将附带基于VisualStudio的IDE.您将能够直接将代码迁移到版本12,无需重写.
我的职业生涯始于PowerBuilder开发人员,但很快就改为java和python,我意识到PB几乎已经死了.
此外,即使有可用于应用编程"良好实践"的工具,它们也不是众所周知且有些昂贵,所以即使没有版本控制(!!)我也不得不工作,不考虑自动化测试或连续积分.
这种语言几乎任何人都可以在很短的时间内开始构建可用的应用程序并且几乎没有培训,并且与java相比,应用程序构建得非常快,需要一段时间的学习,直到开发人员能够提高工作效率即使在那时,webapp也需要时间来开发.
但回报是维护,很快就会成为一场噩梦.即使像数据库列中的类型更改这样的数据库中的微小更改也可以破坏引用它的每个数据窗口(PB无处不在的数据访问组件).
它与VB非常相似,因为几乎任何人都可以在其中开发应用程序,只需很少的编程知识,应用程序的平均质量非常低,数据库耦合难以管理,并且编码错误.
我的建议不是以这种语言建立开发人员的职业,除非钱能够证明这一点,并且在这种情况下,继续训练自己使用替代技术作为"计划b",以免与语言一起过时.
并始终努力使您的编码和解决问题的技能"保持良好状态",因为这种语言并没有帮助.
是的,任何称职的程序员,甚至一些不那么称职的程序员都可以使用PowerBuilder.但是,我对之前的一个答案有点不同意.它与pre-.Net VB在某种意义上不同:它支持真正的OO原则(封装,继承和包含多态性[但不是通过接口的操作多态性,如在C#和Java中]).经典VB没有继承.
Paul Lefebvre和Colin Pickard的其他答案都是正确的:PB虽然比以前更像是一种小众语言,但它仍然活着,而Sybase确实将它推向了.Net的方向.至于源代码控制,PB支持一些接口(我们将它与VSS一起使用),但我很感谢Colin的一组很好的链接,这些链接在将来可能会派上用场.
框架:最常见的是PowerBuilder基础类,Sybase几年前开源.
我对你的警告是:我上面说过,人们不必特别强大的程序员来写PB.PB很容易学习,但需要时间掌握.它有一个最大的日子在90年代后期,当任何人可以双击Windows图标启动应用程序认为他们是程序员.尽管真正支持OO,但大多数PB应用程序并没有精心设计和编写良好的应用程序.他们通常是完全黑客的工作(批评缺乏经验丰富的开发人员和当时软件开发的不成熟,而不是PB本身,这仍然是一个非常强大的工具).如果您继承的代码库非常容易维护和管理,那么您就属于少数.PB代码几乎总是被归类为遗留代码.好消息是有很多挑战.