Create account / Log in

Mac users are on the clock with VASSAL now

Topics related to the main Vassal engine.

Moderators: uckelman, Tim M

Mac users are on the clock with VASSAL now

Postby Joelist » June 30th, 2020, 6:11 pm

The new Apple Silicon Macs will be moving MacOS to RISC as opposed to the current x86.

Also (and more immediate) MacOS Big Sur deploys in just about 3 months and has a lot of base level changes to the OS.

Now it is likely that Big Sur in and of itself will run VASSAL still. Apple Silicon is another matter. I understand the program itself can run in their Rosetta x86 emulator but the JVM is likely another matter.

With the large population of users of VASSAL on the Mac platform, will this development see a higher priority placed on getting VASSAL off of Java?
Joelist
 
Posts: 16
Joined: June 28th, 2020, 3:13 am

Re: Mac users are on the clock with VASSAL now

Postby Cattlesquat » June 30th, 2020, 6:46 pm

This makes it seem like Java will be fine?

https://www.reddit.com/r/java/comments/ ... d_bad_for/
User avatar
Cattlesquat
 
Posts: 941
Joined: December 2nd, 2019, 4:57 pm
Location: Baltimore, Maryland, USA

Re: Mac users are on the clock with VASSAL now

Postby uckelman » June 30th, 2020, 7:50 pm

Thus spake Joelist via messages:
> The new Apple Silicon Macs will be moving MacOS to RISC as opposed to
> the current x86.
>
> Also (and more immediate) MacOS Big Sur deploys in just about 3 months
> and has a lot of base level changes to the OS.
>
> Now it is likely that Big Sur in and of itself will run VASSAL still.
> Apple Silicon is another matter. I understand the program itself can run
> in their Rosetta x86 emulator but the JVM is likely another matter.

I expect that the JVM will be compiled for the new Apple architecture.

> With the large population of users of VASSAL on the Mac platform, will
> this development see a higher priority placed on getting VASSAL off of
> Java?

No. I cannot place a higher priority on getting VASSAL off of Java,
because it's already my highest priority for the project. I simply can't
move on to it yet while there are new bugs in 3.3 to be fixed. Once we've
reached the point where we're only getting reports of old bugs again,
V4 will receive my full attention.

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8980
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: Mac users are on the clock with VASSAL now

Postby Flint1b » June 30th, 2020, 8:33 pm

This will be a minor marketing gag for the Java community, to port their already existing ARM JVM to yet another ARM-based archicture. Nothing will change for Vassal, most likely not a single line of code will need to be changed to get both old and new versionf of Vassal running on these new Macs. In fact, existing and future Java applications will most likely have far fewer issues running on the new Macs than applications written in C, ObjectiveC, Swift and whatever else can be natively compiled. If anything, be glad that Vassal is still a Java application and did not switch to C++ yet :)
User avatar
Flint1b
 
Posts: 461
Joined: May 19th, 2020, 12:27 am
Location: Colonia Agrippina

Re: Mac users are on the clock with VASSAL now

Postby Cattlesquat » June 30th, 2020, 8:46 pm

That actually makes me interested in... what's the multiplatform strategy for Vassal 4? (Three different app builds? Some 3rd party multiplatform thing like Unity?) Just curious in a developery way.
User avatar
Cattlesquat
 
Posts: 941
Joined: December 2nd, 2019, 4:57 pm
Location: Baltimore, Maryland, USA

Re: Mac users are on the clock with VASSAL now

Postby uckelman » June 30th, 2020, 9:13 pm

Thus spake Cattlesquat:
> That actually makes me interested in... what's the multiplatform
> strategy for Vassal 4? (Three different app builds? Some 3rd party
> multiplatform thing like Unity?) Just curious in a developery way.

I will address this question in due time, when we finally have a 3.3
release I can unreservedly recommend to everyone and I am not also
helping the VASL guys become 3.3 compatible. I'm just not that far along
and I need a bit of time to page all of this back into my working memory.
Too many plates being spun at the moment.

I'm presently trying to fix one of the files in VASL which has variables
named in Hungarian notation. This makes me VERY ANGRY and I'm really not
in a state to answer any questions because of it, and in the future I'm
just going to tell anyone who shows me code with Hungarian notation
variables that they can stick it up their l_objAss.

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8980
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: Mac users are on the clock with VASSAL now

Postby Joelist » June 30th, 2020, 9:22 pm

I think the Reddit thread is off base as they are acting like all ARM are the same. Apple Silicon is a very different beast - remember Apple has an Architecture License for ARM. They use the ARM flavor of the RISC instruction set but they also have a lot of custom instructions and their SOC design has deviated a lot from standard ARM (and is a lot more advanced).

One of their posters seemed to get that the JVM would need to be decompiled then recompiled for Apple Silicon (Universal 2 binary). Otherwise the JVM would have to use Rosetta even if the program did not.

As to getting off of Java, there are good reasons why only a small number of tools still use JVMs. JavaScript is alive and thriving but Java for application building has been slowly dying for a while.

Nowadays with modern OSes and modern code development VASSAL is probably best served with separate builds for Windows / Linux and MacOS. The MacOS build will have a side benefit that it will run on both Macs and iPads / iPhones.
Joelist
 
Posts: 16
Joined: June 28th, 2020, 3:13 am

Re: Mac users are on the clock with VASSAL now

Postby Flint1b » June 30th, 2020, 11:38 pm

Joelist wrote:As to getting off of Java, there are good reasons why only a small number of tools still use JVMs. JavaScript is alive and thriving but Java for application building has been slowly dying for a while.

Which planet is this about? Ours? On our planet, Java and its JVM keeps running vs. C for #1 on all main programming languages indices, is the main language along with its child Kotlin for Android development, runs behind the curtains at all major corporates. Netflix serves billions of users from a Java-based architecture. Twitter runs on Java.

If you are a Java developer, your job is pretty much safe for at least the next 50 years. It is today what Cobol was 20-30 years ago.

And if it wasn't for the incompetence of many users, Vassal could be a single build that would run on all systems. A single .jar file. Only reason why Vassal comes in several packages is the installer which is not really needed.
User avatar
Flint1b
 
Posts: 461
Joined: May 19th, 2020, 12:27 am
Location: Colonia Agrippina

Re: Mac users are on the clock with VASSAL now

Postby uckelman » June 30th, 2020, 11:44 pm

Thus spake Flint1b:
>
> "Joelist" wrote:
> > As to getting off of Java, there are good reasons why only a small
> > number of tools still use JVMs. JavaScript is alive and thriving but
> > Java for application building has been slowly dying for a while.
> >
>
> Which planet is this about? Ours? On our planet, Java and its JVM keeps
> running vs. C for #1 on all main programming languages indices, is the
> main language along with its child Kotlin for Android development, runs
> behind the curtains at all major corporates. Netflix serves billions of
> users from a Java-based architecture. Twitter runs on Java.

I'm in agreement with Yan here regarding the JVM on any new architecture.
It's another ARM architecture and there will be a JVM ported to that
fairly quickly. The JVM is written in C after all, and there has to be
a C compiler for Apple's new chips or they won't be able to do anything
at all.

As much as I look forward to anything which will kill Java, I suspect
that it won't be the new chips Apple will make.

(JavaScript is totally irrelevant here---the only thing Java and JavaScript
have in common is that they both start with "Java".)

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8980
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: Mac users are on the clock with VASSAL now

Postby uckelman » June 30th, 2020, 11:46 pm

Thus spake Flint1b:
> And if it wasn't for the incompetence of many users, Vassal could be a
> single build that would run on all systems. A single .jar file. Only
> reason why Vassal comes in several packages is the installer which is
> not really needed.

That's not the only reason. You don't get various native-looking niceties
on Windows and Macs with just a JAR (e.g., file associations, icons in
the dock, some other things I'm not remembering at this late hour).

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8980
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: Mac users are on the clock with VASSAL now

Postby Flint1b » July 1st, 2020, 12:05 am

uckelman wrote:As much as I look forward to anything which will kill Java, I suspect
that it won't be the new chips Apple will make.


I'm looking forward to anything which will kill Apple or at least push them back into the 5% niche where they came from. If there won't be a JVM for their new architecture, this might just be the reason for half the world's developers and companies to stop buying Apple computers and for Apple to go back into their cave.

But sadly there are JVMs for all major computer manufacturers, there are JVMs for SPARC machines, JVMs for IBM's mainframes. Apple won't be so dumb and drop support for the #1 programming language.
User avatar
Flint1b
 
Posts: 461
Joined: May 19th, 2020, 12:27 am
Location: Colonia Agrippina

Re: Mac users are on the clock with VASSAL now

Postby Joelist » July 1st, 2020, 12:19 am

I look at (and laugh at) those same indices. Remember when Java was at 26% on Tiobe? Now it is at 16% and even Tiobe admits some of that share is their method can conflate Java and Javascript in cases. Meanwhile the major OSes have become decidedly less hospitable to JVMs.

The reality today is developers use the language that gives the best performance and results on the target platform. And languages that run natively as opposed to a VM get preference for reasons including speed and security. So, when we are targeting MacOS we use Swift and/or Objective-C and when targeting Windows we use either UWP, C++ or C# if the Windows environment relies on .NET.

I'm not trying to start some sort of fight. I just think the reliance on JVMs is a millstone around the neck of VASSAL in the longer term.
Joelist
 
Posts: 16
Joined: June 28th, 2020, 3:13 am

Re: Mac users are on the clock with VASSAL now

Postby Brent Easton » July 1st, 2020, 12:24 am

It's been a millstone ever since Vassal started, let alone into the future :)
User avatar
Brent Easton
 
Posts: 3225
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Re: Mac users are on the clock with VASSAL now

Postby Flint1b » July 1st, 2020, 2:57 am

Joelist wrote:The reality today is developers use the language that gives the best performance and results on the target platform.


Well I am a developer and no, we don't care about performance else we would use assembler/C. Java's performance with modern VMs is almost as good as C++. The programming languages are not picked for technical reasons at all, it is most often a business decision, startups want a fast time to market and go for interpreted languages like python or PHP. Startups that made it switch to Java since it runs fast enough, its compilers are good enough to protect the code from incapable developers, and the availability of developers is the best. Big old companies have 20 years worth of Java code to maintain and to add features to and they can't really choose anything other than Java. Even older companies have 30-40 years worth of Cobol code to maintain and to port to modern languages, and they choose Java for that most of the time.

If you are talking about desktop applications, they are only a niche market, and while Java never did shine on the desktop these kind of applications slowly die out and get replaced by web applications, where Java really shines in the backend while serving a JavaScript frontend.

Sooner or later the native languages will only really be needed for development on embedded devices, OS and system drivers. Even VMs are sometimes written in their own language now, there is a Java VM that is written in Java and not in C and it works pretty well.
User avatar
Flint1b
 
Posts: 461
Joined: May 19th, 2020, 12:27 am
Location: Colonia Agrippina

Re: Mac users are on the clock with VASSAL now

Postby Brent Easton » July 1st, 2020, 3:14 am

If you are talking about desktop applications, they are only a niche
market, and while Java never did shine on the desktop these kind of
applications slowly die out and get replaced by web applications, where
Java really shines in the backend while serving a JavaScript frontend.


That's an excellent explanation of why Java is unsuitable for Vassal :P
User avatar
Brent Easton
 
Posts: 3225
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Next

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest