Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
87 views
in Technique[技术] by (71.8m points)

java - Haskell vs JVM performance


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This question is superficially about performance of code compiled with GHC vs code running on the JVM. But there are a lot of other factors that come into play.

People

  • Is there a team working on this, or just you?
    • How familiar/comfortable is that team with these languages?
    • Is this a language you (all) want to invest time in learning?
  • Who will maintain it?

Behavior

  • How long is this project expected to live?
  • When, if ever, is downtime acceptable?
  • What kind of processing will this program do?
    • Are there well-known libraries that can aid you in this?
    • Are you willing to roll your own library? How difficult would this be in that language?

Community

  • How much do you plan to draw from open source?
  • How much do you plan to contribute to open source?
  • How lively and helpful is the community
    • on StackOverflow
    • on irc
    • on Reddit
    • working on open source components that you might make use of

Tools

  • Do you need an IDE?
  • Do you need code profiling?
  • What kind of testing do you want to do?
  • How helpful is the language's documentation? And for the libraries you will use?
  • Are there tools to fill needs you didn't even know you had yet?

There are a million and one other factors that you should consider. Whether you choose Scala, Java, or Haskell, I can almost guarantee that you will be able to meet your performance requirements (meaning, it probably requires approximately the same amount of intelligence to meet your performance requirements in any of those languages). The Haskell community is notoriously helpful, and my limited experience with the Scala community has been much the same as with Haskell. Personally I am starting to find Java rather icky compared to languages that at least have first-class functions. Also, there are a lot more Java programmers out there, causing a proliferation of information on the internet about Java, for better (more likely what you need to know is out there) or worse (lots of noise to sift through).

tl;dr I'm pretty sure performance is roughly the same. Consider other criteria.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...