This thread is getting a bit derailed... the original topic was intellectual property.
I'm still grateful for the advice y'all've been giving me)
snip...
Can any project with ambition on the level of DF afford that speed penalty?
To answer your question, java has come a ridiculously long way in the last decade. With modern java, compiler and a good JIT JVM java can run at an average of about half the speed of c++ for pure computational speed. In some cases, due to run time profiling and optimization, java can run faster than c++ code that can only be optimized at compile time.
[to keep quote volume down, "that article you linked to is bad"]
I am not saying that java is perfect, just that it is very capable. And since you are already quite familiar with it, it would make sense to use it for an ambitious project. The only language you could change to and gain any speed advantage is c/c++ and that comes with the headache of dealing with manual memory management, a more difficult threading model and a handful of other gotcha's to navigate around. You should learn c/c++ at some point, as it will get you "closer to metal" in your understanding of how computers work.
Yeah, it would've probably been better for me to not link to any article than to link to just the first one that came to mind. I've read
much more persuasive articles, though.
Quite familiar? I've only been working with it for a few weeks, though that
has been at least a hundred hours. AFAIK, which is not very much, it's possible to have core functionality, such as pathfinding, be coded in hyper-efficient C/C++ and integrate that with Python easily, but not Java. Is this true?
I'll put it this way:
Java speeds development by making it easier to code the same program to several different OSs, but slows the actual performance.
C++ slows development because you have to code it in a different way for every OS, but improves performance.
Course C++ is the best choice for DF, between it and Java anyway, I don't actualy know the advantages of python.
Exactly. If I fail, the language choice is for naught. Well, I'll learn it a lot, but the choice is mostly unimportant. If I succeed, I'll need performance every bit as much as Toady does. Thus: Performance wanted.
Why are we discussing the speed difference between Java and C. The person is somewhat of a newer programmer and I doubt for the type of project he would do the speed difference would matter much. Of-course the big question is what is the project.
...didn't you read the OP? In a single sentence, the project is to create a DF-level world simulation game.