mahuja 12 Posted December 22, 2011 EDIT: Oh, and does this have any effect on the whole code locality concept? Probably not. The reasons we're doing distributed programming ("code locality") are language agnostic; they apply just as much to java as to sqf. The only way you can get rid of it, is by moving it - all of it - to the server. One of the most important factors is that there can be significant latency to the server. (A busy/overloaded server comes on top of that again.) Consider that together with dialogs/UI like the gear screens. Should clicking a button be allowed to take half a second to respond? Of course not. "Fixing" this is impossible without breaking other stuff. A "Hybrid" solution will easily be the worst possible solution. Object locality can to a large extent be made transparent (currently some commands only work right when run from the same box on which that object is local). This will make code locality less of an issue, however it will be both latency-sensitive and hazardous from a correctness point of view. Share this post Link to post Share on other sites
gossamersolid 155 Posted December 22, 2011 Hello Maruk,Could you please give a response to these questions. 1. Does the JVM use by ArmA 3 will be a copy embedded into the game or would it be possible to use one's system JVM ? 2. Do you intend to deliver the Java API as libraries? If so would it be possible to develop programs that use these libraries without running the game? 3. Does the Java process/threads in ArmA 3 will have restrictions like system files or Socket access limitations? What about remote control possibilities of the JVM? Thanks again for supporting Java into ArmA 3. These are good questions, I'm interested in the answers as well. Share this post Link to post Share on other sites
Slapstick 10 Posted December 23, 2011 If Marek does decide to answer a few more questions... What JVM will you be targeting? 7? 6? Certainly not 5... Any chance to get a sneak peak at the JavaDocs so we can start reading up? (You guys do write JavaDoc as you go.... right?) Any ballpark figure for a beta patch release? Are we talking days, weeks, months? Is there some third party framework for embedding Java as a game's scripting engine? Thanks! I can hardly wait to start writing Java code! Share this post Link to post Share on other sites
noubernou 77 Posted December 23, 2011 the real question in my mind is if this might end up in some of there umm shall we say, pricier product lines... ;) i can imagine finding java devs could help ease the burden of a number of firms. Share this post Link to post Share on other sites
dustoff 0 Posted December 23, 2011 Any chance to get a sneak peak at the JavaDocs so we can start reading up? (You guys do write JavaDoc as you go.... right?) would like to see this also .. Share this post Link to post Share on other sites
MichaelGER 10 Posted December 23, 2011 About two Years ago I stopped ArmA scripting because I started java programming. Now I can do both things with one language. Very great feature! Share this post Link to post Share on other sites
batto 17 Posted December 25, 2011 Hi. Great news! Are you going to write own JVM? Regarding security: filesystem/network access, can be easily forbidden (JAAS). Scala FTW :cool: Share this post Link to post Share on other sites
Meek 10 Posted December 29, 2011 (edited) Jython (Python) support, fuck yeah! I tried to get into modding before, but being a pretentious Python coder, I just couldn't adapt to ARMA2's weird scripting language. First thing I'll do when ARMA 3 hits: write a Pythonic library to help Python coders not kill themselves dealing with Java-style APIs. Edited December 29, 2011 by Meek Share this post Link to post Share on other sites
DomZ 15 Posted January 2, 2012 Will the java be added to an Arma2 patch? Share this post Link to post Share on other sites
Lonestar 11 Posted January 2, 2012 I doubt there will be any support before A3. Share this post Link to post Share on other sites
A.R.Mageddon 0 Posted January 17, 2012 How is java better? Object Orientation. Share this post Link to post Share on other sites
maruk 80 Posted January 17, 2012 Will the java be added to an Arma2 patch? No. Take On Helicopters were selected as the platform of choice to test drive Java before it can be released as part of Arma 3 for several reasons. Share this post Link to post Share on other sites
mahuja 12 Posted January 17, 2012 Object Orientation. Good, but still meh compared to the rest of my reasons: Well specified semantics. I'm not sure if an sqf specification exists (published) to the point that it forbids executing scripts in reverse... which would mean that {a=b; b=c; } is technically relying on undocumented behavior. At the very least, the preemptiveness of the sqf threads has given me loads of trouble, both ways. In how well suited sqf is for human use, I'd place it right beside assembly. Java is a few steps up. And we've come to assume you can use other jvm-enabled languages too. From opening post: "Using IDEs such as NetBeans and Eclipse for development and debugging." (my emphasis) --- Any reasonable ideas when we might be able to play with this? Share this post Link to post Share on other sites
Socrate 10 Posted January 17, 2012 Java?! C#? why not C++?! the config files were C++ headers... C++ is -fast -support OOP -portable -probably, it's already used by the engine ...it's really true that the ways of the Lord are infinite.. Share this post Link to post Share on other sites
major_shepard 82 Posted January 18, 2012 Java?! C#? why not C++?! the config files were C++ headers... C++ is -fast -support OOP -portable -probably, it's already used by the engine ...it's really true that the ways of the Lord are infinite.. Java and C# programs use garbage collector of their virtual machine which made development ton of easier and safer compare to C++ (memory access violation, buffer overflow etc). Moreover C++ has few security aspects compare Java. What about for a given addon running malicious code while you are playing ArmA 3 :D:rolleyes: Share this post Link to post Share on other sites
noubernou 77 Posted January 18, 2012 Can already do that now in ArmA2. You should probably trust who you are downloading from, and not download anything sketchy. Share this post Link to post Share on other sites
rfc 10 Posted January 20, 2012 Was a few months away from the forums, came back, found this thread about JVM, doubled checked I'm not on stackoverflow. Wtf, I'm in a game forum and they're talking about the JVM? :eek: I mean, I have read already lots of stuff of proprietary and open source scripting support in commercial games, honestly I've never heard about using the JVM. :confused: I find this an impressive and brave, but quite logical too; it's usually hard to development in a few years and beat something which is out there since more then 15 years. I really think this move will turn out great, because I can shoot out in less then I second why I did never more with the BIS titles so far: I'm a programmer by heart and I value elegance and expressiveness in languages and SQF always felt so arcane; just never could fall into love with it. So, unless this isn't some kind of hoax, BIS, clever and interesting move. You just have to rock the modding community with this:D PS: it's fine to release A3 in 2013; more features/less bugs is OK ;) Share this post Link to post Share on other sites
Serclaes 0 Posted January 21, 2012 I really think this move will turn out great, because I can shoot out in less then I second why I did never more with the BIS titles so far: I'm a programmer by heart and I value elegance and expressiveness in languages and SQF always felt so arcane; just never could fall into love with it. +1 on that. Share this post Link to post Share on other sites
inlesco 233 Posted January 21, 2012 Never underestimate the popularity of JAVA worldwide. I believe that aspect played the biggest part on making final decision. Share this post Link to post Share on other sites
rfc 10 Posted January 21, 2012 Never underestimate the popularity of JAVA worldwide. I believe that aspect played the biggest part on making final decision. I wouldn't be that sure about it; they're talking about the JVM as a scripting/execution environment. Whether you use Java to compile to it, or JPython or JRuby wouldn't matter. I would certainly harness the power or Rubys "everything's an object" (err, well, nearly) for example ... Might also lead to a quite diversified community experience; now every serious BIS modder knows SQF, but with the JVM there's access to many many languages. I'm sure it will attract more/new ones and it may also fragment modders over choosing which language to use (I certainly wouldn't work with python code as I'm just not fluent enough with it). Share this post Link to post Share on other sites
xeno 234 Posted January 21, 2012 I really think this move will turn out great, because I can shoot out in less then I second why I did never more with the BIS titles so far: I'm a programmer by heart and I value elegance and expressiveness in languages and SQF always felt so arcane; just never could fall into love with it. If you would be really interested in modding the game then you would have learned sqf too, don't you agree ? Modding is a little bit more than having just tool A or programming language B available... Anyways, I hope a new TOH (beta?) patch will be available soon. I'm interested to see if and how threading will work with the Java VM and the game. Xeno Share this post Link to post Share on other sites
Serclaes 0 Posted January 21, 2012 If you would be really interested in modding the game then you would have learned sqf too, don't you agree ?Modding is a little bit more than having just tool A or programming language B available... If you already have the intricacies of 3 languages plus multiple frameworks to memorize, there isn't a lot of room for a function library and irritating syntaxes for control structures. Plus I can't stand languages without type safety :D At least that's what drives me away. Share this post Link to post Share on other sites
rfc 10 Posted January 21, 2012 If you already have the intricacies of 3 languages plus multiple frameworks to memorize, there isn't a lot of room for a function library and irritating syntaxes for control structures. Plus I can't stand languages without type safety :DAt least that's what drives me away. Yes, Xeno & your response show that it's not a matter of black and white. If you're very passionate about it you might as well accept everything to get your goal. Yeah well, I've some passion but I'm simply not interested in learning those SQF intrinsics. I'd rather use my language of joy because it already costs me enough time memorizing the API and grasping how things work; have a complete new language IMHO is just another kind of barrier. But well, that's me and mustn't apply to you ;-) Share this post Link to post Share on other sites
Socrate 10 Posted January 23, 2012 Java and C# programs use garbage collector of their virtual machine which made development ton of easier and safer compare to C++ (memory access violation, buffer overflow etc). Yep i know that Java and C# use GC, however: - GC has its own cost - there're already GC implementation for C++ too - C++ offers already other way to manage memory: auto_ptr, shared_ptr and so on - aren't we talking about scripting?! ;) Moreover C++ has few security aspects compare Java. What about for a given addon running malicious code while you are playing ArmA 3 :D:rolleyes: I'm not a security expert however, you have this kind of issue also with Java because: - safety depends on the code you wrote, so depends on the programmer skill - in Java for example you can download a class from "somewhere" and execute arbitrary code ( through ClassLoader). As far as i know this can't be done in C++. Correct me if i'm wrong, however we all agree that everything it's better than SQF/SQS, first for the automatic JavaDoc ( i dream a good documentation made by the developer..at least better than the one on the wiki) and,second,because we'll have a predictable language. :D Share this post Link to post Share on other sites