Programming Newbie: Ruby or Java?

D

Dab

Thanks for looking!

I'm brand new to programming and had just decided to learn Java as a
first language, then stumbled accross Ruby, which seems far simpler to
learn, but doesn't seem to have as many resources/books etc.

I want to eventually write a Windows program for an Apartment
Management company that will keep track of their buildings
tenants....all their info, lockers, parking stalls, rental monies
owing, that sort of thing.

Will Ruby lead me to being able to do that eventually? I don't want,
nor can afford, to use any programs like Visual Basic that cost wad's
of money. And, I especially like the Open Source/Free program concepts
and community atmospheres.

What do you think?

Thanks so much for your help!
Dab
 
E

Edward Faulkner

--V0207lvV8h4k8FAm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I want to eventually write a Windows program for an Apartment
Management company that will keep track of their buildings
tenants....all their info, lockers, parking stalls, rental monies
owing, that sort of thing.

You don't want to write a desktop application. You want to write a
web application. Trust me. It will be easier, and much more flexible
in the long run.

Learn Ruby and Rails and you'll be good to go.

regards,
Ed

--V0207lvV8h4k8FAm
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDi3NznhUz11p9MSARAmiOAJ93X1eIYzYfuD3YEKrUncTm4/OQfgCdEj8L
C93oFfvmiamfvYsbC6+hUSY=
=x8bG
-----END PGP SIGNATURE-----

--V0207lvV8h4k8FAm--
 
D

Dougan

If you want to get lots of jobs - Java.
If you want to go through life smiling - Ruby.
Yes, keeping track of apartment tenants should be easy with Ruby.
Visual Basic is free - if you download the Express edition of VS2005,
and at this point probably a bit easier than Java, but not as slick as
Ruby.
 
L

Leslie Viljoen

Dab said:
Thanks for looking!

I'm brand new to programming and had just decided to learn Java as a
first language, then stumbled accross Ruby, which seems far simpler to
learn, but doesn't seem to have as many resources/books etc.

I want to eventually write a Windows program for an Apartment
Management company that will keep track of their buildings
tenants....all their info, lockers, parking stalls, rental monies
owing, that sort of thing.

Will Ruby lead me to being able to do that eventually? I don't want,
nor can afford, to use any programs like Visual Basic that cost wad's
of money. And, I especially like the Open Source/Free program concepts
and community atmospheres.

What do you think?
I think that if you learn Ruby as a first language, learning other
languages after that would feel like having your hands
chopped off.

OTOH I'm not sure Ruby is the way to go if you want to produce
a GUI type application very quickly since AFAIK there's nothing
in Ruby that allows the ease of dragging some controls on a form
and setting their properties - like you could do with VB or Delphi.
VB is a terrible language, Delphi at least has some design to it,
I'm sure there's RAD type development environments for Java
although I haven't used them.

So Java is probably what you need - unless someone on the list
knows of a RAD type environment for building fast GUI apps in Ruby.
 
L

Lyle Johnson

I'm brand new to programming and had just decided to learn Java as a
first language, then stumbled accross Ruby, which seems far simpler to
learn, but doesn't seem to have as many resources/books etc.

Ruby is going to be far simpler for you to learn than Java. Of course,
you knew I was going to say that, didn't you? ;)

I'm hesitant to give advice about how to learn programming since I've
never taught anyone how to do that. Having said that, a lot of people
recommend "The Poignant Guide to Ruby" (online at
http://www.poignantguide.net/ruby/) as a fun to read Ruby
introduction. (I can vouch for the fun-to-read part; I just don't know
how good it is for teaching someone how to program.)

If you can wait for another month or so, Chris Pine's "Learn to
Program" is supposed to hit the bookshelves in January 2006 (see
http://www.pragmaticprogrammer.com/titles/fr_ltp/index.html). Although
the book's description doesn't explicitly say so, I think it's safe to
assume that Chris is using Ruby as the programming language in his
book.

I also definitely recommend the book "Programming Ruby" (2nd ed.) by
Dave Thomas and friends, although it's not a book for new programmers.
I want to eventually write a Windows program for an Apartment
Management company that will keep track of their buildings
tenants....all their info, lockers, parking stalls, rental monies
owing, that sort of thing.

Will Ruby lead me to being able to do that eventually? I don't want,
nor can afford, to use any programs like Visual Basic that cost wad's
of money. And, I especially like the Open Source/Free program concepts
and community atmospheres.

You can certainly write such an application with Ruby. At some point
down the road you will need to make some decisions about how users
interact with the program, e.g. whether it's a standalone application
that they run on their PC (such as Microsoft Office) or a Web-based
application that they access through a browser.

But that's not something that you need to decide about at this point.
In either case, Ruby's got you covered (and all with free tools and
software). ;)

Hope this helps,

Lyle
 
D

Daniel Schierbeck

Dab said:
Thanks for looking!

I'm brand new to programming and had just decided to learn Java as a
first language, then stumbled accross Ruby, which seems far simpler to
learn, but doesn't seem to have as many resources/books etc.

I want to eventually write a Windows program for an Apartment
Management company that will keep track of their buildings
tenants....all their info, lockers, parking stalls, rental monies
owing, that sort of thing.

Will Ruby lead me to being able to do that eventually? I don't want,
nor can afford, to use any programs like Visual Basic that cost wad's
of money. And, I especially like the Open Source/Free program concepts
and community atmospheres.

What do you think?

Thanks so much for your help!
Dab

Ruby on Rails is definately the way to go. And if you have *any*
questions, you know you can ask them here. Round the clock community
help, mate! Yeah, baby, yeah!


Cheers,
Daniel
 
M

Matt Lawrence

Ruby on Rails is definately the way to go. And if you have *any* questions,
you know you can ask them here. Round the clock community help, mate! Yeah,
baby, yeah!

Considering how many highly skilled Ruby programmers are scattered around
the globe, help is readily available in all timezones.

Also, there's a great IRC channel as well.
From the description of the problem, Ruby on Rails is probably the easiest
way to go. If you only want to run on one machine, you can just use a web
server internal to that system.

-- Matt
Nothing great was ever accomplished without _passion_
 
L

Lyle Johnson

I'm not sure why you guys think Ruby is easier than Java from a "Learn It= "
perspective. Maybe somebody can elaborate on this. I don't really see i=
t.

Well, to be sure, it's a subjective thing. I suppose that when I think
about the overhead that Java imposes for even a simple "Hello, World!"
program (in terms of syntax and system configuration), Ruby wins. But
as I noted, I've never actually been in the position of having to
teach someone else how to program, so it's conjecture on my part.
 
A

abraham tio

"Will Ruby lead me to being able to do that eventually?"

yes. more quickly, actually, and with more easily maintainable code.
"I don't want,nor can afford, to use any programs like Visual Basic"

that's good, because if you did, you'd be depedent on windows being
wherever you wanted to sell/install your product. probably true, but why
take the chance ? i'll avoid editorializing about the limitations of
windows, but you should do your own comparisons about the operating
system that VB applications run on, and the operating systems(nb. thats
plural) that ruby and java run on.

"And, I especially like the Open Source/Free program concepts
and community atmospheres. What do you think?"

we like it too.

i think you should learn both: java and ruby. they both have strengths
that you'll probably enjoy mastering. as a confessed brand new
programmer who seems to have an open mind, you should learn at two
languages anyway.

good luck, looking forward to hearing how it turns out.
 
D

Dab

Wow, thanks for the great feed-back thus far!!

Learn both Ruby and Java? Hmmm--never thought of that! Good idea!

Ruby and Rails---that seems interesting, but if I'm thinking about
marketing my software (my first project idea) eventually, to
independent Apartment complexes/Property Management companies, would
that limit me at all? I'm thinking about creating a Point-of-Sale
program next, to use in Optical Stores.

I like that Ruby is an emerging, blossoming language, despite the
limited resources, compared to Java. A contrarians dream! Maybe I'll be
able to contribute to it's growth, which sounds exciting.

As long as Ruby can enable me to create GUI programs, I'm not too
concerned about having an instantaneous RAD environment (Like NetBean's
for example). My chief objective, after many years of wishin 'n
dreamin, is to learn how to program---to be a programmer---so I can
create, use and maybe market, my own programs.

Based on your responses.....y'all sound like a community I'd love to
join! Again, thank you so much for the tremendous feedback and gracious
welcome!
 
D

Daniel Schierbeck

Dab said:
Wow, thanks for the great feed-back thus far!!

Learn both Ruby and Java? Hmmm--never thought of that! Good idea!

Ruby and Rails---that seems interesting, but if I'm thinking about
marketing my software (my first project idea) eventually, to
independent Apartment complexes/Property Management companies, would
that limit me at all? I'm thinking about creating a Point-of-Sale
program next, to use in Optical Stores.

I like that Ruby is an emerging, blossoming language, despite the
limited resources, compared to Java. A contrarians dream! Maybe I'll be
able to contribute to it's growth, which sounds exciting.

As long as Ruby can enable me to create GUI programs, I'm not too
concerned about having an instantaneous RAD environment (Like NetBean's
for example). My chief objective, after many years of wishin 'n
dreamin, is to learn how to program---to be a programmer---so I can
create, use and maybe market, my own programs.

Based on your responses.....y'all sound like a community I'd love to
join! Again, thank you so much for the tremendous feedback and gracious
welcome!

You're quite welcome.

By the way, the community spirit here is driving me crazy! I better
start a flamewar to get things balanced... "Python r0xx!!1" :)


Cheers mate, and may your days of programming be as fun as ours have been
Daniel
 
G

Gregory Brown

Thanks for looking!

I'm brand new to programming and had just decided to learn Java as a
first language, then stumbled accross Ruby, which seems far simpler to
learn, but doesn't seem to have as many resources/books etc.

I learned Java first. And I never. Ever. Ever. want to write it again.
Though it does offer a fair balance for some very different methodologies.

In a sense, Java will enlighten you on just WHY ruby is so much nicer
to work with (in most cases).
I want to eventually write a Windows program for an Apartment
Management company that will keep track of their buildings
tenants....all their info, lockers, parking stalls, rental monies
owing, that sort of thing.

Will Ruby lead me to being able to do that eventually? I don't want,
nor can afford, to use any programs like Visual Basic that cost wad's
of money. And, I especially like the Open Source/Free program concepts
and community atmospheres.

Yes... that sounds like an ideal RoR project, as others have mentioned.

Also, the Free Software community is alive and well in Ruby, though...
speaking too loudly about the GPL might get a few fingers chopped off.
( I seem to be one of the few FSF supporters around here who believes
Stallman is right. But maybe that's just because of all those email
fights I had with him when he made me feel bad ;) )
What do you think?

Learn both. Go as far as you have to in Java and as far as you can in Rub=
y. :)
A warm welcome to you, being a ruby nuby is less scary that most other
languages, so you'll probably enjoy your stay. :)
 
A

ako...

Hello,

one thing that might be difficult to learn with no programming
experience is Ruby's meta programming. in this respect Java is easier.
one of the languages that they use in academia to teach programming is
lisp. you might want to take a look at that too. but just to learn
because doing something real in lisp is painful. Ruby is much more
suitable. i think. but in general of course programming is not about
language syntax and semantics...

konstantin
 
J

James Britt

Dab said:
Thanks for looking!
...
Will Ruby lead me to being able to do that eventually? I don't want,
nor can afford, to use any programs like Visual Basic that cost wad's
of money.

The VB.net/C# SDK is free. So is SharpDevelop.

Worth a look.

James


--

http://www.ruby-doc.org - Ruby Help & Documentation
http://www.artima.com/rubycs/ - Ruby Code & Style: Writers wanted
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
http://www.30secondrule.com - Building Better Tools
 
J

James Britt

ako... said:
Hello,

one thing that might be difficult to learn with no programming
experience is Ruby's meta programming. in this respect Java is easier.

On the contrary, if you start with a dynamic language such as Ruby,
metaprogramming is much easier to pick up. Java encourages the idea
that message == method, whereas Ruby teaches you that the message a
client sends to an object need not map to any actual object method, and
how the object handles the message request is none of the client's business.

Metaprogaming *is* programming. You just learn it as you would anything
else in Ruby, and it should be a natural part of any program (albeit
where appropriate). It only gets harder if you start off with
misconceptions fostered by other languages.
one of the languages that they use in academia to teach programming is
lisp. you might want to take a look at that too. but just to learn
because doing something real in lisp is painful.

Is this true for people who learn Lisp as their first language?

James
--

http://www.ruby-doc.org - Ruby Help & Documentation
http://www.artima.com/rubycs/ - Ruby Code & Style: Writers wanted
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
http://www.30secondrule.com - Building Better Tools
 
B

Brian McCallister

This may be anathema on this list, but I suggest neither for a first
language.

Python or Scheme would probably probably best as a first language.

Python:
Bondage and discipline is not a bad thing when you are first learning.
Force good whitespace habits
Potentially confusing things tend to be drummed out of the language
Even if very powerful

Scheme
Encourages good program design
PLT rocks
Very little magic while still being full power

It is kind of like learning to ride on a normal bicycle before
getting a 24 speed with a suspension and disk brakes.

-Brian
 
D

David Douthitt

Christian said:
I'm not sure why you guys think Ruby is easier than Java from a "Learn It"
perspective. Maybe somebody can elaborate on this. I don't really see it.

I've been trying to learn Java, having used Ruby since 1.4. Someone
says it feels like having your hands chopped off. This is brutal, but
there is an element of truth in it.

To elaborate, *everything* in Ruby is an object. This makes everything
simple and elegant - and there are no exceptions.

In Java, there are many things which are *not* objects - one of which
is Integer. I could see where this would trip up most Smalltalk or
Ruby programmers right up front - or anyone who expects things to all
act in the same way.

The other big problem with Java is its license. Ever wonder why no
open source distribution such as Debian or Fedora has Java? Its the
license....
 
C

Cam

Hi,

OTOH I'm not sure Ruby is the way to go if you want to produce
a GUI type application very quickly since AFAIK there's nothing
in Ruby that allows the ease of dragging some controls on a form
and setting their properties - like you could do with VB or Delphi.
VB is a terrible language, Delphi at least has some design to it,
I'm sure there's RAD type development environments for Java
although I haven't used them.

You can do this w/ ruby and libglade... but that only applies to the
*nix'es as far as i know.

Cam
 
P

Peter Burns

I see where you're coming from. I think there may even be a thread over = on
java.net talking about boiler plate code in Java (eg. the new for/in synt= ax
in 1.5 was added to get rid of the repetitive iterator blocks).

I wish people wouldn't use lines of code as a metric for the goodness of
Ruby though. I think Ruby is neat too, but not because I'm typing less. = ;p

Take care,

-
Chris

Lines of code can be a predictor of the number of things that the
language requires the programmer to deal with. The obvious gripe with
Java here is that it requires all programs to be classes, thus making
even a simple hello world program five lines long with all sorts of
crazy black box code. I think it could be a detriment to a new
programmer to have to put in so much voodoo code. It makes the system
seem strange and unapproachable. The questions I always had when I
was learning Java as a newbie programmer like "Why do I have to put
static in front of my functions?" bothered me, especially when I
couldn't understand word one of the answers to them.

Ruby is nice in the context of just learning to program because you
can generally approach one concept at a time. I also find ruby to be
generally more readable, and that is very useful when all of the
concepts are still so new and foreign.

I think that a new programmer would feel as though they understood
more of their code when writing in ruby. If that leads one to play
around and try stuff out more, then that's a huge win, because
experimenting and seeing what happens is (for me at least) the single
best way to really, truly learn something.
 
J

Jeff Wood

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

If lines of code were the winning factor, people would almost always use
perl for all of its infamous one-liner line-noise solutions to things...

j.

r

Lines of code can be a predictor of the number of things that the
language requires the programmer to deal with. The obvious gripe with
Java here is that it requires all programs to be classes, thus making
even a simple hello world program five lines long with all sorts of
crazy black box code. I think it could be a detriment to a new
programmer to have to put in so much voodoo code. It makes the system
seem strange and unapproachable. The questions I always had when I
was learning Java as a newbie programmer like "Why do I have to put
static in front of my functions?" bothered me, especially when I
couldn't understand word one of the answers to them.

Ruby is nice in the context of just learning to program because you
can generally approach one concept at a time. I also find ruby to be
generally more readable, and that is very useful when all of the
concepts are still so new and foreign.

I think that a new programmer would feel as though they understood
more of their code when writing in ruby. If that leads one to play
around and try stuff out more, then that's a huge win, because
experimenting and seeing what happens is (for me at least) the single
best way to really, truly learn something.


--
"Remember. Understand. Believe. Yield! -> http://ruby-lang.org"

Jeff Wood

------=_Part_3795_26915652.1133246413336--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,602
Members
45,185
Latest member
GluceaReviews

Latest Threads

Top