I know just about zero about Ruby but the company I work for is doing
some Ruby development and I need to eventually learn the language.
There is a program re-write project I need to complete and I was
wondering if Ruby would be appropriate for it.
The app I need to write is a communication app. It reads a list of
devices from a database and uses a bank of modems/phone lines to call
out and collect data from them at different times. There are hundreds
of devices so the app is always running, though it's idle periodically
throughout the day. It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running (we have Solaris and Linux boxes but they're only
console, not GUI).
Would Ruby be appropriate for this task? I've read that it can be
sluggish and that GUI programming is somewhat lacking. But I also don't
know how old those comments were or how Ruby has progesses since they
were made. Or would something like Java, C#, etc, be better suited?
I know just about zero about Ruby but the company I work for is doing
some Ruby development and I need to eventually learn the language.
There is a program re-write project I need to complete and I was
wondering if Ruby would be appropriate for it.
The app I need to write is a communication app. It reads a list of
devices from a database and uses a bank of modems/phone lines to call
out and collect data from them at different times. There are hundreds
of devices so the app is always running, though it's idle periodically
throughout the day. It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running (we have Solaris and Linux boxes but they're only
console, not GUI).
Would Ruby be appropriate for this task?
Definitely.
I've read that it can be
sluggish and that GUI programming is somewhat lacking. But I also don't
know how old those comments were or how Ruby has progesses since they
were made.
Well, I would rather provide the user interface as an embedded web
server, so this application can run in background and can be
monitorized from the LAN from any web browser. There are libraries to
allow you to write simple web servers in ruby very easily.
Or would something like Java, C#, etc, be better suited?
I'd bet a Ruby solution would be better (easier to write, debug and
maintain). The only improvement would be to use Common Lisp, but I
guess your company isn't prepared to jump to Common Lisp right now.
In a few years...
Greetings.
Your requirement for Windows, alone, basically discounts Ruby. I use Ruby on
a Windows PC at work and it's the very opposite of fun. Another poster
recommended C#. I think he's on the money.
James
···
On Tue, Jun 16, 2009 at 8:54 AM, Dave Kubasiak <davekub@hotmail.com> wrote:
Good morning,
I know just about zero about Ruby but the company I work for is doing
some Ruby development and I need to eventually learn the language.
There is a program re-write project I need to complete and I was
wondering if Ruby would be appropriate for it.
The app I need to write is a communication app. It reads a list of
devices from a database and uses a bank of modems/phone lines to call
out and collect data from them at different times. There are hundreds
of devices so the app is always running, though it's idle periodically
throughout the day. It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running (we have Solaris and Linux boxes but they're only
console, not GUI).
Would Ruby be appropriate for this task? I've read that it can be
sluggish and that GUI programming is somewhat lacking. But I also don't
know how old those comments were or how Ruby has progesses since they
were made. Or would something like Java, C#, etc, be better suited?
I know just about zero about Ruby but the company I work for is doing
some Ruby development and I need to eventually learn the language.
There is a program re-write project I need to complete and I was
wondering if Ruby would be appropriate for it.
If Ruby on windows is really a problem (I wouldn't know) do the work on a Unix
box and serve the results with a web server so you get remote access too.
Serving web pages can range from incredibly trivial up to as sophisticated as
you want to get.
What about a web-based GUI? It's quite easy to use frameworks like Rails,
Sinatra, etc. to build web-based interfaces to your Ruby code.
Also, bank of modems/phone lines? That sounds like a rather antiquated way
of going about what you're doing. You might consider entering the age of
VoIP:
If you use Asterisk to manage the dialing/data collection, there are a
number of excellent Ruby packages for interfacing with Asterisk:
I think if you massaged your requirements a little (as noted above) Ruby
would make this task extremely simple in comparison to other environments.
···
On Tue, Jun 16, 2009 at 6:54 AM, Dave Kubasiak <davekub@hotmail.com> wrote:
The app I need to write is a communication app. It reads a list of
devices from a database and uses a bank of modems/phone lines to call
out and collect data from them at different times. There are hundreds
of devices so the app is always running, though it's idle periodically
throughout the day. It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running (we have Solaris and Linux boxes but they're only
console, not GUI).
2) they don't require a framework install (thanks to RubyScript2exe)
I've got decent experience in windows client development with .NET and
I switched completely to ruby when I found these two.
You might also consider having a worker app do the calling and update
the database, and a gui app that users can launch when they want to
see the status.
Still, it sounds like a web gui (and server side dialer app) still
beat the pants off a desktop app for this.
Good Luck,
-matt
···
On Jun 16, 8:54 am, Dave Kubasiak <dave...@hotmail.com> wrote:
Good morning,
I know just about zero about Ruby but the company I work for is doing
some Ruby development and I need to eventually learn the language.
There is a program re-write project I need to complete and I was
wondering if Ruby would be appropriate for it.
The app I need to write is a communication app. It reads a list of
devices from a database and uses a bank of modems/phone lines to call
out and collect data from them at different times. There are hundreds
of devices so the app is always running, though it's idle periodically
throughout the day. It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running (we have Solaris and Linux boxes but they're only
console, not GUI).
Would Ruby be appropriate for this task? I've read that it can be
sluggish and that GUI programming is somewhat lacking. But I also don't
know how old those comments were or how Ruby has progesses since they
were made. Or would something like Java, C#, etc, be better suited?
Any input greatly appreciated!
Thanks in advance,
Dave
--
Posted viahttp://www.ruby-forum.com/.
I know just about zero about Ruby but the company I work for is doing
some Ruby development and I need to eventually learn the language.
There is a program re-write project I need to complete and I was
wondering if Ruby would be appropriate for it.
The app I need to write is a communication app. It reads a list of
devices from a database and uses a bank of modems/phone lines to call
out and collect data from them at different times. There are hundreds
of devices so the app is always running, though it's idle periodically
throughout the day. It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running (we have Solaris and Linux boxes but they're only
console, not GUI).
Would Ruby be appropriate for this task?
Definitely.
I've read that it can be
sluggish and that GUI programming is somewhat lacking. But I also don't
know how old those comments were or how Ruby has progesses since they
were made.
Well, I would rather provide the user interface as an embedded web
server, so this application can run in background and can be
monitorized from the LAN from any web browser. There are libraries to
allow you to write simple web servers in ruby very easily.
Good idea! Another alternative would be SNMP if integration into some
existing monitoring framework is required.
Or would something like Java, C#, etc, be better suited?
I'd bet a Ruby solution would be better (easier to write, debug and
maintain). The only improvement would be to use Common Lisp, but I
guess your company isn't prepared to jump to Common Lisp right now.
In a few years...
I wouldn't bet on that a solution in Ruby is better. A Java based
solution with a Swing UI would probably be as good.
Kind regards
robert
···
2009/6/16 Pascal J. Bourguignon <pjb@informatimago.com>:
...It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running....
Would Ruby be appropriate for this task?
The threading issue is something to look into more. Ruby threading is a
bit... odd.
I'm also not sure how you'd create a Windows GUI in Ruby, that's worth
looking into more too.
Although I prefer Ruby for lot of tasks over other programming
languages I would recommend you C#. Since you are already on MS
Windows platform using C# is definitely the best choice. Creating form
(s) for monitoring is very easy and development is quite fast. In
addition debugging C# applications in Visual Studio is much, much
better than you'll find for Ruby.
Best regards,
Bosko
···
On Jun 16, 3:15 pm, Robert Klemme <shortcut...@googlemail.com> wrote:
2009/6/16 Pascal J. Bourguignon <p...@informatimago.com>:
> Dave Kubasiak <dave...@hotmail.com> writes:
>> Good morning,
>> I know just about zero about Ruby but the company I work for is doing
>> some Ruby development and I need to eventually learn the language.
>> There is a program re-write project I need to complete and I was
>> wondering if Ruby would be appropriate for it.
>> The app I need to write is a communication app. It reads a list of
>> devices from a database and uses a bank of modems/phone lines to call
>> out and collect data from them at different times. There are hundreds
>> of devices so the app is always running, though it's idle periodically
>> throughout the day. It needs to have a GUI so someone can see at a
>> glance what it's doing, and it needs to be multi-threaded. It would
>> most likely be running on Windows since that's the only GUI OS we
>> currently have running (we have Solaris and Linux boxes but they're only
>> console, not GUI).
>> Would Ruby be appropriate for this task?
> Definitely.
>> I've read that it can be
>> sluggish and that GUI programming is somewhat lacking. But I also don't
>> know how old those comments were or how Ruby has progesses since they
>> were made.
> Well, I would rather provide the user interface as an embedded web
> server, so this application can run in background and can be
> monitorized from the LAN from any web browser. There are libraries to
> allow you to write simple web servers in ruby very easily.
Good idea! Another alternative would be SNMP if integration into some
existing monitoring framework is required.
>> Or would something like Java, C#, etc, be better suited?
> I'd bet a Ruby solution would be better (easier to write, debug and
> maintain). The only improvement would be to use Common Lisp, but I
> guess your company isn't prepared to jump to Common Lisp right now.
> In a few years...
I wouldn't bet on that a solution in Ruby is better. A Java based
solution with a Swing UI would probably be as good.
Kind regards
robert
--
remember.guy do |as, often| as.you_can - without endhttp://blog.rubybestpractices.com/
On 16 Jun 2009, at 16:13, Jonathan Rochkind wrote:
Pascal J. Bourguignon wrote:
Dave Kubasiak <davekub@hotmail.com> writes:
...It needs to have a GUI so someone can see at a
glance what it's doing, and it needs to be multi-threaded. It would
most likely be running on Windows since that's the only GUI OS we
currently have running....
Would Ruby be appropriate for this task?
The threading issue is something to look into more. Ruby threading is a
bit... odd.
I'm also not sure how you'd create a Windows GUI in Ruby, that's worth
looking into more too.
I've found it to be a little awkward, and sometimes downright frustrating.
An excellent example of this is Thor. AMAZING Ruby app. It kicks the pants
off of Rake. Early versions had issues with traversing directory structures
though (I've since sent in patches to fix this). Sometimes its the authors
of the libraries forgetting that Windows exists, other times it's Windows
failure to include developer tools (e.g. a C compiler) by default. The fact
that Ruby reports win32, mingw and a few other values for RUBY_PLATFORM on
Windows is equally annoying.
But yes, it's getting better.
James
···
On Tue, Jun 16, 2009 at 10:31 AM, James Britt <james.britt@gmail.com> wrote:
James Herdman wrote:
Greetings.
Your requirement for Windows, alone, basically discounts Ruby. I use Ruby
on
a Windows PC at work and it's the very opposite of fun.
I've done Ruby hacking on assorted Windows boxen for years. No problem.