D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] Simple programming language

 

Seriously, for teaching kids text-mode programming, whatever language you choose, at least make sure you get this much lispiness:

1. A read-eval-print loop (REPL). Essential for interactive, exploratory, experimental "live" programming. This is standard with most interpreted languages; even a shell is a kind of REPL. (Not a very good one.)

2. Dynamic type system.

3. Strong type system. A lot of people think that you can't have both; they're wrong.

4. Garbage collection. Again pretty much standard now.

5. Integrated debugger with restarts.

6. Tracing.

Would-be-nice: OOP, namespaces, package system, exceptions.

BTW, you know that they're already doing Smalltalk when they change things in Scratch? Mainly just inserting constants into already-written ST code templates. Smalltalk meets all the above requirements very nearly as well as lisp, though it seems wrong not to use the Smalltalk (GUI) class browser if you're going to do even text-mode Smalltalk.

Python fits the bill, and so does Ruby (I think). Not sure about Groovy's type system.



On 17 November 2013 11:21, Philip Hudson <phil.hudson@xxxxxxxxx> wrote:
Get it right first time. Over time, all languages slowly and inefficiently move towards the omnicompetence of lisp. At first they think they're clever for not doing lispy things, then they realize. (See Python, Java, C++, Ruby especially).

I assume you have Cygwin installed on these Windoze boxen; after all, if not, what's the point?

Install either clisp (interpreted only) or sbcl (interpreted, compiled or "incrementally compiled", which gives you the best of both) or both. sbcl may have a one-time initial build dependency on clisp, I can't remember. With sbcl in particular, it's  amazing to think of all the power in the universe in the palm of kids' hands. These are both Common Lisp, the full-feature do-it-all lisp.

Or research the state of scheme, which after all is lisp designed for teaching; I'm not au courant. The GNU variant is called guile.

I see there are numerous replies already, though I haven't read them yet. Beware! Any answer that is not "lisp" is Just Wrong. You are not doing the kids a favor by introducing them to lousy languages. They'll get enough of those in industry...



On 16 November 2013 19:33, stinga <stinga+dcglug@xxxxxxxxxxxxx> wrote:
G'day all,

I am in the local school teaching programming and I want a non gui programming language.
Old style like BASIC.

I want to teach programming without having to teach a load GUI to get a simple program going.
BASIC seemed like a good idea.
Got to run on Windows , that's what they have.
We have used scratch so far, brilliant but they love putting in loads of sounds and stuff that really don't help the learning process.

Interpreted would be good but if we have to compile then I don't mind.

Any suggestions?

--
'ooroo

Stinga...(:)-)
---------------------------------------------------
Email: stinga+dclug@xxxxxxxxxxxxx   o
You need only two tools.        o /////
A hammer and duct tape. If it    /@   `\  /) ~
doesn't move and it should use  >  (O)  X<  ~  Fish!!
the hammer. If it moves and      `\___/'  \) ~
shouldn't, use the tape.           \\\
---------------------------------------------------


--
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/listfaq



--
Phil Hudson                  http://hudson-it.no-ip.biz
@UWascalWabbit                 PGP/GnuPG ID: 0x887DCA63



--
Phil Hudson                  http://hudson-it.no-ip.biz
@UWascalWabbit                 PGP/GnuPG ID: 0x887DCA63
-- 
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/listfaq