Newbie questions

M

manowarrior

Hello,
I'm new to programming at all... and I suck at maths. Plus, I'm 16
years old.
My questions are:
1) Is Ruby a good language to start with?
2) Do I need lots of math to become a good programmer?
3) What tutorial or a book will you suggest me, if you think that I can
start learning?

Thank you.
I hope this message is not spam for your newsgroup.
 
T

Tim Hunter

manowarrior said:
Hello,
I'm new to programming at all... and I suck at maths. Plus, I'm 16
years old.
My questions are:
1) Is Ruby a good language to start with?
2) Do I need lots of math to become a good programmer?
3) What tutorial or a book will you suggest me, if you think that I can
start learning?

Thank you.
I hope this message is not spam for your newsgroup.

Hello!

Yes, Ruby is a good language to learn as your first language. (It's not
the only one, but it's a good one.) You don't need lots of math to learn
programming but generally speaking the more math you learn the more
kinds of programs you can write. Math and computer programming are
closely related, and many kinds of interesting programs, such as games,
can require significant math knowlege.

There are two good online tutorials for learning to program with Ruby.
They're very different, so check out both of them to see which one you
like better:

"Learn To Program" http://pine.fm/LearnToProgram/?Chapter=00
"why's (poignant) guide to Ruby" http://www.poignantguide.net/ruby/

When you have questions you can always ask them here. Good luck!
 
J

Jan Svitok

Hello,

Hello,
I'm new to programming at all... and I suck at maths. Plus, I'm 16
years old.
My questions are:
1) Is Ruby a good language to start with?

Sure. It's a nice language where you don't have to worry about many
details as you have in C or Pascal.
2) Do I need lots of math to become a good programmer?

No. Well, programming is a tool. It depends on what you want to
achieve - if you want to do scientific simulations, then yes, you'll
need math. Otherwise, if you just want to process some text files, you
probably don't need any math.
3) What tutorial or a book will you suggest me, if you think that I can
start learning?

For the really basic start, try tutorial at tryruby.hobix.com.
Then there is a really useful book Programming Ruby - the first
edition is on the web for free, the second one you have to buy. I
would recommend it if you mean it seriously.

Try ruby-lang.org, ruby-doc.org. http://poignantguide.net/ruby/
I hope this message is not spam for your newsgroup.

I don't think so. You're welcome here, as anybody is.

J.
 
H

Harish TM

I love ruby, but its my opinion that it simplifies things so much that
you don't really appreciate programing if Ruby is your first language.
Maybe its a good idea to start with C which has the option of getting
to lower levels with pointers and even assembly code.



Harish
 
M

Matthew Smillie

Hello,
I'm new to programming at all... and I suck at maths. Plus, I'm 16
years old.
My questions are:
1) Is Ruby a good language to start with?

Well, one language has to be your first, and they all have pluses and
minuses. I wouldn't *teach* Ruby as a first language, but for
learning on one's own it seems like a good choice.
2) Do I need lots of math to become a good programmer?

A tricky one. You can certainly be a programmer of one kind or
another without knowing a lot of math, but without exception, all the
really talented programmers I'm acquainted with also know a fair bit
about math. I think the catch is that without some math knowledge,
you'll be very limited in what you can apply your programming skills to.

On the other hand, it's a pretty different sort of math than what I
did when I was 16; a lot less emphasis on solving this or that
equation, and a lot more emphasis on knowing which equations or
techniques should be used in various situations.
3) What tutorial or a book will you suggest me, if you think that I
can
start learning?

I would suggest http://tryruby.hobix.com (as I'm sure at least one
other person has while I've been writing this, but I think it's
probably the best first introduction). Its basic tutorial is a good
introduction. I'll leave it to others to post the rest of the list.

matthew smillie.
 
R

Richard Conroy

Hello,
I'm new to programming at all... and I suck at maths. Plus, I'm 16
years old.
My questions are:
1) Is Ruby a good language to start with?

Well I am new enough to Ruby, but not programming.
I would say so. The elegance of its scripting/OO hybrid,
principle of least surprise (tm) and helpful community
will mean that you can get results and feedback early
and quickly, which will contribute to the learning process.

Also the inherent discipline in its language syntax, will not
ruin you as a developer (via bad habits) in a way that other
scripting languages will.

Ruby puts less crap in the way of your learning curve. The only
downside is that you will not be exposed to gritty programming
issues like threading, memory management etc. which are
important to understand in certain programming domains and issues.
2) Do I need lots of math to become a good programmer?

No, but you can't rule out the importance of a mathematical
mindset. For instance, the only maths I really use in my
work is discreet maths (logical operations) and set theory.

Being a good programmer comes from core software engineering
skills like:
- good problem solving
- having an appopriate design wrt the problem you are solving
- structuring your application elegantly wrt readability & flexibility
that will make you a good programmer.
- being effective - delivering appropriate solutions to problems in a
timely fashion

After a reasonably short period of time you will become competent
with any decent programming language. So coding competence
is only a part of what makes you a good programmer.
3) What tutorial or a book will you suggest me, if you think that I can
start learning?

Can't say. Most of the books I read are aimed at a higher level. However
there is a 'Learn Programming with Ruby' book that I hear recommended.
 
C

Chad Perrin

Only if you want to code math.

It's unfortunately not quite that simple.

Familiarity and comfort with algebraic logic is invaluable to a
programmer. That need not come from extensive formal instruction,
though that's where (most?) many programmers get it. That's more a way
of thinking than anything else, and as such can be learned from any
number of sources, however.

Learning to program is a good way to learn that manner of thinking,
though, I think. As long as it's a hobby, and you're willing to follow
tangents, I think that no more than a very basic understanding of the
principles of algebra is really strictly necessary. As others indicate,
however, knowing more math would likely help, even if it's not exactly a
prerequisite for learning to program.

I know for a fact that all the calculus California universities force on
computer science students is not necessary, or even particularly
helpful, for most programmers. Spending three years in calculus classes
distracts from learning the sort of mathematics that is actually of
direct use to programmers in general (such as linear algebra).
Unfortunately, in addition to a specific, institutionalized coursework
requirement for calculus, California schools also tend to artificially
specify an absurd number of calculus credits as prerequisites for linear
algebra as well.

C'est la vie.

The upshot, in any case, is this: don't worry about the math if you just
want to learn to program for your own purposes -- at least not at first.
Navigate on over to the pages for Why's (Poignant) Guide and Chris
Pine's Learn to Program, and have fun. Competency with arithmetic is
all you really need to be able to get started.
 
C

Chad Perrin

I love ruby, but its my opinion that it simplifies things so much that
you don't really appreciate programing if Ruby is your first language.
Maybe its a good idea to start with C which has the option of getting
to lower levels with pointers and even assembly code.

I disagree quite a lot. Learning to program is not the same as learning
to write operating systems and device drivers. Programming is about
abstraction, and there's a lot you can learn about that far more easily
from Ruby than from C.

Everyone's different, and every situation is different. Picking a
language for your purposes depends on both those things. Ruby is, I
think, an excellent choice for most -- but not for all.
 
J

Jeremy Henty

2) Do I need lots of math to become a good programmer?

Speaking as a mathematician who later became a programmer, I don't
think there's any maths you *have* to know before learning to program.
There are some areas of maths which are very useful for good
programmers to know, and learning maths is one way of developing the
abstract thinking skills that all good programmers need, but if you're
just starting to learn programming I think the important thing is to
get lots of practise writing programs. Don't worry about whether you
know enough maths, you can pick it up later if you need to. For now,
just write programs!

Regards,

Jeremy Henty
 
B

Brian Cowdery

manowarrior said:
Hello,
I'm new to programming at all... and I suck at maths. Plus, I'm 16
years old.
My questions are:
1) Is Ruby a good language to start with?

Ruby is a relativly simplistic and forgiving language, which fortuantly
makes it easy to learn - but unfortunatly the flexibility allows for
some really bad programming habits to develop. I'd suggest starting out
with somthing like C or Java, go through a few introductory books and
tutorials and learn about inheritance and proper programming structures
(shouldn't take more than a few days). Then start looking at Ruby for
some instant gratification.
2) Do I need lots of math to become a good programmer?

No, but it helps. Most programmers deal with information these days,
processing, moving and manipulating. The math comes in on the technical
side when your dealing with hardware and the more low level stuff. If
you understand basic algebra you should be fine. On a side note, lots of
college and university courses will put you through things like
Statistics and Linear Algebra because they really help you understand
how computers work, and how to take the shortest route to an answer (the
goal of any good programmer).
3) What tutorial or a book will you suggest me, if you think that I can
start learning?

With ruby theres really only 1 good book "Programming Ruby" but its not
the easiest of read. Take a look into any of the Pragmatic Programmer
series of books, there fun and easier to read than anything else ive
found.
Thank you.
I hope this message is not spam for your newsgroup.

No problem, news groups are for answering questions like this, and i
doubt your the only one who will find this useful =P
 
S

Steven R.

manowarrior said:
Hello,
I'm new to programming at all... and I suck at maths. Plus, I'm 16
years old.
My questions are:
1) Is Ruby a good language to start with?
2) Do I need lots of math to become a good programmer?
3) What tutorial or a book will you suggest me, if you think that I can
start learning?

Thank you.
I hope this message is not spam for your newsgroup.

I am also a newbie, though I took some C at University, I code for
myself only - not for a living, and just started on Ruby about 6 months
ago, so take this with a grain of salt...

1. Yes - it is excellent in my opinion because it is very accessible in
syntax (read the code, it almost makes as much sense as English) and is
'purely' object oriented, which is the model on which much code is based
these days, and a handy mental model to boot.

2. Not at first. You will, eventually, if you want to be truly great,
but the best part of learning to code is, as you write code (which is
the only way to get good at it) you will start to see problems in the
algorithms you develop to solve problems, and want to write more
efficient code, and at some point, you'll find that advanced maths are
crucial to progress. Good news is, by that point, you'll have developed
the mental muscles and familiarity with the concepts to learn the maths
much easier. Don't feel like you have to take Numerical Analysis right
off the bat... give yourself time to learn at a pace that works for you.

I failed more math than you will likely ever take. I eventually 'got it'
and now I love it & did well in University math classes. Don't worry if
you 'suck at math' - most math education makes maths too difficult,
boring and frustrating. I suggest two things that worked for me - buy a
copy of "Godel, Escher, Bach: The Eternal Golden Braid" by Hofstadter
and read the parts you understand. That book made math come to life for
me, and it may help you. Even if it does not, second - keep taking math
classes. Even if you fail, even if you suck at it, keep taking the
classes until you pass. Every class, you will learn *something* and when
you finally 'get it' it will be worth it. Trust me on that, if nothing
else - I was not exaggerating when I wrote I failed more math than most
people ever take. I am just too stupid to know when to quit. :)

3. Agile Web Development with Rails (Hansson). Programming Ruby
(Thomas). The Ruby Way (Fulton). Ruby for Rails (Manning). In that
order. All are excellent books.

Good luck!
 
R

Rick DeNatale

Speaking as a mathematician who later became a programmer, I don't
think there's any maths you *have* to know before learning to program.
There are some areas of maths which are very useful for good
programmers to know, and learning maths is one way of developing the
abstract thinking skills that all good programmers need, but if you're
just starting to learn programming I think the important thing is to
get lots of practise writing programs. Don't worry about whether you
know enough maths, you can pick it up later if you need to. For now,
just write programs!

This is a good perspective.

Also depending on what you are doing, and this might not happen until
you are well on your way programming, you will likely run into the
fact that computers can only represent some math concepts, like real
numbers, with a finite stand-in for reality. So even the math whizzes
have to face the fact that they have to deal with variations between
the 'correct' answers to expressions like 1.0 / 3.0 and what the
computer can provide. Ruby is better than some other languages since
it has arbitrary length integers, and optionally rationals, but it
still can't represent numbers which require more bits than the
computer has.

There's a whole sub-branch of computer science, called numerical
analysis, which deals with this issue.
 
J

Jeremy Henty

... I was not exaggerating when I wrote I failed more math than most
people ever take. I am just too stupid to know when to quit. :)

Good for you! Remember the immortal words of David St. Hubbins:

It's such a fine line between stupid, and clever.

(<URL:http://www.imdb.com/title/tt0088258/quotes>)

Maybe you crossed that line somewhere!

(In the stupid->clever direction, in case that wasn't clear.)

Regards,

Jeremy Henty
 
S

Steven R.

Jeremy said:
Good for you! Remember the immortal words of David St. Hubbins:

It's such a fine line between stupid, and clever.

(<URL:http://www.imdb.com/title/tt0088258/quotes>)

Maybe you crossed that line somewhere!

(In the stupid->clever direction, in case that wasn't clear.)

Regards,

Jeremy Henty

I hope I did... in that direction... but if I hadn't, well I wouldn't
know it... until someone told me I hadn't... but then, I wouldn't
understand what they were telling me...

<head explodes>

I try to encourage people who have trouble with maths - sometimes, one
must face the notion that one's only purpose in life is to be a warning
to others.

Thanks for the good karma.

:)

Cheers!

SR
 

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
474,209
Messages
2,571,088
Members
47,687
Latest member
IngridXxj

Latest Threads

Top