you can't get in trouble with your boss for picking C#

C

Chris Patti

Rubies:
=20
Here's a nice advocacy anecdote. A colleague vents, "So they hired him to
write the GUI, and he insisted on using C# because he claimed it would be
portable. So after he wrote a ton of cruft and we got rid of him, I tried= to
build Mono for Linux, and there were no RPMs, so I know how to build sour= ce
right? The dependency chain was a mile long, and I spent almost two weeks= at
it..."
=20
That's like 20 or 30 engineering hours down the drain, folks...
=20
Me: "Jeeze this stuff is obvious; that's why I always get permission befo= re
picking a language."
=20
Colleague: "Of course!"
=20
Me: "Except Ruby." [He knows I maintain portability by actually porting a= s I
go...]
=20
Colleague: "Natch."
=20
Don'tcha just love backing the winning horse that everyone else thinks is
going to lose? The Java & .NET sectors of the industry are in a pitiful
condition, and the bosses who grew up with C++ just keep asking for more.=
..

Beg to differ. I can't speak to C#, but Java is thriving. Look in
academic course catalogs. Look in the help wanteds. Look at the huge
body of open source java there is out there.

Tool to task folks, they all have their place. Consider promoting
Ruby's finer points and extolling its virtues rather than slamming the
competition.

-Chris=20


--=20
Chris Patti --- Y!: feoh -- AIM: chrisfeohpatti --- E-Mail: cpatti@gmail.=
com=20
"The greatest dangers to liberty lurk in insidious encroachment by mean of
zeal,well-meaning but without understanding."-- Justice Louis O. Brandeis=
=20
(Olmstead vs. United States)
 
R

Rick Nooner

Remember when Java was the new guy in town (ca. 1995)? "It's too slow, too
unstable, too ..." etc. That is the stage Ruby is at now.

*snip*

Ruby is nearing this tipping point now. The language is certainly powerful
enough -- I believe it mixes all the "good" portions of today's mainstream
languages with very little of the "bad". But performance is still a concern,
stability is still a concern, etc.
*snip*

Ruby will get to the point of stability which Java enjoys now. It may be
awhile until some of the kinks are worked out, but with the multitude of
developers beginning to at least try it out, there is nowhere to go but up.

I don't see a stability issue right now and haven't for several years. I have
a system that's been running using Ruby 1.6 24/7 for a year and a half doing
over 11 million transactions a day. It does data collection from over 2000
machines every 5 mins, massages the data then inserts it into a postgres
database. That's pretty stable.

I have another system running using Ruby 1.8 that's several months old that
seems just as stable.

I can agree that speed needs to be worked on. Stability is already here.

If you're having stability problems, I like to know what they are.

Rick
 
K

Kirk Haines

I don't see a stability issue right now and haven't for several years. I
have a system that's been running using Ruby 1.6 24/7 for a year and a half
doing over 11 million transactions a day. It does data collection from
over 2000 machines every 5 mins, massages the data then inserts it into a
postgres database. That's pretty stable.

Ditto. I run millions of dynamic web requests through daemon processes
persistent for weeks at a time with no stability issues nor memory leaks.

I had some problems with Ruby 1.6.7/1.6.8 in this regard, but since 1.8.x
stability has been fantastic.


Kirk Haines
 
S

Scott Ellsworth

Brock Weaver said:
Remember when Java was the new guy in town (ca. 1995)? "It's too slow, too
unstable, too ..." etc. That is the stage Ruby is at now.
Java has turned out to be a very successful language. [...]
JVM's have come a long way in the past few years both speed wise and=20
stability wise.

Java had some tooling that Ruby could use. For example, even the
earliest Java releases has a debugging interface that could tell you
when GC occurred, which objects were still live, and when methods were
entrered and exited. These keen profiling tools make it much easier to
get a fast JVM starting from a slow one.

I have heard a few people talking about memory profilers for Ruby - I
really hope these tools get written early, since they are very important
for getting scalable applications.

Scott
 
M

miguel.de.icaza

portable. So after he wrote a ton of cruft and we got rid of him, I tried to
build Mono for Linux, and there were no RPMs, so I know how to build source
right? The dependency chain was a mile long, and I spent almost two weeks at

You must not have looked very hard. The RPMs are right there on the
web site:

www.mono-project.com/Downloads

Also, if we do not support your platform with rpms, you can use the x86
installer that will work everywhere.

As for dependencies, you need glib, libgdiplus and Mono, so 3 tarballs
to build. All of them build in about 10 minutes on a 2ghz laptop.

If someone burned 20 to 30 hours building three tarballs or not being
able to find a proper package in a Downloads page, I would say that
they have other more fundamental problems to deal with than Mono and
C#.

Miguel.
 
B

Brock Weaver

------=_Part_5180_16296696.1127402371136
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

To be honest, the only stability issues I've seen are on Win 2003 boxes. Th=
e
few Red Hat boxen we have running have yet to experience stability problems=
 
J

John W. Kennedy

Brock said:
Java has turned out to be a very successful language. Some may argue it is
not a "good" language as it makes certain compromises ("joe" == "joe"
returns false -- now that seems weird, albeit correct since there is no
operator overloading).

Not so, actually. All Java string constants and compile-time expressions
are put in the intern pool, so "joe" and "joe" will always test ==,
because they are guaranteed to be the same object. "joe" will not
necessarily test == to a String object with a value of "joe", but it is
guaranteed to if you have used the intern() method.

public final class Joe {
public static void main (String[] args) {
System.out.println ("joe" == "joe"); // true
final String joe = "joex".substring(0, 3);
System.out.println (joe == "joe"); // false
final String joe2 = joe.intern ();
System.out.println (joe2 == "joe"); // true
System.exit (0);
}
}
 

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top