Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Java in c4d?

    Plugin Requests
    0
    7
    976
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

      On 11/10/2004 at 04:10, xxxxxxxx wrote:

      I have coded with java once and I liked it alot. I know, that it is possible to write c++ code that works as an interface function to Java. Has anyone ever thought about writing a Javaplugin (in c++) that is able to load java classfiles of any type?

      I order to do that, one must write Javaobjects that represent the working enviroment in c4d, what would be alot of work of course. But I think there are some advantages compared to COFFEE:

      * Nearer to the operating system than COFFEE
      * Plattform independent
      * Coding in Java is comparable to COFFEE (easier than C++)
      * Compiler
      * Better documentation than for coffee (on the language itself and on the API functions)
      * Quite good performance

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

        On 02/01/2005 at 17:17, xxxxxxxx wrote:

        Would be an interesting idea (being a Java programmer myself). It would definitely be a lot of work - the C++ interface is massive and the api.lib is about 1MB. The api.lib would need to be ditched for a Java jar or something since it is platform dependent.

        Don't forget that Java has built in garbage collection like COFFEE, many available API's, and a full GUI (Swing).

        One question is whether to leave it bytecode (which is platform independent but slightly slower running in the VM) or make it native compiled code (which is platform dependent). Of course, as long as a lib target exists for natively compiled Java (to make the plugin), you could allow both.

        Robert

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

          On 04/01/2005 at 12:25, xxxxxxxx wrote:

          There are options like JNI for using native libraries from
          Java.

          Also, you can get pretty close to native performance (about
          as close as Java will get) using JIT compilers; modern
          JIT compilers are getting pretty good, with the possible
          exception of Sun's.

          That way you could get fairly high performance and still
          retain platform neutrality -- but it would still be a lot
          of work to implement and verify the JNI wrapper.

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

            On 10/01/2005 at 13:11, xxxxxxxx wrote:

            Very interesting, RakeshM. So, have you started yet!? ;0P

            Personally, I wish that they'd just ditch COFFEE for a Java interface for cross-platform, built-in coding. It is glaringly obvious that COFFEE cannot be maintained and updated easily (since the last official release is for 6.3). A well constructed Java interface would not require so much restructuring (?).

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

              On 10/01/2005 at 13:42, xxxxxxxx wrote:

              IMO a Java interface would not be an ok but less than
              ideal solution. It is a good language, and I use it quite
              a bit for work, but the overhead that goes with it would
              be pretty significant, because it wasn't made to be a
              lightweight language. The priority has been on other
              things, like robustness and expressiveness.

              In other words, for a scripting language, it's overkill. 🙂

              I would prefer something like Lua or Ruby (Ruby ROCKS!),
              because they're made to be leightweight scripting languages
              and they're also designed with the idea of using them as
              high-level interfaces on top of native C/C++ libraries,
              which makes them common in the performance-sensitive
              gaming industry.

              They're also far easier to learn than Java, which is a
              huge plus, IMO.

              I wouldn't want to inflict the task of building a large-
              scale JNI binding on anyone other than the people I got
              stuck working for at my previous job, but I'd also not
              trust people like that to do it well.

              A Lua or Ruby binding I would be interested in helping
              with if I can. I hope I have more time for this after I
              move toward the end of the month... I'm tired of dealing
              with this buying and selling houses stuff. 😕

              www.lua.org
              www.rubycentral.com

              Have Maxon seriously not updated COFFEE since v6.3? Or
              is it just that they haven't updated the docs for it?
              That's a bit of a bummer. Maybe we can convince them to
              pick up Lua or Ruby 😉

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                On 10/01/2005 at 15:21, xxxxxxxx wrote:

                Never heard of Lua or Ruby, but then I'm not a gaming programmer. 😉

                Well, you have to remember that COFFEE isn't a scripting language either. It is a full blown OOPL interface into C4D that can be compiled into a sort of bytecode as well. If we were talking XPresso, that'd be closer to a scripting language. So, I'd have to see the flexibility and robustness of these other two to make a comparison on their efficacy - thanks for the URLs! 🙂

                Let's put it this way: Maxon has made minor updates to COFFEE since v6.3, but they are neither documented nor, I take it, supported. Maybe we can?

                1 Reply Last reply Reply Quote 0
                • H
                  Helper
                  last edited by

                  THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                  On 12/01/2005 at 13:14, xxxxxxxx wrote:

                  As much as I like COFFEE, if it's outdated, it doesn't
                  matter that it's a full-blown language. It is IMO a very
                  good language, but it's hard to take advantage of it when
                  the docs and APIs are incomplete.

                  Is there a reflection API for COFFEE, like there is for
                  Java? I've seen nothing of the sort, but if it exists, we
                  could at least compile a reference list of available
                  objects and methods, which would be a start on docs.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post