Learn how to program

E

Eivind Eklund

To the list of high-level dynamic languages for teaching programming, I'd
add Logo (specifically UCBLogo), Perl, and probably DrScheme.

Why Perl? I know Perl fairly well, unfortunately having done most of
my programming in it over the last 12 years, but I don't see why it
would be appropriate for teaching. I'd think all the weird
irregularities would get in the way, but if you actually have
experience with it, I'd like to hear why I'm wrong (if I'm wrong).

Eivind.
 
M

Marc Heiler

Perl is a horrible language as far as aesthetics are concerned.

The expressions you want to do are riddled with snoopy swearing
characters.
I would never recommend it as a learning language.

Ruby is a lot better, however ruby in TOTAL is actually rather complex.

If you like CSS, html etc... you can start learning PHP, because despite
being a horrible language as far as design is concerned, PHP itself is
rather easy.

I dont think C, Java etc... fall into this language anyway because they
dont really have the ease of dynamic programming at all.

That being said though I think a ruby programmer should couple ruby with
a language like C++ C Java, not only because of speed, but also i.e. in
case of C to extend ruby. (I dont really use ruby for work, I use it for
fun and every task I need to do here)
 
R

Regnum

Thanks for the answers. I decided by Ruby.

What is the best book Ruby for someone who does not have experience in
programming?

Learn To Program
Why's (Poignant) Guide to Ruby
Humble Little Ruby Book

Thanks.
 
A

Ashley Wharton

[Note: parts of this message were removed to make it a legal post.]

Having just finished reading it, I think "Learn to program" is excellent,
very easy to read.

Why's is an amazing way of learning without realizing you are.

I think if you flip between both then it works very well.

On Feb 3, 2008 12:18 PM, (e-mail address removed) (e-mail address removed) <
 
C

Chad Perrin

Why Perl? I know Perl fairly well, unfortunately having done most of
my programming in it over the last 12 years, but I don't see why it
would be appropriate for teaching. I'd think all the weird
irregularities would get in the way, but if you actually have
experience with it, I'd like to hear why I'm wrong (if I'm wrong).

Learning Perl, by Randal Schwartz, is one of the all-time best books for
learning a programming language with very little familiarity with
programming at all. Something like its approach with the addition of a
teacher would make for an excellent instructional course for people who
essentially have *no* familiarity with programming.

PHP gets a lot of mileage out of how easy it is to pick up from scratch,
and do simple work with only minimal exposure. Perl has all the benefits
of PHP in this regard, with the exception of PHP's ubiquity for
markup-embedded coding on shared hosting accounts. What Perl *doesn't*
have is its brain-damaging limitations and design characteristics.

Ruby, I think, is the best language I've ever met for teaching object
oriented programming. I don't think it's quite as easily grasped for
someone who has never met a programming language before as Perl, without
additional guidance, though. Part of the reason for that is also the
reason Ruby's so good for teaching OOP (and Perl's so damned ugly for
OOP).

I think both Perl and Ruby are among the best languages I've ever
encountered for teaching programming -- with each being stronger in some
niches than the other. The same goes for UCBLogo as well.

Does that make sense?
 
C

Chad Perrin

Perl is a horrible language as far as aesthetics are concerned.

The expressions you want to do are riddled with snoopy swearing
characters.
I would never recommend it as a learning language.

Paul Graham: "Real ugliness is not harsh-looking syntax, but having to
build programs out of the wrong concepts."

I think the attitude you've shown is indicative of a very superficial
view of programming language design -- not of problems with a programming
language.

Much as I loathe Python, personally, I still might recommend it as a
learning language. That's because I realize that my personal preferences
do not, in and of themselves, amount to a definitive judgment of the
worth of the language for teaching programming. Perhaps you could learn
something from that example.

Ruby is a lot better, however ruby in TOTAL is actually rather complex.

If you like CSS, html etc... you can start learning PHP, because despite
being a horrible language as far as design is concerned, PHP itself is
rather easy.

Holy cow. PHP is the new BASIC -- a great way to inflict permanent brain
damage on yourself by learning it first. It's a rare programmer who
starts out with PHP and fully recovers from the experience. Usually, the
path to full recovery involves lengthy therapy with Perl, in fact -- the
language most familiar to PHP users without its inherently brain damaging
characteristics.

I dont think C, Java etc... fall into this language anyway because they
dont really have the ease of dynamic programming at all.

Actually, C could be very useful as a first-time learning language. That
depends to a significant degree upon the student (and the teacher, even
if that teacher is a book), however. Most students should start with a
higher-level language, probably dynamically typed, though OCaml is an
interesting exception to that general guideline about dynamic typing. In
any case, C can be valuable for its relative semantic closeness to the
hardware.
 
C

Chad Perrin

Thanks for the answers. I decided by Ruby.

What is the best book Ruby for someone who does not have experience in
programming?

.Learn To Program
.Why's (Poignant) Guide to Ruby
.Humble Little Ruby Book

I agree with Ashley Wharton, re: the Poignant Guide and Learn to Program.

I found the Humble Little Ruby Book in need of some editing, frankly.
Both of the others truly impressed me, though.
 
R

Robert Hicks

Why Perl?  I know Perl fairly well, unfortunately having done most of
my programming in it over the last 12 years, but I don't see why it
would be appropriate for teaching.  I'd think all the weird
irregularities would get in the way, but if you actually have
experience with it, I'd like to hear why I'm wrong (if I'm wrong).

Eivind.

The "irregularities" usually only happen when you are doing more
complicated Perl. For a starter language there is no reason to do that
and Perl is a good choice there. It has libraries for almost any
aspect of programming you would want to do. I find it personally "fun"
to program in myself and is a good first language for a hobbyist. I
don't discount Ruby as a started language either.

Robert
 
R

Robert Hicks

Learning Perl, by Randal Schwartz, is one of the all-time best books for
learning a programming language with very little familiarity with
programming at all.  Something like its approach with the addition of a
teacher would make for an excellent instructional course for people who
essentially have *no* familiarity with programming.

PHP gets a lot of mileage out of how easy it is to pick up from scratch,
and do simple work with only minimal exposure.  Perl has all the benefits
of PHP in this regard, with the exception of PHP's ubiquity for
markup-embedded coding on shared hosting accounts.  What Perl *doesn't*
have is its brain-damaging limitations and design characteristics.

Ruby, I think, is the best language I've ever met for teaching object
oriented programming.  I don't think it's quite as easily grasped for
someone who has never met a programming language before as Perl, without
additional guidance, though.  Part of the reason for that is also the
reason Ruby's so good for teaching OOP (and Perl's so damned ugly for
OOP).

I think both Perl and Ruby are among the best languages I've ever
encountered for teaching programming -- with each being stronger in some
niches than the other.  The same goes for UCBLogo as well.

Does that make sense?

I agree with those points.

Robert
 
J

James Gray

I agree with Ashley Wharton, re: the Poignant Guide and Learn to
Program.

I found the Humble Little Ruby Book in need of some editing, frankly.
Both of the others truly impressed me, though.

Interesting.

I worked heavily with a student who started with Learn to Program and
I found myself needing to supplement the book a lot, just to get them
to the point where they had a comfortable understanding. The file IO
chapter in particular really doesn't seem to get the job done in that
book.

I think everyone has their favorites.

James Edward Gray II
 

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,282
Messages
2,571,404
Members
48,096
Latest member
Kenkian2628

Latest Threads

Top