lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Thu, Apr 27, 2017 at 8:27 PM, Coda Highland <> wrote:
> since then and I see no reason to teach the structured programming
> paradigm the way it was originally designed. Better to focus on modern
> best practices.

Of course. Pascal was important for its time (Fortran was Basic
scramble at a huge scale) but things have moved on. When classic OOP
was introduced, it made sense because it was a better way to structure
large programs. The people who adopted it had learned structured
programming and knew its strengths and weaknesses. A person learning
Java these days has no such background, and so has no feeling for
important things like refactoring methods. OO Design tended to
over-emphasize the nouns, and neglected the verbs. So a little sense
of history may be an important part of programming education.

> I need to learn Rust one of these days. Go... does not impress me, and
> I'm a Xoogler. I just don't get it.

Rust is very ... educational, in a good sense of the word. It's a
useful corrective for people who have been swimming in a sea of
mutable references all their lives, and are tired of shark bites.
Ultimately less complex than C++, but it's sufficiently different to
be hard for both new comers and experienced pros.

> Absolutely! That's why I said Scheme is a great second language --
> introduce it after the students have gotten past the "this is how to
> make the computer do what you want it to do" stage, bring in some new
> fundamentals, really broaden horizons.

Computer science departments used to do this, alas. My old friend who
used to work in the CS department where I grew up, said that it
leveled the field and got people thinking.

But our dear Lua is in fact descended from Scheme as much as she is an
Algol derivative, so I think we can make that 'second language' case
for her as well.

Double alas, people focus too much on vocational training rather than
foundational education. Students want something 'useful' on their
resume, and haven't had enough exposure to know that it's more
important to know how to learn a programming language, than to learn a
specific one.  They want their takeaway fish, and aren't interested in
a fishing rod.