Too bad I've found about Ruby

Hi.

A few weeks ago, while I was evaluating Python and Java for my
next project I found about Ruby.
I read some parts of the “Programming Ruby” (great book BTW)
and tried programming some small scripts in Ruby.
I must say after this experience, I will never be the same :wink:
This language has some kind of elegance, that struck me
immediately. I’ve programmed in some other languages:
Asembler, Pascal, C, C++, and lately (since 1996) almost
exclusively in Java.

Now, my real trouble is: I have to choose the language for
my next dosktop app. The future of my one-person company
depends on this product. It will be a technical analysis app for
stock markets, that would probably take about 40-50k lines
of Java code.
I know I can safely choose Java+SWT or Python+wxWindows
and it will be OK.
However, I will feel really unhappy if I don’t write this app in Ruby
(and some small parts in C).
I’m little worried about Ruby’s maturity, especially on Win32 platform.

I wonder, what would you guys do in a similar situation and why.

And Matz, thanks for this beautiful language.

wit

“wit” wit7777bezspamu@poczta.onet.pl wrote in message

I read some parts of the “Programming Ruby” (great book BTW)
and tried programming some small scripts in Ruby.
I must say after this experience, I will never be the same :wink:

Welcome ! We all have experienced the same feeling :slight_smile:

This language has some kind of elegance, [snip]

Yep!

[snip]

I’m little worried about Ruby’s maturity, especially on Win32 platform.

If by “maturity” you mean:

  • stability,
  • ease of use (installation, etc),
  • interface to Win32 API,
  • interface to OLE automation,
  • documentation (of Windows specific stuff),
  • support of various free 32-bit compilers for Win 32 (Mingw, cygwin)
  • support of non-free Microsoft Visual C++ ( I recommend that you try out
    /\ndy’s one click installer for this one)

and such issues then it is fairly mature. No need to worry there ! We have
been using it for quite some time and there are many experts on this ML who
can help you in most of the situations.

The one thing that IMO, is not supported like it is on *ix platforms is the
threading model. It is still light-weight/green threading (with no support
of “fork/exec”) within the language. You will have to rely on libraries
(external) for that.

Feel free to voice your concerns in more specific terms and I am sure you
will get heard and some one will respond.
HTH,
– shanko

Hi.

Hello,

Now, my real trouble is: I have to choose the language for
my next dosktop app. The future of my one-person company
depends on this product. It will be a technical analysis app for
stock markets, that would probably take about 40-50k lines
of Java code.
I know I can safely choose Java+SWT or Python+wxWindows
and it will be OK.
However, I will feel really unhappy if I don’t write this app in Ruby
(and some small parts in C).
I’m little worried about Ruby’s maturity, especially on Win32 platform.

Dave Thomas wrote a 26000 lines ruby application in few months, he wrote a
short report at:
http://www.zenspider.com/dl/rubyconf2002/SummerVacation.tgz

IIRC, his conclusion is something like “couldn’t have done it in ruby, but
sometimes you have to look in the source to fix things when doing advanced
things”.

in my little ruby experience, FXRuby is good, only you have the limitations of
FOX (most of the time it’s ok). and i met a garbage collection bug, that i
fixed temporarily by disabling the garbage collector. generally i’m very
satisfied.

emmanuel

···

On Sunday 03 of August 2003 19:06, wit wrote:

“Droit devant soi, on ne peut pas aller bien loin”
- Le petit prince, Antoine de Saint Exupéry

Hi.

A few weeks ago, while I was evaluating Python and Java for my
next project I found about Ruby.
I read some parts of the “Programming Ruby” (great book BTW)
and tried programming some small scripts in Ruby.
I must say after this experience, I will never be the same :wink:
This language has some kind of elegance, that struck me
immediately.
Hi and welcome to Ruby. I’m also new to this list. I discovered Ruby a
few years ago while researching some object oriented languages and was
also struck by the elegance of Ruby.

Now, my real trouble is: I have to choose the language for
my next dosktop app. The future of my one-person company
depends on this product. It will be a technical analysis app for
stock markets, that would probably take about 40-50k lines
of Java code.
I am also in the process of writing a stock market analysis program and
am planning to use artificial neural networks (libneural) to do the
analysis for me. I’ve decided to use Ruby for its ability to do lot with
very few lines of code.

Cheers,
Ot.

···

On Mon, 2003-08-04 at 03:06, wit wrote:

“wit” wit7777bezspamu@poczta.onet.pl writes:

Now, my real trouble is: I have to choose the language for
my next dosktop app. The future of my one-person company
depends on this product. It will be a technical analysis app for
stock markets, that would probably take about 40-50k lines
of Java code.
I know I can safely choose Java+SWT or Python+wxWindows
and it will be OK.
However, I will feel really unhappy if I don’t write this app in Ruby
(and some small parts in C).
I’m little worried about Ruby’s maturity, especially on Win32
platform.
Well you have to decide yourself of course, but we have decided to go
for Ruby as our next adventure. And we will care especially for Ruby
on Windows. Ruby is a wonderful language and would be an ideal tool
for RAD on Windows too. It’s just missing some things we hope we’ll be
able to provide.

I wonder, what would you guys do in a similar situation and why.
Well ask yourself what it would buy you. Do you have checked if there
isn’t some software out there which you might use as a starting point?
I know at least of one package from that area.

I’m not a fan of Java and I do all I can to stay away from it. I think
with Ruby and C you have all one needs :slight_smile:

Regards
Friedrich

Emmanuel Touzery wrote:

Dave Thomas wrote a 26000 lines ruby application in few months, he wrote a
short report at:
http://www.zenspider.com/dl/rubyconf2002/SummerVacation.tgz

IIRC, his conclusion is something like “couldn’t have done it in ruby, but
sometimes you have to look in the source to fix things when doing advanced
things”.

To be fair, the conclusion was “couldn’t have done it without Ruby…”

:slight_smile:

I think the OP has some valid concerns if he’s straying into
lower-levels of the language under Windows. However, if he sticks to
more conventional code, I’d say Ruby and either wxWindows or Fox is a
good bet, and the resulting code will probably be a lot easier to
maintain and enhance than it would be in many other languages.

Cheers

Dave

U¿ytkownik “Shashank Date” sdate@everestkc.net napisa³ w wiadomo¶ci
news:bgjg36$p9lo0$1@ID-194283.news.uni-berlin.de

“wit” wit7777bezspamu@poczta.onet.pl wrote in message

I read some parts of the “Programming Ruby” (great book BTW)
and tried programming some small scripts in Ruby.
I must say after this experience, I will never be the same :wink:

Welcome ! We all have experienced the same feeling :slight_smile:

This language has some kind of elegance, [snip]

Yep!

[snip]

I’m little worried about Ruby’s maturity, especially on Win32 platform.

If by “maturity” you mean:

I will try to explain it more clearly below. I will also say, what I’m
willing to compromise.

  • stability,

This is a must for a finished product. So far, I’ve had the best results
with Java.

  • ease of use (installation, etc),

For a developer not necessarilly, for end user of my product, YES.

  • interface to Win32 API,

The native user interface is a must on Windows.
I have 2 choices:
-SWT (available with Java)
-wxWindows (not ready for Ruby yet)

Using WinAPI or MFC would make my application Windows Only.
I would like to avoid that.

I admire FOX toolkit and it’s Ruby binding, but I know my users
would not feel really comfortable with it.

  • interface to OLE automation,

Probably won’t need it.

  • documentation (of Windows specific stuff),

It’s important but not critical. Ruby source code is available,
and I think I can learn a lot about good programming just by
studying it.

  • support of various free 32-bit compilers for Win 32 (Mingw, cygwin)

Not critical, but useful.

  • support of non-free Microsoft Visual C++ ( I recommend that you try out
    /\ndy’s one click installer for this one)

I’ve tried it - works really good.
I have even been able to compile Ruby with Visual C++ .NET 2002 STD
(only with a lot of warnings about not supported optimization flags).

and such issues then it is fairly mature. No need to worry there ! We have
been using it for quite some time and there are many experts on this ML
who
can help you in most of the situations.

The one thing that IMO, is not supported like it is on *ix platforms is
the
threading model. It is still light-weight/green threading (with no support
of “fork/exec”) within the language. You will have to rely on libraries
(external) for that.

Yes, I’m aware of that. It really worries me, because my application
will need to be multithreaded. Users must be able to use it online
with real-time data feed.
It my be a showstopper for me.
Is it possible to create Ruby (maybe with some C code) multithreaded
application on Win32 without blocking the whole app. when
waiting for/sending data over http?

Feel free to voice your concerns in more specific terms and I am sure you
will get heard and some one will respond.
HTH,
– shanko

Thank you for your fast response. Please answer my other questions
if you could.

wit

Uzytkownik “Emmanuel Touzery” emmanuel.touzery@wanadoo.fr napisal w
wiadomosci news:200308031955.54138.emmanuel.touzery@wanadoo.fr

Hi.

Hello,

Now, my real trouble is: I have to choose the language for
my next dosktop app. The future of my one-person company
depends on this product. It will be a technical analysis app for
stock markets, that would probably take about 40-50k lines
of Java code.
I know I can safely choose Java+SWT or Python+wxWindows
and it will be OK.
However, I will feel really unhappy if I don’t write this app in Ruby
(and some small parts in C).
I’m little worried about Ruby’s maturity, especially on Win32 platform.

Dave Thomas wrote a 26000 lines ruby application in few months, he wrote a
short report at:
http://www.zenspider.com/dl/rubyconf2002/SummerVacation.tgz

IIRC, his conclusion is something like “couldn’t have done it in ruby, but
sometimes you have to look in the source to fix things when doing advanced
things”.

Thanks, I will look at that.

in my little ruby experience, FXRuby is good, only you have the
limitations of
FOX (most of the time it’s ok). and i met a garbage collection bug, that i
fixed temporarily by disabling the garbage collector. generally i’m very
satisfied.

FXRuby is nice, but I must use native Windows widgets.

emmanuel

“Droit devant soi, on ne peut pas aller bien loin”

  • Le petit prince, Antoine de Saint Exupéry

wit

···

On Sunday 03 of August 2003 19:06, wit wrote:

U¿ytkownik “ot” ot@inspired.net.au napisa³ w wiadomo¶ci
news:1060004068.21379.70.camel@localhost…

···

On Mon, 2003-08-04 at 03:06, wit wrote:

Hi.

A few weeks ago, while I was evaluating Python and Java for my
next project I found about Ruby.
I read some parts of the “Programming Ruby” (great book BTW)
and tried programming some small scripts in Ruby.
I must say after this experience, I will never be the same :wink:
This language has some kind of elegance, that struck me
immediately.
Hi and welcome to Ruby. I’m also new to this list. I discovered Ruby a
few years ago while researching some object oriented languages and was
also struck by the elegance of Ruby.

Now, my real trouble is: I have to choose the language for
my next dosktop app. The future of my one-person company
depends on this product. It will be a technical analysis app for
stock markets, that would probably take about 40-50k lines
of Java code.
I am also in the process of writing a stock market analysis program and
am planning to use artificial neural networks (libneural) to do the
analysis for me. I’ve decided to use Ruby for its ability to do lot with
very few lines of code.

Cheers,
Ot.

Good luck!

wit

Emmanuel Touzery wrote:

Dave Thomas wrote a 26000 lines ruby application in few months, he wrote
a
short report at:
http://www.zenspider.com/dl/rubyconf2002/SummerVacation.tgz

IIRC, his conclusion is something like “couldn’t have done it in ruby,
but
sometimes you have to look in the source to fix things when doing
advanced
things”.

To be fair, the conclusion was “couldn’t have done it without Ruby…”

:slight_smile:

:slight_smile: Picky, picky…

I think the OP has some valid concerns if he’s straying into
lower-levels of the language under Windows. However, if he sticks to
more conventional code, I’d say Ruby and either wxWindows or Fox is a
good bet, and the resulting code will probably be a lot easier to
maintain and enhance than it would be in many other languages.

wxWindows?? Is that stable yet? Did you mean
something else?

Hal

···

----- Original Message -----
From: “Dave Thomas” dave@pragprog.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Sunday, August 03, 2003 1:31 PM
Subject: Re: Too bad I’ve found about Ruby

What’s about Ruby+TK?

Well, I don’t like TK that much and I haven’t workes a lot with it, so
the better question:

What’s about Ruby+Gtk?

I never worked with wxWindows, so I’d like to know whether I should
learn wxWindows or use Gtk as in C …

Greets,

···

In article 3F2D54EB.8030603@pragprog.com, Dave Thomas wrote:

I think the OP has some valid concerns if he’s straying into
lower-levels of the language under Windows. However, if he sticks to
more conventional code, I’d say Ruby and either wxWindows or Fox is a
good bet, and the resulting code will probably be a lot easier to
maintain and enhance than it would be in many other languages.


Volker Grabsch
—<<(())>>—
\frac{\left|\vartheta_0\times{\ell,\kappa\in\Re}\right|}{\sqrt
[G]{-\Gamma(\alpha)\cdot\mathcal{B}^{\left[\oint!c_\hbar\right]}}}

Ruby handles network traffic great in its internal threading model. It
uses non-blocking IO, so performing network related downloads in the
background works great. I wrote the Jabber client API for Ruby and it
uses a background Ruby thread connected to a TCP socket to stream the
Jabber XML over the network…works like a charm. The issue you will
run into with Ruby threads and native user interfaces is that most
native GUIs expect multiple threads (for the message pump, etc).
FXRuby and VRuby/SWin handle this by yielding to the Ruby interpreter
during free cycles (or via a timer)…but this may be a problem…

…another choice is to build a web-based user interface (or
Flash-based) that is delivered by an in-machine Ruby web service…and
have that Ruby web service have all the business logic in it (kind of
in-machine n-tier architecture). If you wanted it to “look native” you
could wrap the IE control (or Flash control) in a native window (so you
get title bars, etc) but the interior of the window is cross-platform
content/behavior. Just a crazy thought :slight_smile:

-rich

···

On Sunday, August 3, 2003, at 05:48 PM, wit wrote:

Yes, I’m aware of that. It really worries me, because my application
will need to be multithreaded. Users must be able to use it online
with real-time data feed.
It my be a showstopper for me.
Is it possible to create Ruby (maybe with some C code) multithreaded
application on Win32 without blocking the whole app. when
waiting for/sending data over http?

“wit” wit7777bezspamu@poczta.onet.pl wrote in message
[snip]

Is it possible to create Ruby (maybe with some C code) multithreaded
application on Win32 without blocking the whole app. when
waiting for/sending data over http?

I am not qualified to answer that specific question (since I never played
with
sending data over HTTP in a mutli-threaded app), but Richard Kilmer may
have
already addressed that issue. In general, though, I have written
multi-threaded
apps in Ruby and with minor tweaks, they have worked fine.

I urge you to take a look at Park Heesob’s win32_popen on RAA, if you are
looking for “popen” (spawning subprocesses with accessible I/O streams)
like functionality:

http://raa.ruby-lang.org/list.rhtml?name=win32_popen

Also, if you can wait for some time (Matz knows how long) , I think, we will
have this functionality for Windows available within the language.

Hang on for a while …

– shanko

I will do cartwheels if wxWindows is stable. I’ve been really hoping to
try it out.

I’ve looked through RAA and I couldn’t find the project.
Does anyone know the status of wxRuby?

Cheers,

···

On Mon, Aug 04, 2003 at 04:00:31AM +0900, Hal E. Fulton wrote:

I think the OP has some valid concerns if he’s straying into
lower-levels of the language under Windows. However, if he sticks to
more conventional code, I’d say Ruby and either wxWindows or Fox is a
good bet, and the resulting code will probably be a lot easier to
maintain and enhance than it would be in many other languages.

wxWindows?? Is that stable yet? Did you mean
something else?


Daniel Carrera | PGP: 6643 8C8B 3522 66CB D16C D779 2FDD 7DAC 9AF7 7A88
Math PhD. UMD | http://www.math.umd.edu/~dcarrera/pgp.html

          • Weekly Smile * * * * * * * * * * * * * * * * * * * * * * * *
            Sign in a hotel in Athens:
            Visitors are expected to complain at the office between the hours
            of 9 and 11 A.M. daily.

U¿ytkownik “Shashank Date” sdate@everestkc.net napisa³ w wiadomo¶ci
news:bgk7fr$plujd$1@ID-194283.news.uni-berlin.de

“wit” wit7777bezspamu@poczta.onet.pl wrote in message
[snip]

Is it possible to create Ruby (maybe with some C code) multithreaded
application on Win32 without blocking the whole app. when
waiting for/sending data over http?

I am not qualified to answer that specific question (since I never played
with
sending data over HTTP in a mutli-threaded app), but Richard Kilmer may
have
already addressed that issue. In general, though, I have written
multi-threaded
apps in Ruby and with minor tweaks, they have worked fine.

I urge you to take a look at Park Heesob’s win32_popen on RAA, if you are
looking for “popen” (spawning subprocesses with accessible I/O streams)
like functionality:

http://raa.ruby-lang.org/list.rhtml?name=win32_popen

I will look at that…

Also, if you can wait for some time (Matz knows how long) , I think, we
will
have this functionality for Windows available within the language.

Hang on for a while …

– shanko

Thanks.
I will begin development in october so I can only wait 2 months.
Maybe Matz will give us more info on Rite…

wit

WxRuby is close to an initial (very early) Alpha release. It will be
released in that (early) stage within the next few weeks. The author,
Kevin Smith, is actually using it to construct an email application for
himself as both a learning exercise, and to demonstrate/document the
WxRuby API. Several folks across various platforms are working on
testing the early release on win32, mingw, os x and Linux (which Kevin
runs). I must say that Kevin is making great progress.

The project is currently on Savannah, but is moving to RubyForge (over
the next few days) here:

http://rubyforge.org/projects/wxruby/

Best,

Rich

···

On Sunday, August 3, 2003, at 09:23 PM, Daniel Carrera wrote:

I will do cartwheels if wxWindows is stable. I’ve been really hoping
to
try it out.

I’ve looked through RAA and I couldn’t find the project.
Does anyone know the status of wxRuby?

Hi,

···

----- Original Message -----
From: “Daniel Carrera” dcarrera@math.umd.edu
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Monday, August 04, 2003 10:23 AM
Subject: Re: Too bad I’ve found about Ruby

I will do cartwheels if wxWindows is stable. I’ve been really hoping to
try it out.

As a original author of wxWindows, I really hope to see your cartwheeling
:slight_smile:

I’ve looked through RAA and I couldn’t find the project.
Does anyone know the status of wxRuby?

The official web site of wxRuby project is http://www.wxwindows.org.
The status of wxRuby is near to release of alpha version.
You can try pre-alpha CVS version at
wxRuby GUI Framework - Summary [Savannah]
In a few days wxWindows project will move to RubyForge.

Cheers,

Park Heesob

wit wrote:

Also, if you can wait for some time (Matz knows how long) , I think, we

will

have this functionality for Windows available within the language.

Hang on for a while …

– shanko

Thanks.
I will begin development in october so I can only wait 2 months.
Maybe Matz will give us more info on Rite…

wit

opinion: in this time, there’s no way it should be more than alpha. in
my mind, the timeline is much longer than that. you should base your
evaluation on ruby 1.8 i’d say.

emmanuel

When the time comes, if anyone is interested, I can test on a Sun SPARC.
I’m not very proficient with C/C++ so I doubt I’d be able to fix bugs, but
I can run tests and report on results.

Cheers,
Daniel.

···

On Mon, Aug 04, 2003 at 10:53:24AM +0900, Richard Kilmer wrote:

WxRuby is close to an initial (very early) Alpha release. It will be
released in that (early) stage within the next few weeks. The author,
Kevin Smith, is actually using it to construct an email application for
himself as both a learning exercise, and to demonstrate/document the
WxRuby API. Several folks across various platforms are working on
testing the early release on win32, mingw, os x and Linux (which Kevin
runs). I must say that Kevin is making great progress.

The project is currently on Savannah, but is moving to RubyForge (over
the next few days) here:

http://rubyforge.org/projects/wxruby/

Best,

Rich


Daniel Carrera | PGP: 6643 8C8B 3522 66CB D16C D779 2FDD 7DAC 9AF7 7A88
Math PhD. UMD | http://www.math.umd.edu/~dcarrera/pgp.html

          • Weekly Smile * * * * * * * * * * * * * * * * * * * * * * * *
            Sign in a hotel in Athens:
            Visitors are expected to complain at the office between the hours
            of 9 and 11 A.M. daily.

This probably isn’t the right place to ask, but I’ve a quick question. I
just grabbed a CVS version, and compiled it with no difficulties. But
what strikes me about the samples is that they seem slow.

Basically, everything lags a little bit. Redraws can be easily seen. If
you open a big menu and move the mouse over it, the selected item lags
behind the mouse. wxWindows doesn’t do this, and RubyGnome2 doesn’t do
this.

I think it might be a problem with how the message loop interacts with
Ruby’s threads. RubyGnome2 uses g_main_set_poll_func(), which sets a
poll function to be used in glib’s message loop. rbgtk’s poll_func,
rbgtk_poll(), translates it’s arguments to the right format, then calls
rb_thread_select().

A quick grep of wxRuby source shows this isn’t used. I’m not a wxWindows
hacker, but there may be a similar way to replace the poll() at the heart
of wxWindows, so it too would play nice with Ruby’s threads.

http://developer.gnome.org/doc/API/glib/glib-the-main-event-loop.html#G-MAIN-SET-POLL-FUNC

···

On Mon, 04 Aug 2003 10:53:24 +0900, Richard Kilmer wrote:

WxRuby is close to an initial (very early) Alpha release. It will be
released in that (early) stage within the next few weeks. The author,
Kevin Smith, is actually using it to construct an email application for
himself as both a learning exercise, and to demonstrate/document the
WxRuby API. Several folks across various platforms are working on
testing the early release on win32, mingw, os x and Linux (which Kevin
runs). I must say that Kevin is making great progress.

The project is currently on Savannah, but is moving to RubyForge (over
the next few days) here:

http://rubyforge.org/projects/wxruby/


Tom Felker

If a vendor refuses to submit specs, they’re obviously trying a cheesy lock-in
scam and shouldn’t be considered anyway.