Should SEGS be re-written in Ruby?

Post Reply

Should SEGS be re-written in Ruby?

Rubify it!
5
100%
I prefer C++
0
No votes
I don't know what any of this stuff means
0
No votes
 
Total votes: 5

User avatar
ldilley
Posts: 17
Joined: Sat Apr 19, 2008 8:28 pm

Should SEGS be re-written in Ruby?

Post by ldilley » Mon May 05, 2014 12:23 am

I am creating this poll for some feedback on development direction. There is currently some discussion (and some previously) about re-writing SEGS in a higher-level language -- Ruby specifically. The results of this poll do not mean we will definitively change programming languages. This is merely an idea at the moment and I'd like to engage the community about it.

Before voting in the poll, let me provide some background information so that you can make an educated decision.

For those who do not know, C++ is a statically-typed mid-level language (relative to higher-level languages) that has to be compiled. It does perform quite well and is portable. However, one of several issues we currently have (I feel) is the learning curve associated with C++. There are a lot of keywords, language rules, and features to deal with. I think this undoubtedly causes avoidance and confusion with prospective developers. Secondly, compilation can be a chore for end users for certain platforms (which relates to the learning curve.)

On the other hand, we have Ruby. Ruby is a dynamically-typed interpreted high-level language. While Ruby is less performant in most cases compared to C++, there are many benefits. Performance can also be optimized fairly well in implementations such as JRuby. Below is a list of advantages we would have if we were to port the existing code to Ruby:

* Increased code readability
* Easier to get a server up and going (download SEGS bundled with JRuby for example and off you go.)
* SEGS can run wherever Ruby runs (including operating systems such as FreeBSD, HP-UX, Linux, OS X, Solaris, and Windows.)
* Builtin documentation (rdoc)
* Faster development due to the dynamic nature of the language
* Smaller codebase due to Ruby's brevity

One potential issue is securing any gems/libraries for other functionality we would require (nemerle has already mentioned OpenSceneGraph.) It looks like https://code.google.com/p/osgswig/ will take care of that though. Overall, I believe this move would have the potential to attract more developers thereby increasing productivity.

For more information on Ruby:
https://www.ruby-lang.org/en/
http://mislav.uniqpath.com/poignant-guide/
<Insert something witty here>

User avatar
MobbyG
Posts: 18
Joined: Wed Aug 14, 2013 4:50 am
Contact:

Re: Should SEGS be re-written in Ruby?

Post by MobbyG » Tue Jul 15, 2014 3:20 am

Kinda curious if this poll has led to a redesign or a shift in the code? Since Ruby is similar in many instances to Python and Perl, I would be willing to learn Ruby to help out in some small way.

User avatar
nemerle
Posts: 397
Joined: Thu Jan 10, 2013 3:40 pm

Re: Should SEGS be re-written in Ruby?

Post by nemerle » Tue Jul 15, 2014 7:26 am

MobbyG wrote:Kinda curious if this poll has led to a redesign or a shift in the code? Since Ruby is similar in many instances to Python and Perl, I would be willing to learn Ruby to help out in some small way.
Well.... there's https://github.com/Segs/redside but it stalled somewhat, since ldilley was spearheading that effort and he got discouraged a bit :)

If You'd like to take a swing at it though, I'll be available to help :)
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

User avatar
ldilley
Posts: 17
Joined: Sat Apr 19, 2008 8:28 pm

Re: Should SEGS be re-written in Ruby?

Post by ldilley » Mon Sep 01, 2014 5:50 am

nemerle wrote: Well.... there's https://github.com/Segs/redside but it stalled somewhat, since ldilley was spearheading that effort and he got discouraged a bit :)
I would not say discouraged (unless it was the discouragement that we both shared regarding the lack of developer attraction.) I've been caught up in real life the past few months. I recently had another child, things have been busy at work, and I've also been working on two other Java projects. Per our last IRC conversation, it seemed that the likelihood of the Ruby port pulling in developers was the same as the C++ project. As far as I knew, we were both on hiatus. ;)

I believe that the biggest issues are still:

1.) Not enough people interested in CoH/V also program

2.) Those that are programmers fear the potential legal ramifications of being involved in an emulation project

3.) We are not using the latest issue/client version

#1 really has no solution. The workaround would be to hope that others are interested in programming and emulation (not necessarily CoH/V consumers) and that they could allocate time to the project. #2 can be mitigated through education to dispel possible myths. And #3 would require significant rework, but it's still possible with time, skill, and luck. Perhaps if #2 and #3 are addressed, #1 may passively occur?
<Insert something witty here>

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest