my mother wants to code?

F

Francois Paul

Hi,
my 50 year old mother wants to learn to code.
She has no computer experience, but she is surrounded with programmers
(three sons and a husband) and she wants to be able to understand what
we are talking about.
She is also quite tired of being a math teacher and is considdering to
quit her job in favour of helping with my webdev company (doing some
mundane inhouse development).

My little brother is busy teaching her Java but I feel Ruby is the
better (friendlier, more productive) language. However I can't seem to
find a good introduction to ruby that asumes no previous programming
experience (there are plenty available for Java).

can anyone point me in the right direction? also if you think it is a
better idea to start programming in Java rather than Ruby, please let me
know why.

Regards,

Francois
 
P

Pawel Szymczykowski

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

What about this book in progress by Chris Pine?:
http://pine.fm/LearnToProgram/

It's been mentioned on this list before (recently) as an introduction for
the beginning programmers - look for the subject 'Looking for book
reviewers' in the archives for more detailed info.

-Pawel

Hi,
my 50 year old mother wants to learn to code.
She has no computer experience, but she is surrounded with programmers
(three sons and a husband) and she wants to be able to understand what
we are talking about.
She is also quite tired of being a math teacher and is considdering to
quit her job in favour of helping with my webdev company (doing some
mundane inhouse development).

My little brother is busy teaching her Java but I feel Ruby is the
better (friendlier, more productive) language. However I can't seem to
find a good introduction to ruby that asumes no previous programming
experience (there are plenty available for Java).

can anyone point me in the right direction? also if you think it is a
better idea to start programming in Java rather than Ruby, please let me
know why.

Regards,

Francois

------=_Part_1755_28665283.1129019158253--
 
P

Pawel Szymczykowski

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

What about this book in progress by Chris Pine?:
http://pine.fm/LearnToProgram/

It's been mentioned on this list before (recently) as an introduction for
the beginning programmers - look for the subject 'Looking for book
reviewers' in the archives for more detailed info.

Oops, apparently I didn't read that thread very carefully. The link I gave
is for his tutorial - he also has a book in the works that he was recently
looking for reviewers for. You might get in touch with him to see if he
still needs some. Other than that, the tutorial should still be pretty
useful.

-Pawel

------=_Part_1775_25582853.1129019367371--
 
B

Brian Mitchell

Hi,
my 50 year old mother wants to learn to code.
She has no computer experience, but she is surrounded with programmers
(three sons and a husband) and she wants to be able to understand what
we are talking about.
She is also quite tired of being a math teacher and is considdering to
quit her job in favour of helping with my webdev company (doing some
mundane inhouse development).

My little brother is busy teaching her Java but I feel Ruby is the
better (friendlier, more productive) language. However I can't seem to
find a good introduction to ruby that asumes no previous programming
experience (there are plenty available for Java).

can anyone point me in the right direction? also if you think it is a
better idea to start programming in Java rather than Ruby, please let me
know why.

Regards,

Francois

While Ruby is a great choice for expressiveness, some of the style
does not make sense right away to a non-programmer. I would vote that
you install Squeak. Smalltalk is similar to Ruby but Squeak provides a
very interactive and friendly environment. As a teacher, she may also
enjoy putting such a tools to good use.

Take the similarity that Ruby has to Smalltalk in general, a jump to
Ruby later would not be so hard. I hope her mind is still nimble
though; web stuff can be simple but the world is a fast moving target
with the advent of Web 2.0 and surrounding buzz.

Other languages could include more web oriented javascript + DOM +
html. C was my first language. While low level, it does a fine job of
getting basic imperative style down. BASIC is old but sometimes still
a good place to start, safer than C at least. Logo is another way to
jump start programming.

If you want here to suffer from memory loss or worsen health you could
suggest Prolog or Unlambda.

It really depends. Show her the set of most fitting languages and let
her pick. If she is really serious about learning it also must be
enjoyed (I've never know a good coder that didn't enjoy the work).

Brian.
 
F

Francois Paul

--------------020404070703070402070800
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

thanks this is great!


Pawel said:
What about this book in progress by Chris Pine?:
http://pine.fm/LearnToProgram/

It's been mentioned on this list before (recently) as an introduction for
the beginning programmers - look for the subject 'Looking for book
reviewers' in the archives for more detailed info.

-Pawel

--------------020404070703070402070800--
 
K

Kev Jackson

If I was teaching someone to code now, I would start with something
interactive.

I'd suggest a procedural style language and a functional style of language.

My recomendations YMMV...

Procedural : C

If you don't know at least basic C, then you generally have a very flaky
idea of what's going on with the computer. C is a pain in the ass, with
compilation and link problems, the associated (crap) makefiles, memory
management etc etc, but IMHO if you want to be a decent programmer, you
have to know enough C to be able to appreciate differences in other
languages

Pros:
required for a lot of open source (understanding, compiling etc)
learn enough to fix makefiles etc
solid procedural style
memory management the hard way makes you appreciate GC
pointers

Cons:
compiled
makefiles (yuck!)
not interactive
pointers (+ pointer arithmetic)

Functional : Haskell

I'd have said any functional language (one of the MLs etc), but Haskell
seems to be the newest functional language so it's probably the most
relevant to the current state of programming (not sure I'd liek to build
a dynamic site with it!)

Pros:
learn recursion properly
it's pure functional, no side effects
interactive environment makes it super-easy/quick to test/try things out
it's free (GHC)!
good tutorials available
head
tail
map

Cons:
Monads are a little wierd
unlikely to be a big thing commercially, so a little less relevant than
pretty much any other language

The languages I wouldn't touch with a 10 foot barge pole...

Anything .Net
- Nice environment, but material teaches bad practice, very few .Net
developers know anything about unit testing, scripting builds (or using
build tools) (that I've met)

Python
- Can't stand the "whitespace is a part of the program" feature, apart
from that I'd say it'd be a good choice for beginners, me I don't like it

Javascript
- Has nice features, but it's not the easiest language to try out
without resorting to running things in a browser (or even worse, Windows
Scripting Host [shudder])

C++
- "Make an octopus by nailing legs on a dog" - say no more

Lisp
- as cool as it is, I'd hate to have to teach someone else...

Java
- It's really not as easy to learn as it once was, library bloat,
inconsistant APIs, 1000s of tutorials that assume knowledge in framework
x, y or z (Have you tried to run any tutorial for Java Web development
in the past year that doesn't assume that you'll use
Hibernate+Spring+A.N.Other framework?)
- Static compilation bites for learning / No interactive environment to
learn with
- Over-reliance on tools (similar to .Net)

<rant>
Just 2 years ago, I'd have said that Java would be quite a decent
language to get started with, but with Java5 and all the many new ways
you can shoot yourself in the foot (JSF - where did that come from?),
I'd definately stay away. It's now come to the point where I'm (Java
Technical Architect/Lead Technical guy here) actively trying to move
projects at work away from Java (mainly towards Ruby where appropriate),
simply as the developers seem to get blinded by all the "cool" eclipse
plug-ins, and they can't work without Hibernator, TomcatRunner,
DBVisualizer etc etc. What happend to Ant + JUnit + Vi?

Sun's push for specs that are only feasible with a critical mass of tool
support, along with new Java developers and their "Tool Lust" (ooer
missus) and .Net envy will be the death of Java.
</rant>

Yeah and I suppose Ruby's a good learners language, but I'd start with C
+ Haskell first to get the basics before moving onto Ruby for development.

Kev
 
R

Robbie Carlton

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

I agree that interactive is the way to go.

I'm not sure that teaching someone both a procedural language and a
functional language is a good idea, it seems like they will just end up
confused. My vote would be for a functional language as they tend to be les=
s
frustrating in terms of bugs.

I would steer well clear of basic.

I'm not quite sure why you would not mind teaching someone Haskell but woul=
d
have problems with Lisp. I think Lisp is fine for a begginer, and it is onl=
y
people who already have experience with a language with lower bracket count
that have troubles. The uniformity of lisp means there isn't much syntax to
learn.
Also, javascript is a very nice language IMHO (obviously not functional) an=
d
has been unfortunately tarred with the bad dom bugs brush. Maybe using it t=
o
script an application, like photoshop.

If I was teaching someone to code now, I would start with something
interactive.

I'd suggest a procedural style language and a functional style of
language.

My recomendations YMMV...

Procedural : C

If you don't know at least basic C, then you generally have a very flaky
idea of what's going on with the computer. C is a pain in the ass, with
compilation and link problems, the associated (crap) makefiles, memory
management etc etc, but IMHO if you want to be a decent programmer, you
have to know enough C to be able to appreciate differences in other
languages

Pros:
required for a lot of open source (understanding, compiling etc)
learn enough to fix makefiles etc
solid procedural style
memory management the hard way makes you appreciate GC
pointers

Cons:
compiled
makefiles (yuck!)
not interactive
pointers (+ pointer arithmetic)

Functional : Haskell

I'd have said any functional language (one of the MLs etc), but Haskell
seems to be the newest functional language so it's probably the most
relevant to the current state of programming (not sure I'd liek to build
a dynamic site with it!)

Pros:
learn recursion properly
it's pure functional, no side effects
interactive environment makes it super-easy/quick to test/try things out
it's free (GHC)!
good tutorials available
head
tail
map

Cons:
Monads are a little wierd
unlikely to be a big thing commercially, so a little less relevant than
pretty much any other language

The languages I wouldn't touch with a 10 foot barge pole...

Anything .Net
- Nice environment, but material teaches bad practice, very few .Net
developers know anything about unit testing, scripting builds (or using
build tools) (that I've met)

Python
- Can't stand the "whitespace is a part of the program" feature, apart
from that I'd say it'd be a good choice for beginners, me I don't like it

Javascript
- Has nice features, but it's not the easiest language to try out
without resorting to running things in a browser (or even worse, Windows
Scripting Host [shudder])

C++
- "Make an octopus by nailing legs on a dog" - say no more

Lisp
- as cool as it is, I'd hate to have to teach someone else...

Java
- It's really not as easy to learn as it once was, library bloat,
inconsistant APIs, 1000s of tutorials that assume knowledge in framework
x, y or z (Have you tried to run any tutorial for Java Web development
in the past year that doesn't assume that you'll use
Hibernate+Spring+A.N.Other framework?)
- Static compilation bites for learning / No interactive environment to
learn with
- Over-reliance on tools (similar to .Net)

<rant>
Just 2 years ago, I'd have said that Java would be quite a decent
language to get started with, but with Java5 and all the many new ways
you can shoot yourself in the foot (JSF - where did that come from?),
I'd definately stay away. It's now come to the point where I'm (Java
Technical Architect/Lead Technical guy here) actively trying to move
projects at work away from Java (mainly towards Ruby where appropriate),
simply as the developers seem to get blinded by all the "cool" eclipse
plug-ins, and they can't work without Hibernator, TomcatRunner,
DBVisualizer etc etc. What happend to Ant + JUnit + Vi?

Sun's push for specs that are only feasible with a critical mass of tool
support, along with new Java developers and their "Tool Lust" (ooer
missus) and .Net envy will be the death of Java.
</rant>

Yeah and I suppose Ruby's a good learners language, but I'd start with C
+ Haskell first to get the basics before moving onto Ruby for development=
 
D

dave.burt

my 50 year old mother wants to learn to code.

Great!

I believe Ruby is a good first language.

I'd certainly recommend it above C. A functional programming language
(Haskell) would perhaps be understood by someone well-versed in
mathematics better than you or I. Maybe Python or Java otherwise, but
here you are on ruby-talk, and if you're a Rubyist, Ruby is better for
your mum.

If Java is better, it is because it is designed to be idiot-proof.
That's also why it's not as good.

irb is the #1 equipment for learning Ruby.

Chris Pine's tutorial is excellent, and he's looking for reviewers like
your mother for the book based upon it (see an earlier thread on this
list). I recommend this as the best way in - it even encourages you to
play with your new Ruby skills in irb.

Why's (Poignant) Guide to Ruby is fun, but takes a certain sense of
humour and a bunch of time.

Then there's the Pickaxe, which you've probably seen. It's too heavy
for a non-programmer, but a good reference once you're underway.

Now you just need a small project or two that she can work towards. I
like to implement Blackjack in a new language I learn, but that's just
me.

Cheers,
Dave
 
J

junk5

She has no computer experience, but she is surrounded with programmers
(three sons and a husband) and she wants to be able to understand what
we are talking about. [Snip]
My little brother is busy teaching her Java but I feel Ruby is the
better (friendlier, more productive) language.

I don't think the main issue here is language advocacy. I think it's
that "too many cooks will spoil the broth". If your mother is getting
conflicting advice from two (or possibly four) people, she's going to
get confused. I would, wouldn't you?

It's possible to learn to program in either Java or Ruby --- they both
seem reasonable starter (and enterprise-ready) languages to me. There
are more languages that have C-like syntax (C, C++, Java, C# etc.),
while Ruby's syntax (which is nicer than C-like syntaxes IMHO) is less
transferable. So if she wants to find employment, understanding C-like
syntax will be useful.

My advice would be to sit back and let your mother learn Java from just
your brother. If she 'gets' programming in Java, she'll be able to get
Ruby. If she doesn't get programming in Java, you might say to her "can
I show you a different approach" and she might understand what all this
programming stuff is about. But some people just don't seem to have
that ability to abstract problems into code, in which case language
choice won't matter.

If she does get Java, once she's had a bit of experience ask if she'd
like to see Ruby. If you can show her m lines of Ruby that does the
same as n lines of Java, where m << n, for a range of common tasks, I
bet she'll be a convert.

But don't bombard her with a language war. It'll just put her off.
 
J

Josh Charles

I taught myself everything, and I started with QBasic. I know, but it
was a good place to start, and it made me really appreciate the finer
languages once I figured out how to move on to them. So am I
recommending that she start with Qbasic? Not really. But an
intrepreted language where she can see quick results is probably a
good idea. Python is the first that leaps to mind, but I've not
worked with it extensively. Ruby is really expressive, but I don't
know if I would have been able to pick it up if I didn't understand
some programming basics first.

Perhaps some simple shell scripting? That's a handy skill to have anyway.

For some reason, the more I think about this, the more I lean back to
some form of basic as a starting point. Before I start getting
flamed, hear me out. The entire point of the language was to make it
easy for the lay person to write something that works. Once a basic
understanding of things like variables, functions, and basic
algorithms are learned, it's easy to translate that into other
languages and more advanced work.

Anyways, that's my 2 cents that will probably get flamed to hell, but
to hell with it.

She has no computer experience, but she is surrounded with programmers
(three sons and a husband) and she wants to be able to understand what
we are talking about. [Snip]
My little brother is busy teaching her Java but I feel Ruby is the
better (friendlier, more productive) language.

I don't think the main issue here is language advocacy. I think it's
that "too many cooks will spoil the broth". If your mother is getting
conflicting advice from two (or possibly four) people, she's going to
get confused. I would, wouldn't you?

It's possible to learn to program in either Java or Ruby --- they both
seem reasonable starter (and enterprise-ready) languages to me. There
are more languages that have C-like syntax (C, C++, Java, C# etc.),
while Ruby's syntax (which is nicer than C-like syntaxes IMHO) is less
transferable. So if she wants to find employment, understanding C-like
syntax will be useful.

My advice would be to sit back and let your mother learn Java from just
your brother. If she 'gets' programming in Java, she'll be able to get
Ruby. If she doesn't get programming in Java, you might say to her "can
I show you a different approach" and she might understand what all this
programming stuff is about. But some people just don't seem to have
that ability to abstract problems into code, in which case language
choice won't matter.

If she does get Java, once she's had a bit of experience ask if she'd
like to see Ruby. If you can show her m lines of Ruby that does the
same as n lines of Java, where m << n, for a range of common tasks, I
bet she'll be a convert.

But don't bombard her with a language war. It'll just put her off.
 
F

Florian Frank

It's possible to learn to program in either Java or Ruby --- they both
seem reasonable starter (and enterprise-ready) languages to me. There
are more languages that have C-like syntax (C, C++, Java, C# etc.),
while Ruby's syntax (which is nicer than C-like syntaxes IMHO) is less
transferable. So if she wants to find employment, understanding C-like
syntax will be useful.

My advice would be to sit back and let your mother learn Java from just
your brother. If she 'gets' programming in Java, she'll be able to get
Ruby. If she doesn't get programming in Java, you might say to her "can
I show you a different approach" and she might understand what all this
programming stuff is about. But some people just don't seem to have
that ability to abstract problems into code, in which case language
choice won't matter.

You think language choice doesn't matter, if someone wants to learn a
programming language? I am not sure, if Ruby is the best language to
learn programming, but I am quite sure, that Java isn't.

If you start to learn programming, it's important to go step by step
from easy concepts to more complicated concepts. In Ruby this can be
done like this:

puts "Hello, world"
^-- command ^--- string

Easy: "puts" is a command that puts a string out on your console.

Only later you tell your student about classes, methods and the whole
OOP-Zoo.

Now look at Java:

public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world\n");
}
}

You have to explain a dozen foreign, arcane and (at least to the
beginner) useless concepts, only to output a string on the console.

Next step in Ruby:

name = gets
puts "Hello, " + name

"gets" gets a string input line from your console, which is assigned to
the variable name. Then the string "Hello, " is appended to the string
referenced by name with the "+" operator, and the resulting string is
put out on the console with the old "puts" command.

Now compare this to Java:

import java.io.*;

public class Hello2 {
public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(isr);
String name = null;
try {
if ((name = reader.readLine()) != null) {
System.out.println("Hello, " + name + "\n");
}
} catch (IOException e) {
System.err.println("Caught: " + e);
}
}
}

Concept explosion: it's difficult to understand, what's going on even
for a seasoned programmer, who is not familiar with Java's bloated
library packages. Good luck explaining this mess to your mother, you
really need it.

And if she happens to be also a mathematican, you should hope, that she
never finds out, that you can use the "+" operator to append arbitrary
objects to a left hand sided string, but you can never use it to add
matrices or complex numbers to each other.
 
B

blackwater dev

Well my mother (50+) has been wanting to learn php so I'll throw that
into the loop as it is EASY to get something up and running but also
has more advanced oo features for down the road.

It's possible to learn to program in either Java or Ruby --- they both
seem reasonable starter (and enterprise-ready) languages to me. There
are more languages that have C-like syntax (C, C++, Java, C# etc.),
while Ruby's syntax (which is nicer than C-like syntaxes IMHO) is less
transferable. So if she wants to find employment, understanding C-like
syntax will be useful.

My advice would be to sit back and let your mother learn Java from just
your brother. If she 'gets' programming in Java, she'll be able to get
Ruby. If she doesn't get programming in Java, you might say to her "can
I show you a different approach" and she might understand what all this
programming stuff is about. But some people just don't seem to have
that ability to abstract problems into code, in which case language
choice won't matter.

You think language choice doesn't matter, if someone wants to learn a
programming language? I am not sure, if Ruby is the best language to
learn programming, but I am quite sure, that Java isn't.

If you start to learn programming, it's important to go step by step
from easy concepts to more complicated concepts. In Ruby this can be
done like this:

puts "Hello, world"
^-- command ^--- string

Easy: "puts" is a command that puts a string out on your console.

Only later you tell your student about classes, methods and the whole
OOP-Zoo.

Now look at Java:

public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world\n");
}
}

You have to explain a dozen foreign, arcane and (at least to the
beginner) useless concepts, only to output a string on the console.

Next step in Ruby:

name =3D gets
puts "Hello, " + name

"gets" gets a string input line from your console, which is assigned to
the variable name. Then the string "Hello, " is appended to the string
referenced by name with the "+" operator, and the resulting string is
put out on the console with the old "puts" command.

Now compare this to Java:

import java.io.*;

public class Hello2 {
public static void main(String[] args) {
InputStreamReader isr =3D new InputStreamReader(System.in);
BufferedReader reader =3D new BufferedReader(isr);
String name =3D null;
try {
if ((name =3D reader.readLine()) !=3D null) {
System.out.println("Hello, " + name + "\n");
}
} catch (IOException e) {
System.err.println("Caught: " + e);
}
}
}

Concept explosion: it's difficult to understand, what's going on even
for a seasoned programmer, who is not familiar with Java's bloated
library packages. Good luck explaining this mess to your mother, you
really need it.

And if she happens to be also a mathematican, you should hope, that she
never finds out, that you can use the "+" operator to append arbitrary
objects to a left hand sided string, but you can never use it to add
matrices or complex numbers to each other.
 
J

Jeffrey Moss

So true. Motivation has always been the key in my experience. As a kid I
always wanted to create video games, that got me started. Show her how to
program a graphing calculator. Get an old HP calc and data cable on ebay or
something, a book on how to program it, and give it to her as a gift. I
always liked the HP calculators better, I heard they stopped making them
though. She doesn't have to do web programming to understand what you're
talking about, she could focus on teaching kids to program their
calculators, she may appreciate that more, her students certainly would. I
remember playing space invaders every day in high school math.
If she is really serious about learning it also must be
enjoyed (I've never know a good coder that didn't enjoy the work).
 
C

Chris Pine

I am not sure, if Ruby is the best language to
learn programming, but I am quite sure, that Java isn't.

Absolutely! And great examples. I'm amazed that people would suggest
Java as a first language. How many people could write that Java
program without looking up a single thing? I certainly couldn't
(though I don't write much Java anymore, so maybe that's just me).

Someone learning to program has a vast number of concepts to tackle.=20
The easiest way to do this is one-at-a-time. How many concepts are
being introduced in those Java programs?

Plus, in order for learning to be effective (or at least much more
effective), it should be fun. In this case, that means there should
be a short time until the programmer can actually do something useful.
If you went to learn Norwegian, for example, and the first thing you
were told was the genders of 1000 Norwegian nouns... (not what they
words mean in english, just the genders). Yeah, it's important, but
not in that order! Contrast this with a class where you learn how to
greet people, how to ask someone to speak more slowly, how to swear at
your cab driver, how to ask what things mean, how to pick up hot
Scandinavian (wo)men... The fun class is the one where learning will
take place.

And what language is more fun than Ruby?? :)

It's easy to use, it's fun, and it's a language you could continue to
use professionally (especially in web-dev stuff). I don't see any
other language offering all that, and thus no other language better to
start with. (Though I am obviously totally biased, so take all of
this with a grain of salt!)

My NOK 0.02,

Chris
 
S

Stephen Waits

Chris said:
other language offering all that, and thus no other language better to
start with. (Though I am obviously totally biased, so take all of
this with a grain of salt!)

Grain of salt indeed.. How about BASIC and/or Pascal?

--Steve
 
S

Scott Ellsworth

Chris Pine said:
Absolutely! And great examples. I'm amazed that people would suggest
Java as a first language. How many people could write that Java
program without looking up a single thing? I certainly couldn't
(though I don't write much Java anymore, so maybe that's just me).

A learning IDE, like BlueJ, will insulate a student from most of the
Java cruft. IDEs like IDEA or Eclipse make generating the boiler plate
a single button press.

It really depends on what the student wants to do, and how they want to
get there. If you are going to teach someone, try to figure that out,
and try not to color it with your own preconceived notions. I am always
amazed at Linux folk who try to teach newbies how to program with
vi/emacs and make, not even considering that different people have
different learning styles and different needs.

(I have heard of the opposite too, where a make dude cannot stand IDEs,
and is forced into a big design tool like weblogic. That usually does
not last that long, because most make-comfy folk will quit a job like
that.)

Frankly, you could do worse that Java for a first language. It teaches
strong typing, packaging, OO, and a bunch of other concepts, and has
libraries to do darn near anything.

You could also do worse than Ruby. Again, it depends on what the person
learning eventually wants to do.

Scott
 
J

John Knight

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

Check out Squeak Learn Programming with Robots
by Stephane Ducasse

The book was written for the author's wife, a high school teacher.
Using a working interactive environment, Squeak, the book teachs
smalltalk by controlling robots.

http://www.squeak.org
http://smallwiki.unibe.ch
http://www.apress.com

------=_Part_9809_21958207.1129178734436--
 
I

Isaac Gouy

Robbie said:
I'm not sure that teaching someone both a procedural language and a
functional language is a good idea, it seems like they will just end up
confused.
-snip-

"At Oxford, we use Oberon as the second language we teach to our
undergraduate students (the first one is Haskell). We chose it because
of its cleanliness and simplicity, and because of the availability of
books that emphasize clear reasoning about programs."

http://spivey.oriel.ox.ac.uk/mike/obc/
 
C

Chris Pine

Grain of salt indeed.. How about BASIC and/or Pascal?

Well, if you look at the sentence *before* the one you quoted, I think
you see better where I am coming from:

It's easy to use, it's fun, and it's a language you could
continue to use professionally (especially in web-dev
stuff). I don't see any other language offering all that...

I don't see Pascal as "offering all that" (what percentage of
programmers use Pascal on the job?), nor BASIC. (Unless you meant
Visual Basic or VB.NET or something... but I thought those were fairly
different languages? Admittedly, I don't know much about the BASIC
world, but outside of Microsoft's versions, I didn't think too many
people were building professional products out of it.)

So I still stand by what I wrote (but I'm also still totally biased...)

Take it for what it's worth,

Chris
 
S

Stephen Waits

I don't see Pascal as "offering all that" (what percentage of
programmers use Pascal on the job?), nor BASIC. (Unless you meant
Visual Basic or VB.NET or something... but I thought those were fairly
different languages? Admittedly, I don't know much about the BASIC
world, but outside of Microsoft's versions, I didn't think too many
people were building professional products out of it.)

Oh, of course.. neither language offers much of the way in modern
features, though Object Pascal is quite good.

Neither are used "on the job".

But, both are fantastic for teaching programming. Once you
understand the basic concepts, specifically with Pascal, swapping
syntax (to something like C, or C++) is really easy.

--Steve
 

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,780
Messages
2,569,611
Members
45,281
Latest member
Pedroaciny

Latest Threads

Top