我认为Erlang非常适合在我的工作场所开发的服务器系统(目前用Java开发)。我有点怀疑开发人员(他们不了解功能或Erlang)以及管理人员如何接受这一点。
有关如何解决问题的任何想法?我正在考虑一些混合系统,其中核心高度可靠的基础设施使用Elrang,以及用Java开发的应用程序特定的东西(作为节点?)
答案 0 :(得分:10)
有一些方法,也没有任何保证实际工作
如果您所在的公司实际上已经使用Java工作代码库,那么当您建议使用其他语言重写时,他们不太可能会认真对待您。
您认为Erlang是一个更好的选择的真正考验:退出并启动一家竞争公司,并将您在当前行业中的技术洞察力带入其中。您的管理人员实际上正在比较一个类似的风险情景,就像您要辞职一样,他们正在寻找与您一样的成功事实,考虑留下“安全”的薪水。
至于如何集成,请查看Erlang中的 jinterface 应用程序。它允许Java代码向Erlang节点发送消息,并允许Java将邮箱公开给Erlang节点,就像有Erlang进程一样。
答案 1 :(得分:6)
关于投资者的投资回报率(ROI):经理将关注(公司的)绩效。为了吸引他的业务性质,你必须使用美元(或任何适当的货币)来为它做一个案例。
请注意,进行“臭鼬”项目以“证明”基于Erlang的解决方案可能适得其反:“所以你有时间玩Erlang,为什么你不把时间花在项目上呢?” (当然,并非所有经理/公司都会这么想)。
您必须考虑整个提案,例如对团队的影响,要开发的技能等等都是关于金钱的。
如果我有一个建议:从小处开始,种下一粒种子,培育它并观察它的生长。
“这不是关于技术,而是关于技术 产品&市场”。
答案 2 :(得分:3)
首先不是针对重写,而是使用erlang进行新功能/项目。重写可能是昂贵的,并且对于已经耗费时间和成本高昂的事情的事情而言,在erlang上冒险是一件很难的事。但是如果有一个新的部分可以在erlang和java中完成,那么你就有更好的机会。该项目将足够小,希望你能早日发现erlang是否适合并相应地进行调整。当erlang在该项目中证明自己时,您将拥有更好的数据来制作您的案例。
答案 3 :(得分:2)
我们将RabbitMQ引入我们的基础架构,该架构目前运行C ++,Java和Python应用程序的组合。我并不是特意打算让团队转向Erlang,但如果我是这样的话,那么介绍一个恰好使用Erlang的写得很好的第三方工具是一个非常好的方法。
一个主要的警告是,虽然Erlang是一种很好的学习语言,但是周围的技术(特别是OTP)具有巨大的学习曲线,并且在很多方面都非常原始(调试,IDE等)。它一直在变得越来越好,但如果你不警告他们在一个完全不同的环境中学习编程的痛苦,那么不情愿的皈依者会把你钉在十字架上。即使是简单的事情,例如缺乏代码感知技术(例如,类型'foo。'和IDE告诉你可以调用foo的方法)也会在口中留下非常糟糕的味道。