Nis*_*nio 9 lisp erlang haskell programming-languages video-processing
我想写一个视频编辑软件,"逻辑"结论是我必须使用的语言是C++ ...但我不喜欢它(抱歉c ++粉丝)
我想写一些很酷的东西,比如Lisp或Haskell或Erlang ...但我不知道这些语言的开源实现(我没有钱购买许可证)让我制作了一个有竞争力的软件(在表演区)
你怎么看?您有什么推荐的吗?
我无法与Lisp交谈,但Erlang和Haskell都具备视频处理所需的性能.实现这种性能可能比使用C++更困难,因为域中现有的库较少,因此您必须自己实现更多.这意味着您必须自己能够编写高性能代码.在Haskell中,我预计这需要大量的时间投入(最少6个月)才能变得精通.
您选择哪种语言应该在很大程度上取决于项目的目标.如果它是一个业余爱好项目,或者你想学习很多关于处理算法的知识(因此不介意不必自己做很多低级编码),那么使用非主流语言并没有错.Haskell绑定了很多你最终可能想要使用的东西,比如GLSL的包装器.
正如有人从事音频处理(包括实时),我可以说Haskell的性能对我来说不是问题.对于最近的项目,我确实在C中编写了一些函数,但这对于实现自定义矢量化方案是必要的.在Haskell中进行高级工作并在必要时调用C是一种非常有效的方法,尽管幸运的是它现在比过去更不必要了.
当然,这假设了一些关于项目性质的事情.如果你想要一些可以立即使用的东西,Haskell,Lisp和Erlang可能不适合你,因为资源较少.你考虑过加工吗?这是Java,我不知道你是否认为这比C++更好或更糟.
除了在Haskell工作的生产力之外,我还有动力(而且我的生产力在一段时间内受到了很大的影响),没有那些我不会坚持的其他目标.如果你想写一些东西来使用它,坚持最有效率的东西.如果您有其他动机,请告诉我们它们是什么,并且人们更有可能提出有用的建议.