Java support in the long term

Apr 4, 2013 at 7:37am

Java support in the long term

Hi all,

I like writing Java externals for things that are more involved than I’d like to do directly in Max, or with Javascript. It’s a nice convenience. Although, it doesn’t appear that Java has gotten a whole lot of love since Max 4.5. I’d love to see more Java support, such as for dictionaries, for example, but things don’t seem to be going that way. So I’m wondering about Java’s longevity in Max. I’m starting to get leery of incorporating Java externals into new projects. Just wondering if anyone cares to weigh in on the subject. Am I justified in my leeriness, or is it that the Java support just hasn’t been that visible from version to version?


Apr 4, 2013 at 12:42pm

Well-written post Tristan.


Apr 4, 2013 at 1:22pm

+1 .
ive got the same feeling , also the [Dict] integration is missing since long time .
But the other side of this issue is that im forced to learn C in order to achieve some tasks which may be more efficient and direct in many cases , but it takes too much time as the documentation for DEV is dedicated for intermediate users ,its hard to pick the whole class workflow even if you have some experiences in Java or even in C . its not friendly for casual coding ,definitely not . For snatchy things i would love to pick up Java or JS

Apr 4, 2013 at 9:52pm

+1 Curious to get Cycling 74′s insights on this (since I’m picking up Java now)

Apr 5, 2013 at 12:11am

Java support on Mac computers may be a problem in the future.

Apr 5, 2013 at 3:16am

@Chris – Thanks bro!

@KrisW – Java is great for novices because it’s quick to pick up, but C is still good to know, imo, because of the perspective you gain with respect to other languages (barring the speed advantage). I’d recommend knowing some C/C++ to anyone, if only to gain insight into how other languages are structured by comparison.

I don’t really consider myself to be an advanced programmer. I have been doing it for a total of about 5 years and I still have tons to learn, but I can at least say that I’m at moderately comfortable with C/C++, Objective-C, Java, Python and JavaScript, and knowing each one has helped me know the others better. I also can’t stress enough, as my teachers did for me, the importance of getting used to reading the documentation. It’s terse, but the investment is worth it and will save you tons of headaches down the road!

@broc – Apple is still supporting Java for now, and even when they silently removed it, you could still download it from Oracle. I’m also running Mountain Lion, and I know I’ve seen a Java update since then.

If Java went the way of the dodo I’d probably move on pretty quickly, but I think everyone naturally invests a little more into one or a couple particular languages, so the question is whether or not to keep investing. Regardless of the political atmosphere surrounding the Java platform, I still think it’s a useful language. It’s easy to learn, and convenient. Using it within the Max environment is a particularly good example of the convenience–though, it’s too niche to have any kind of meaningful impact on Java’s survival.

Thanks for the response guys, and any input from the advanced programmer dudes/Cycling team would be appreciated!


Apr 5, 2013 at 3:18pm

Java inside Max is of course great technology, very useful and stable. But – from another point of view – is a bit problematic, for example: you can’t use Java inside projects distributed on AppStore (and we can imagine, how important this field may became in near future).

Personally (even if I’m doing a lot of things is Java) I’ll be very happy in future with possibilities based on Max “native” solutions like gen – I think, gen with new possibilities (export and manual editing of the code) can be potentially very promising technology as flexible, for fast prototyping custom code-based structures and “externals”.

Apr 5, 2013 at 4:24pm

so you are codding much longer than me .Im just saying that learning C as a beside effect (as a result of some disadvantages) is a good thing .
probably i would not touch it if Max would not give me such possibilities. But even if im learning C and finding it beautiful ,then still these DEV documentation is not intuitive for me , there are really advanced solutions and complex modularity with its own terminology (i dont even talk about DSP itself ,but it also counts in) which for me as a casual coder sounds like black magic . but still magic . i need some sort of leading into this . I know that there are examples ,but those also covers much more aspects at one task than me as a beginner can comprehend . i would love to see my family ,if you know what i mean .

by the way ? can i code in C++ instead of only C ? ive read that the MSP classes / structs are not supported there by cycling74 .

yes ,your point should be considered . as for the GEN , did you noticed any performance issues with it ?. can it take more cycles to compute than msp natively ? im wondering because with JS and Java im experiencing some performance difference ,especially when communicating with the objects .

Apr 5, 2013 at 5:36pm

@KrisW : In my view the Max API is not so badly documented ; of course it remains some dark points ; but if you take the time to go through examples provided you can fill the gaps. I created this github repository ( ) that can help newbies.

The Max/MSP API is an “object-oriented” C framework ; C++ can be easily used to implement externals ; Of course you need to plug it to the t_object structure with wrapper and such.

That’s what i am currently experimenting (but others daily use C++ for their objects since long time). These technics can be discuss in the “dev” forum ;-)

Apr 5, 2013 at 6:05pm

im sorry for off topic !!!!!!

yes ,im not trying to give up there . just the modularity and complex dependencies scared me a bit .
And thank you for the amazing input . Your repo covers most of the things ive been wondering , this is really helpful Nicolas ,there is even poly call instance example ! great !!!!!
as for C++ i found this ! !

and again Sorry for offtopic


You must be logged in to reply to this topic.