
A Scheme Story (1992) - jonathansizz
http://www.trollope.org/scheme.html
======
tikhonj
My first CS class in college was in Scheme. I had essentially the same
experience as t Scheme made it far easier to learn than any other languages I
had used then (like Java and Python). We learned everything we needed to know
about the language itself in a single week--three lectures--and then spent the
rest of the semester learning brilliant concepts.

This course has recently been replaced with a parody: the same text (SICP) but
in Python. Of course, since Python lacks Scheme's simplicity and elegance, far
more time is spent on the language itself rather than on important concepts.

Also, a bunch of things that are not too magical in Scheme, like mutation and
object-oriented programming, are naked right into Python. One of my most
important realizations from this class was that things like mutation and OOP
are not just posts of the language and are not omnipresent. Coming from Jeans,
this was quite the insight!

Another important thing I picked up from the course was an appreciation for
functional programming. Python's design and philosophy are rather hostile to
any nontrivial functional programming--it's not Pythonic!--which is very
unfortunate for the new students' development.

In short, I think Scheme is a great introductory language and I am very sad to
see it replaced with Python.

~~~
tikhonj
Wow, autocorrect (well, Swype, anyhow) really made a mess of my post :P. I
only realized this reading it now, after the edit window has passed. I guess
that's what I get for writing a post from my phone and not proof-reading it.

So if any phrase doesn't make sense (like "Coming from Jeans..."), it's
probably due to Swype. In this case, I had meant to write "Coming from
Java...". There are a bunch of odd words like this in the post.

~~~
S4M
As a non native English speaker, I simply thought that "coming from Jeans" was
an expression I didn't know and was about to look for it.

~~~
tikhonj
Oh, I imagine that makes the post difficult to read. Or maybe it just makes me
look crazy :/.

A couple of other ones: "naked right into Python" is actually "baked right
into Python" and "not just posts of the language" should have been "not just
parts of the language".

The natural problem with Swype is that essentially all of your typos come out
as perfectly spelled words. You always get a correct word from the dictionary,
it just might not be the word you wanted. I really love using it, but I have
to remind myself to double check anything I write with it.

~~~
cmkrnl
I assumed `Jeans' was some obscure language or framework. If `Shoes' and
`Rails', why not Jeans?

~~~
lifeisstillgood
I thought Jeans was some American college with a poor reputation

    
    
      Coming from Jeans, where the Dean still uses a Sinclair ZX80...
    

But now, my next web framework (I am sure there will be one) is named Jeans.

------
mjn
The diagnosis of CS education seems correct, at least. My high-school AP CS
course, in C++, seemed primarily dedicated to teaching and then testing an
arbitrary grab-bag of C++ syntax and STL features. There is no way that class
would have gotten me interested in programming if I weren't already. What did
get me into programming was writing scripts in mIRC's idiosyncratic custom
scripting language, on my own time.

But I think it's more than the language choice that's the problem. You can
make a course into arbitrary memorization in just about any language, though
some languages may make it particularly easy. In one nice turn of phrase,
Seymour Papert quoted a student contrasting two uses of Logo: "In the summer,
we learned to program. At school, they are teaching us to write a program."
[1]

[1] <http://www.kmjn.org/snippets/papert85_logovisions.html>

------
da02
Where did you find this article? Thanks for posting it.

~~~
SkyMarshal
<http://paulgraham.com/avg.html>

See footnotes/citations.

