Ruby vs Java vs c++

tx a lot 4 the feedback. sounds good

On Sun, 19 Nov 2006 08:38:21 +0000, Phlip wrote:

if i need to make a choice between fancy and efficient,
programmer (the stuff he writes is very efficient and fancy as
Systems are large and long-lived. Nobody is phasing them out.
switch tack in the middle as my IT capablity is not a full time activity,
people here will be biased towards Ruby, but that is fine: i want to hear

I work to the story-point. That means I estimate for my client each feature
in “ideal hours”, and then I charge to those point, not the actual hours
spent researching and coding. I don’t actually give a darn what that time is
(and it usually includes lots of bizarre interruptions from my females!).

If I did that using any system besides Ruby (on Rails, and pure Test Driven
Development), I would be absolutely screwed. Instead, I am able to fix the
cost of each iteration, while keeping the quality as high as possible,
without excessive delays.

i AM reading e/y single post in the thread, believe me.
tx 4 the info.

On Sun, 19 Nov 2006 10:54:04 -0500, Mark Shroyer wrote:

You will never miss anything (except lots of entry-level jobs that
performs better, and enjoys a much greater market penetration than Ruby,

Java 5, and I would expect to see further improvements in this area in

u make a good case. tx.

On Sun, 19 Nov 2006 12:13:18 -0800, Paul L. wrote:

still have driving students learn all about the engine, how it works,
filter:

s! w/ out ! without !g

No pure regexp for the rule “Sentences begin with a capital letter”, but
since this is a Ruby newsgroup:

message.gsub!(%r{(^|.\s+)(\w)}) { |c| c.upcase }

If this seems anal, remember that computers are unashamedly anal, fully ten
times worse than a human OCD sufferer.

well that’s really helpful…

On Mon, 20 Nov 2006 00:36:18 +0100, Jim C. wrote:

way…u get the idea.)
advantages and disadvantages and see if it’s worth pursuing further.
choice for your “dynamic scripting” language. (Perl has an advantage if
switch tack in the middle as my IT capablity is not a full time activity,
but more of a support 4 my main one–finance.

of course, learning curve is to be taken into consideration as well…

'd love some comments that might help me consider my options and pick a
path (c++, java or ruby) w/ a higher level of confidence… i know that
people here will be biased towards Ruby, but that is fine: i want to hear
about it…

tx. i’ll definitely check out eiffel; and you’re right: i’d like to
trade-off as little as possible efficiency and higher level/programmer
friendliness; which prompted my post in the 1st place :wink:

David V. wrote:

Phlip wrote:

however, speaking to one my programmer friends who is a top level Java
programmer (the stuff he writes is very efficient and fancy as
well–great balance),

Oh, I love it when they start lecturing you on how awesome that peesashit
language is! Ay-yi-yi!

[snip]

If I did that using any system besides Ruby (on Rails, and pure Test Driven
Development), I would be absolutely screwed. Instead, I am able to fix the
cost of each iteration, while keeping the quality as high as possible,
without excessive delays.

I am so glad to see the ranting preaching zealot was refuted with a
factually supported statement based on experience with comparable problems.

Apologies for misunderstand you, but which one was the zealot?

That door tends to swing both ways… :wink:

stef wrote:

/ …

i AM reading e/y single post in the thread, believe me.
tx 4 the info.

Translation for Earthlings:

“I am reading every single post in the thread, believe me. Thank you
for
the information.”

French is easier.

stef wrote:

/ …

If this seems anal, remember that computers are unashamedly anal, fully
ten times worse than a human OCD sufferer.

well that’s really helpful…

I thought you would find it useful, in your valiant efforts to gain
greater
literacy and achieve clearer communications with your fellow man. :slight_smile:

On 2006-11-18, n/a [email protected] wrote:

if i need to make a choice between fancy and efficient,
speed, etc., then it’s an easy choice 4 me of efficient.
which is why i have just started w/ c++.

If you’re not too attached to the mainstream, Eiffel could be another
choice - efficient (statically compiled, like C++), but higher-level
than C++; has GC but is better designed than Java, as far as the
language
itself. Designed to facilitate writing correct programs. If this
interests you, do a bit of googling/research to learn about its
advantages and disadvantages and see if it’s worth pursuing further.
(There are two GNU-licensed Eiffel compilers available:

http://smarteiffel.loria.fr/
.)

Regarding Ruby, it’s much closer to being justifiably called a pure OO
language than Java is; part of the result of that is that its design is
simpler and better. In many cases, you don’t want to make a choice
between high-level and efficient - you want both; and you do that by
using two or more languages. Ruby is a contender for being your best
choice for your “dynamic scripting” language. (Perl has an advantage if
you need its larger available collection of libraries and components,
but this will shrink as Ruby is used more.)

The one thing Ruby (and Python) have over C++ (and Java to
some extend) is that there is very little overhead in terms
of syntax to get started writing a program. You can just
get started, first in the interpreter to get your feet
wet and try out things, then later by putting programs
together in a source file.

No need to #include or import anything (well, I guess
Python/Ruby do something similar at times), no required main
functions/methods etc … all that extra syntax (and in
case of C/C++ all that memory management, which can cause
endless headaches).

IMHO, for humans/programmers, languages like Ruby or Python
are much more productive tools than C++. They work at a higher
level and come with nice libraries to support the task at
hand - the programmer can concentrate on solving the problem
rather than worrying about arcane syntactic issues.

Using the above criteria, I would put Java somewhere between
Ruby/Python and C/C++.

Now, if low-level access to the machine is required, or
fast execution, C/C++ might be a better choice since it’s
a compiled, rather than interpreted system, though there
are probably tools that would allow you to create executables
based on Ruby/Python (or perhaps not, I’m assuming here).

I was just recently taking another look at C++, and you can
easily see how it’s C with C++ grafted on, it has some rather
“un-elegant” features because of it. I’m not taking anything away
from Bjarne S., he did a great job taking C and turning it into
an object oriented language and helping the OO paradigm to get
more widely accepted. Other languages learned from this
and improved on it, to wit Java and all those that came
after.

My background:

FWIW, I have been programming since 1980, plenty of assembly
(even some machine language for “fun”), Pascal, Ada, C, C++,
Java, C# etc … my favorite languages currently are Ruby and Python.
If I have to develop for Windows with GUIs, VS w/ C#, most
of my code is written under Linux w/ emacs.

Sorry, this got to be longer than I had intended. Short version, if
you want to learn programming, and be productive, take a look at
Python and/or Ruby instead of C++.

EB

Hi –

On Mon, 20 Nov 2006, Paul L. wrote:

the information."

French is easier.

I think the point has been made enough times that stef uses a lot of
abbreviations, and that not everyone likes it. Please let’s not go
on and on about it – thanks.

David

Chilkat S. wrote:

understanding of the bits & bytes,
pointers, pointer arithmetic, structure layouts, byte ordering,
structure member alignment, dynamic memory
allocation on the heap as opposed to the stack, etc. Understanding
this gives you a good idea
as to what’s going on “under the hood” with higher-level languages.
Things won’t be so mysterious.
It’ll pay off in the long run.

For someone wanting/needing a deeper understanding of how things work
this is true.

However, for someone with specific goals in mind, hopefully the
languages
will isolate him/her from the bit-twiddling issues. E.g. smart file IO
libraries will worry about big-endian vs little endian etc.

I see this as one of the major features of higher level languages
such as Ruby/Python.

(Analogy, I can drive a car and get from here to there w/o understanding
how every part of the car’s engine works. And not everyone wanting to
drive a car to get somewhere wants to know either :slight_smile:

Worrying about malloc/free (or new/delete), run-away pointers etc
is not something I want to deal with unless I have a good reason
for it. 99% of the time it’s not required.

Now, if you are writing primarily OS service code etc, then of course
it’s all different :slight_smile:

EB

On Mon, 20 Nov 2006 01:22:37 -0000, Paul L. [email protected]
wrote:

for
the information."

French is easier.

How about introducing an [OT][WHINE] subject prefix for this stuff? So I
know to skip your persistently-off-topic whining, of course…

n/a [email protected] writes:

hi, newbie so please be tolerant… :wink:

i need to start to learn a programming language to be able to develop
custom aps to be applied to a variety of purposes but mainly 1) financial
data modeling–including graphics and data handling via database queries,
etc.; and 2) more general business-type aps.
Why not Ruby and Java and C++?
The realy unanswered question is when is one better than the other. I
even have seen someone using C for “scripting” :wink:

Regards
Friedrich

Friedrich D. wrote:

Why not Ruby and Java and C++?
The realy unanswered question is when is one better than the other. I
even have seen someone using C for “scripting” :wink:

Back when dinosaurs walked the Earth amongst humans, I used Fortran
for scripting, mostly because it was more or less guaranteed to exist
everywhere, while everyone had their own “JCL/command
line/shell/whatever”. So not only is it possible to write Fortran
programs in any language …


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

I would like to suggest the newbie learns VBA. The financial world
lives and breathes Excel. VBA is by far the language most likely to be
of use to someone entering that world. It’s pretty clear programming
is a tool for his/her use, rather than something that (s)he wants to
do for it’s own sake. Having said that, Excel can be viewed as a type
of DSL in it’s own right, so pushing the boundaries of what can be
done ‘natively’ is a great place to start.

As beginner you need to be prepared to pick up a few languages.

Lisp / Scheme
Ruby / Python / Smalltalk (Ruby being the accetable religious choice in
this category :slight_smile:
C# / Java depending library framework is useful
Haskell / Ocaml / or quite a few other variations, perhaps even F#
c and C++
Lua / Io
Assembler

for db backed web apps, RoR is a smart bet.
Windows based apps? C#
DirectX game? C++ with a splash of Lua

Scheme/ Lisp will helpl a lot with C++ meta programming with templates,
which is what the next up coming C++ standard makes heavy use of.

C++ claim to fame is at the end of the day you can pretty much do
anything
with it. Many of the dynamic language in fact make it easy to cross
into C/
C++ code to provide stuff that would be impossible in the orginal
language.
But while it can do things, trying to do a db driven web site is gonna
be
slow.

Lisp is great in that its a multi paradigm language, you want OO? well
just implement it in the language want a pinch of AOP? no problem. This
is
just a great way of thinking about software

Ruby, fantastically pragmatic and relatively easy to meta program, but
other
than writing db driven websites with rails it lacks the library support
that
some other languages have (though things are changing quickly)

but, ruby is a good starting language, C++ is a good language to go
along
side it as you can use it to bridge other frameworks into it. But if
your
want to do anything Windows technology centric, C# is a good option.

On 11/20/06, David K. [email protected] wrote:

Isn’t VBA rather similar to Ruby, anyway?
To me it looks like an OO BASIC with support for databases and Office
apps.

M. Edward (Ed) Borasky wrote:

everywhere, while everyone had their own "JCL/command

Oh yes, good old JCL …

line/shell/whatever". So not only is it possible to write Fortran
programs in any language …

I actually wrote some programs in RATFOR (Rational Fortran) … man
I feel old.

EB

spooq [email protected] writes:

I would like to suggest the newbie learns VBA. The financial world
lives and breathes Excel. VBA is by far the language most likely to be
of use to someone entering that world. It’s pretty clear programming
is a tool for his/her use, rather than something that (s)he wants to
do for it’s own sake. Having said that, Excel can be viewed as a type
of DSL in it’s own right, so pushing the boundaries of what can be
done ‘natively’ is a great place to start.

Isn’t VBA rather similar to Ruby, anyway?