Convert to C# and WPF?

We are always looking for new tools to create to help facilitate the table top gaming experience. Let us know if you have an idea for a new gaming tool you'd like to see. (Note: this is NOT for feature requests on existing tools!)

Moderators: dorpond, trevor, Azhrei

Imper1um
Cave Troll
Posts: 92
Joined: Mon Sep 28, 2009 7:46 am

Convert to C# and WPF?

Post by Imper1um »

One thing I don't like about Java is that it's quite limited. You have to jigger some things around to just do simple tasks.

I'm wondering if the team has any plans on converting to C#? It would allow for more open-ended memory management, and it probably would speed up simple tasks, not to mention make it quite simpler to code some things that Java has an issue with.

*shrugs* Just an idea. It would be a large undertaking, but it would probably solve some issues just by converting. :P

Imper1um

neofax
Great Wyrm
Posts: 1694
Joined: Tue May 26, 2009 8:51 pm
Location: Philadelphia, PA
Contact:

Re: Convert to C# and WPF?

Post by neofax »

And lose all of the Mac and Unix players? I hope not!

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Convert to C# and WPF?

Post by Azhrei »

Imper1um wrote:One thing I don't like about Java is that it's quite limited. You have to jigger some things around to just do simple tasks.
Hmm. Can you be more specific?
I'm wondering if the team has any plans on converting to C#? It would allow for more open-ended memory management, and it probably would speed up simple tasks, not to mention make it quite simpler to code some things that Java has an issue with.
Very unlikely. The team is not interesting in (a) writing code using a language and libraries only supported on a single platform or (b) learning a new language in order to do (a). :)

Your comment regarding "open-ended memory management" is scary, in a way. 8)
*shrugs* Just an idea. It would be a large undertaking, but it would probably solve some issues just by converting. :P

Imper1um
Nah. It'd create more problems than it solves. Such as neo's comment about losing Mac, Linux, and any other Unix users.

User avatar
brad
Great Wyrm
Posts: 1233
Joined: Fri Apr 27, 2007 10:27 pm
Location: NY
Contact:

Re: Convert to C# and WPF?

Post by brad »

MapTool is opensource you know. If you are such a huge fan of C# you could convert the code yourself. :D Then there would be another option out there. If it was more user friendly and so on maybe others would join in...
View MapTool video tutorials at RPToolsTutorials.net

Imper1um
Cave Troll
Posts: 92
Joined: Mon Sep 28, 2009 7:46 am

Re: Convert to C# and WPF?

Post by Imper1um »

Actually, you would be surprised on how a C# application can be on Mac and Linux.
http://arstechnica.com/open-source/news ... tforms.ars
http://en.wikipedia.org/wiki/Microsoft_Silverlight

The biggest example is Dynamic Linking. Really, when I access a single Macro, instead of accessing a text file, I would want it to link to an interface which would call RunMacro(Game game). This would pass the Game info to the Interface. Normally, the interface would link to RunTextMacro.RunMacro, so creating the old Text Macros would be easy, however, Java is a little limited in it's scope where it has to know about code (pre-compiled) before it is executed.

Same with Memory Management, where a localized and managed memory pool is nice, in an open world application, memory management is controlled by the content in the program. Yes, RPTools does a great job of creating and destroying the memory stacks to manage memory, in C#, memory is managed by the core, and the limit of the memory is the size of the memory on the user's computer. It uses the OS' built-in memory allocator to expand or reduce RAM usage size.

Lastly, the power of WPF is expanding. I have been working with a WPF Application and it is quite powerful. If you look up WVVM Models on how to display UI Applications, it has grown to be very useful. Creating or destroying objects, managing input from the application is as simple as linking normal things that objects normally look for into normal events. Also, as part of WPF, you can export the application as a Webpage, so the same technology that MapTools offers about being an online app would be continued into a version of this.

I know it would be a large (and probably daunting) task, and I know you probably don't have the manpower to do something like this, but I'm just throwing this out there to see what you all think.

hrs
Kobold
Posts: 9
Joined: Tue Dec 22, 2009 11:42 am

Re: Convert to C# and WPF?

Post by hrs »

neofax wrote:And lose all of the Mac and Unix players? I hope not!
Actually with mono (http://www.mono-project.org) you can have the same program running under Mac, Linux and MSWin, supported by all the features of the .net environment.
More over the if well designed the program can make use of Win32, GTK, QT or Cocoa
bridges to show native-look aplications.

Personally I'm a fan of mono and I was planning to build something with that, then I found RPTools and lazyness kicked in :)

By the way, even if it would be great to see native-looking RPTool on my mac and KDE you guys did a great job, and I will be with you

Imper1um
Cave Troll
Posts: 92
Joined: Mon Sep 28, 2009 7:46 am

Re: Convert to C# and WPF?

Post by Imper1um »

hrs wrote: Personally I'm a fan of mono and I was planning to build something with that, then I found RPTools and lazyness kicked in :)
Heh, yeah, I had the same issue. I was building a DnD Client that would allow me to do the same thing, then I was browsing the internets and found RPTools.

I'm not one to rock the boat too much, but when I come across an idea (even if it may be bad), at least I discuss it. *shrugs*

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: Convert to C# and WPF?

Post by Rumble »

The bottom line, I guess, is the return on the time and work investment in converting. If the payoff (assuming one can do so without alienating any users) exceeds the effort, then perhaps it might be worth doing. If not, there's probably no point.

I don't know enough to do a side by side comparison, though.

neofax
Great Wyrm
Posts: 1694
Joined: Tue May 26, 2009 8:51 pm
Location: Philadelphia, PA
Contact:

Re: Convert to C# and WPF?

Post by neofax »

hrs wrote:
neofax wrote:And lose all of the Mac and Unix players? I hope not!
Actually with mono (http://www.mono-project.org) you can have the same program running under Mac, Linux and MSWin, supported by all the features of the .net environment.
This statement is very misleading. MONO does not support all the features of the .net environment. If it did, thousands of UNIX users would be able to use the Character Builder effortlessly inside their OS of choice. This is not the case. Also, there is a huge legality problem with MONO, just google it.

In this regard, I am with Azhrei. If I wanted to fix something every day, I would also run Windows. I don't, so I won't.

User avatar
jay
RPTools Team
Posts: 1767
Joined: Tue Feb 07, 2006 1:07 am
Location: Austin, Tx

Re: Convert to C# and WPF?

Post by jay »

Imper1um wrote:The biggest example is Dynamic Linking. Really, when I access a single Macro, instead of accessing a text file, I would want it to link to an interface which would call RunMacro(Game game). This would pass the Game info to the Interface. Normally, the interface would link to RunTextMacro.RunMacro, so creating the old Text Macros would be easy, however, Java is a little limited in it's scope where it has to know about code (pre-compiled) before it is executed.
Java is dynamically linked. It does have to have an interface during compilation, but how is that a limitation? If C# is expecting something and it doesn't match what it expects, isn't it still broke? Just because the compiler checks to make sure the interfaces match doesn't mean that it isn't dynamically linked.
Imper1um wrote:Same with Memory Management, where a localized and managed memory pool is nice, in an open world application, memory management is controlled by the content in the program. Yes, RPTools does a great job of creating and destroying the memory stacks to manage memory, in C#, memory is managed by the core, and the limit of the memory is the size of the memory on the user's computer. It uses the OS' built-in memory allocator to expand or reduce RAM usage size.
Java does all of its own memory management as well. MapTools has some extra support to allow some user control over it, but that isn't how most java apps work. What I don't like about the JVM memory model is that you have to know what you need before you run the app. I do wish that there was a way to expand memory after the JVM has started.
Imper1um wrote:I know it would be a large (and probably daunting) task, and I know you probably don't have the manpower to do something like this, but I'm just throwing this out there to see what you all think.
It would be nice to learn C# sometime, but probably not for an open source project. In my experience there are a large number of developers that don't care for Windows all that much, and this limits the pool of people available to help.

Darinth
Dragon
Posts: 424
Joined: Wed Oct 21, 2009 2:52 pm

Re: Convert to C# and WPF?

Post by Darinth »

Me? Personally? I would love to re-write maptools in C# or C++ of VB.net and leave our poor linux and mac users behind (*que maniacal laughter*). But... then they'd all be mad at me and Azhrei would probably come hunt me down with a chain gun (you know... the type straight out of Doom).

Anyways... in all seriousness. Java's biggest limitations are that it must run inside of the JVM which adds another step on to any attempt at processing commands and slows down applications even further and the lack of ability to dynamically allocate memory. If you want to produce a C# conversion of java, more power to you. I've contemplated making a C++ or VB.net conversion... but then I remembered I'm lazy.
Loyalty is not blind, and it cannot be forced. It is a sincere bond formed out of respect and gratitude.

User avatar
Scubba
Cave Troll
Posts: 90
Joined: Fri Oct 30, 2009 12:47 pm
Location: Oakland, CA

Re: Convert to C# and WPF?

Post by Scubba »

...did I stumble upon a classic programming language flame war?

Convert the whole thing to Lisp! And then let the program write itself!

:wink:

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: Convert to C# and WPF?

Post by Rumble »

Scubba wrote:...did I stumble upon a classic programming language flame war?

Convert the whole thing to Lisp! And then let the program write itself!

:wink:
Already did. Then it started converting me to Lisp, but stopped when it realized that I could be replaced by a very small shell script.

nimrand
Kobold
Posts: 10
Joined: Wed Jun 25, 2008 9:47 pm

Re: Convert to C# and WPF?

Post by nimrand »

I've done a lot of development work with both .NET and Java. There are a lot of things I like about C#, and the vast majority of my development since C#'s release has been in C#. But, not even I see remotely suitable justification for converting MapTools to C#. Mono does not come close to putting C#/.NET on par with Java from a cross-platform perspective, and C# doesn't offer anything compelling that MapTools needs and isn't provided comparably well by Java. Also, Silverlight only supports a very small subset of the .NET framework.

As for the explanation about macros, I'm not really sure what the OP thinks Java is lacking. Java can do all the things that the OP alludes to. In particular, code can be generated and executed at runtime. One gets around the static typing by either using an interface defined at compile time or by using reflection, which is really no different than what one would do with .NET.

Converting to C# would do little except to make all the coders who prefer C# happy and all the coders who prefer Java unhappy, not to mention making it a whole lot more difficult to support cross-platform.

Imper1um
Cave Troll
Posts: 92
Joined: Mon Sep 28, 2009 7:46 am

Re: Convert to C# and WPF?

Post by Imper1um »

It's all a matter of preference. I just don't like Java as anything besides a Server app. Yes, it's cross-platform, but I run into so many issues because Java likes to allocate things...well...oddly. As mentioned before, the JVM runtime is the source of all of the agony I have behind it, but I can deal with it.

*shrugs* Like I said, just an idea. I personally like C# because of various ways I can be lazy. :)

Post Reply

Return to “Ideas for New Applications”