ENIGMA Forums

General fluff => Off-Topic => Topic started by: edsquare on June 24, 2014, 02:48:21 pm

Title: LateralGM ported to CPP
Post by: edsquare on June 24, 2014, 02:48:21 pm
Just that, a few minutes ago I took the code of LateralGM and used Tangible Software Solutions Java to C++ Converter and now everything is in CPP.

Now I "only" need to learn enough C++ to complete the conversion.
Title: Re: LateralGM ported to CPP
Post by: time-killer-games on June 24, 2014, 09:14:25 pm
RadialGM was a wasted effort if this is true.
Title: Re: LateralGM ported to CPP
Post by: edsquare on June 24, 2014, 09:41:39 pm
RadialGM was a wasted effort if this is true.

Not even if I already knew enough to complete the conversion, The code that can be reused is that of the actions, you still need the graphical frontend of RadialGM (or any other project) to take advantage of it and Enigma together in order to make a game.

It's possible to write a game with only the engine and a code editor, but you can't port the gui part of Java to C++.

By the way if anybody wants the converted code just tell me and I will upload it.
Title: Re: LateralGM ported to CPP
Post by: Goombert on June 24, 2014, 10:20:31 pm
You mean the drag and drop actions? I already rewrote those, C++11 compliant.
https://github.com/enigma-dev/ActionLibraryReader
Title: Re: LateralGM ported to CPP
Post by: edsquare on June 24, 2014, 11:51:35 pm
You mean the drag and drop actions? I already rewrote those, C++11 compliant.
https://github.com/enigma-dev/ActionLibraryReader

No I mean every single line of java code (Or almost) in LGM is now C++, not shure how standard compliant though.

If you think it could save you some time then by almeans download them:

http://www63.zippyshare.com/v/8604310/file.html
Title: Re: LateralGM ported to CPP
Post by: Goombert on June 25, 2014, 01:32:35 am
Weird, I noticed it converted all the Swing controls verbatim. Anyway it would take substantial effort to even build this, what would be more practical is something like a Java Native Compiler, which sadly doesn't exist, but a C# one does and Microsoft is making it. Well Java does have one, but it's outdated.

At any rate, the whole point of a C++ IDE for us to have something efficient, it would be better to take a bottom up approach to writing and developing it so that we can optimize it as we go instead of just gluing everything together as we go.
Title: Re: LateralGM ported to CPP
Post by: edsquare on June 25, 2014, 07:20:52 am
Weird, I noticed it converted all the Swing controls verbatim. Anyway it would take substantial effort to even build this, what would be more practical is something like a Java Native Compiler, which sadly doesn't exist, but a C# one does and Microsoft is making it. Well Java does have one, but it's outdated.

At any rate, the whole point of a C++ IDE for us to have something efficient, it would be better to take a bottom up approach to writing and developing it so that we can optimize it as we go instead of just gluing everything together as we go.

I hear you, and couldn't agree more, same thing happens when I'm making something, be it a POS system or something much more simple, the bottom up aproach not only garanties everything works it also gives you more modularity, since every piece of code must work well on its own and in place.
Title: Re: LateralGM ported to CPP
Post by: Goombert on June 25, 2014, 07:16:15 pm
ed, I still wish someone would get off their asses and make the JNC work though.
Title: Re: LateralGM ported to CPP
Post by: edsquare on June 25, 2014, 11:05:51 pm
ed, I still wish should would get off their asses and make the JNC work though.

What? Where? Who?

even if they fixed the JVN (Java Virtual N?) I still think Enigma need a compiled IDE
Title: Re: LateralGM ported to CPP
Post by: Goombert on June 26, 2014, 02:02:05 am
Sorry I made a typo, I meant Oracle or the community, anybody. I was talking about the Java Native Compiler it's the closest thing Java ever got to compiling natively but it is horribly outdated. Microsoft on the hand is developing their .NET native compiler and it's actually functional.
http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx
Title: Re: LateralGM ported to CPP
Post by: edsquare on June 26, 2014, 07:44:46 am
Sorry I made a typo, I meant Oracle or the community, anybody. I was talking about the Java Native Compiler it's the closest thing Java ever got to compiling natively but it is horribly outdated. Microsoft on the hand is developing their .NET native compiler and it's actually functional.
http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx

I get it, not to mention that C# is ten times easier to learn, read and understand than java, but the only interpreted language I wish had a compiler is python, that is a trully beautiful language, concise, precise, with tons of libraries and the easiet to learn I know.
Title: Re: LateralGM ported to CPP
Post by: Goombert on June 26, 2014, 11:09:21 am
Yeah but Java has a lot of advantages.

1) It's developed to be cross-platform, so there is no having to rewrite your app in Mono using GTK#
2) Java applications tend to boot faster on average, I've noticed this myself.
3) JavaFX can do 3D and stuff now as well as OGG audio playback.
4) Windows Forms is the only GUI available for C# Microsoft hasn't made a CSS engine yet, JavaFX has one.
Title: Re: LateralGM ported to CPP
Post by: edsquare on June 26, 2014, 11:51:38 am
Yeah but Java has a lot of advantages.

1) It's developed to be cross-platform, so there is no having to rewrite your app in Mono using GTK#
2) Java applications tend to boot faster on average, I've noticed this myself.
3) JavaFX can do 3D and stuff now as well as OGG audio playback.
4) Windows Forms is the only GUI available for C# Microsoft hasn't made a CSS engine yet, JavaFX has one.

Yeah but Python is more stable

It also is crossplatform
It boots really fast
It can do OGL, OpenAL, GLES, Allegro, OGG and a ton of other things
It has a lot of GUIs
It's community driven and developed
It has less security breaches than Java and C#, and they are fixed more quickly
Did I mention the simplicity, beauty, and ease of learning?
I can only find one but : But it doesn't have a native compiler!

If I knew how I would make my life's goal to develop a Python-like/Python-compatible compiled language, it would be as easy and simple and could use Python's libraries; that's the wet dream of many programmers.  :D
Title: Re: LateralGM ported to CPP
Post by: Goombert on June 26, 2014, 12:09:13 pm
Well a lot of those Java can do as well, JOGL and stuff and probably python too still rely on native dll's I'd imagine, just like C# would. I am saying the language has no native way, native as in API, but JavaFX provides one for Java, so no additional dependencies as it becomes part of the SE.

But yes, someone could also do it as a GCC front-end like FreeBASIC.
Title: Re: LateralGM ported to CPP
Post by: egofree on June 26, 2014, 12:13:18 pm
Quote
3) JavaFX can do 3D and stuff now as well as OGG audio playback.

Wouldn't it be possible to do it also with Swing ?

Quote
4) Windows Forms is the only GUI available for C# Microsoft hasn't made a CSS engine yet, JavaFX has one.

Windows forms is outdated, it has been replaced by WPF (c.f http://en.wikipedia.org/wiki/Windows_Presentation_Foundation)

Title: Re: LateralGM ported to CPP
Post by: onpon on June 26, 2014, 02:11:58 pm
If I knew how I would make my life's goal to develop a Python-like/Python-compatible compiled language, it would be as easy and simple and could use Python's libraries; that's the wet dream of many programmers.  :D

I don't know about compiling in the sense that C is compiled, but what about PyPy? That's pretty much what you would use to make Python code run faster.
Title: Re: LateralGM ported to CPP
Post by: Rusky on June 26, 2014, 02:28:51 pm
Just compiling a dynamic language doesn't magically give it the same performance benefits as a static language. The real problem is the semantics of the language, not the process used to run it (although obviously that does have an effect).

The other real problem is that ENIGMA is C++ and the IDE is not. No matter what language you do the IDE in, if it's not C++, there will be pain integrating ENIGMA with it. Python will not help here, as the data types and structures in the IDE will still not match the ones used by ENIGMA.
Title: Re: LateralGM ported to CPP
Post by: Goombert on June 26, 2014, 02:44:41 pm
Quote from: Rusky
Just compiling a dynamic language doesn't magically give it the same performance benefits as a static language. The real problem is the semantics of the language, not the process used to run it (although obviously that does have an effect).
I couldn't agree more with both aspects of what you just said.

Quote from: egofree
Wouldn't it be possible to do it also with Swing ?
Swing can interface with JOGL for 3D, yeah, but that adds external dependencies, same with C#, at least with Java it's a part of the core API from Java 7 and up.

Quote from: egofree
Windows forms is outdated, it has been replaced by WPF (c.f http://en.wikipedia.org/wiki/Windows_Presentation_Foundation)
Silverlight is dead, it's called HTML5.
Quote from: Wikipedia
Microsoft Silverlight provides functionality that is mostly a subset of WPF to provide embedded web controls comparable to Adobe Flash. 3D runtime rendering has been supported in Silverlight since Silverlight 5.[4]
Title: Re: LateralGM ported to CPP
Post by: edsquare on June 26, 2014, 03:20:17 pm
Gnome did almost what I'm talking about with Vala/Genie, although not having used one or the other I don't know how dynamic is Genie but Vala is supossed to be in the vein of C/C++.

https://wiki.gnome.org/Projects/Genie
Title: Re: LateralGM ported to CPP
Post by: egofree on June 26, 2014, 03:25:12 pm
Silverlight is dead, it's called HTML5.

Silverlight is  a RIA framework based on WPF and is kind of 'dead', but WPF is certainly not dead.  In .Net, WPF is the way to go if you want to make a 'fat client'.
Title: Re: LateralGM ported to CPP
Post by: Rusky on June 26, 2014, 05:47:38 pm
WPF may not be dead, but it's certainly not cross platform.