caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Nathaniel Gray" <n8gray@gmail.com>
To: "David Teller" <David.Teller@univ-orleans.fr>
Cc: OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Which syntax to teach ?
Date: Wed, 24 Oct 2007 15:52:54 -0700	[thread overview]
Message-ID: <aee06c9e0710241552i6f6abd69y6f1e0634c4fdda2b@mail.gmail.com> (raw)
In-Reply-To: <1193225773.3612.27.camel@Blefuscu>

On 10/24/07, David Teller <David.Teller@univ-orleans.fr> wrote:
>    Hello list,
>
>  In a few months, I'll start teaching OCaml for the second consecutive
> year. I'll solve a number of my problems by installing Linux on the
> workstations, although I'm pretty sure that will cause no end of
> complaints from the students when they need to continue their work at
> home.
>
>  Right now, however, that's not the issue. I'm just wondering if I
> should prepare my lectures and exercises using the Original syntax or
> the Revised syntax. The latest looks clearer and possibly easier to
> teach but requires additional command-line arguments to ocamlc and I'm
> not sure I'll be able to find an editor that will display that syntax
> nicely.
>
>  Any suggestions or experiences ?

As somebody who's TA'ed OCaml-based classes and read a lot of student
code I can make this recommendation: Do NOT encourage your students to
use Emacs unless you enjoy reading unindented code.  This is not a
judgment on the quality of Emacs as a tool for experts, but in the
hands of beginners (apart from highly-motivated ones) it is a source
of frustration and confusion.  They can't get auto-indenting to work.
They can't get syntax highlighting to work.  They can't get the
home/end keys to work.  They can't figure out how to cut and paste.
And thus, they produce truly horrendous code and hate the experience.
The same argument applies to vi.  These tools just do not make any
sense to people raised on modern user interfaces.

There are plenty of modern editors that can handle OCaml syntax
highlighting with no problem.  I use NEdit (you can get my
highlighting mode at n8gray.org), my colleague uses JEdit, there's
Kate, SciTE, and somebody mentioned Eclipse with OCalDE, which may
also be nice for those wanting an IDE.

I know it seems silly to devote so much energy to debating editors,
but I believe it's really important that students have a comfortable
and familiar environment in which to learn.  It's hard enough to learn
functional programming without also having to battle your text editor
every step of the way.

As for original vs. revised syntax, I'm partial to the original
syntax, but only because that's how I learned.  The error messages it
produces are problematic, however.  I do like the "reloaded" syntax
included with 3.10 that is basically original syntax with "end" after
various constructs.

Cheers,
-n8

-- 
>>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu -->


  parent reply	other threads:[~2007-10-24 22:52 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-24 11:36 David Teller
2007-10-24 13:18 ` [Caml-list] " Loup Vaillant
2007-10-24 13:24 ` Peng Zang
2007-10-24 13:54   ` Julien Moutinho
2007-10-24 17:23 ` Andrej Bauer
2007-10-24 19:05   ` Adrien
2007-10-25  5:14     ` Aleks Bromfield
2007-10-30 16:26     ` Chung-chieh Shan
2007-10-30 16:38       ` [Caml-list] " Brian Hurt
2007-10-30 16:59         ` Chung-chieh Shan
2007-10-30 17:08         ` [Caml-list] " Edgar Friendly
2007-10-30 17:56           ` skaller
2007-10-30 19:02             ` Vincent Aravantinos
2007-10-30 18:50           ` William D. Neumann
2007-10-30 21:45           ` Eliot Handelman
2007-10-30 18:56       ` Daniel Bünzli
2007-10-25  9:43   ` [Caml-list] " Richard Jones
2007-10-24 22:52 ` Nathaniel Gray [this message]
2007-10-24 23:10   ` Jon Harrop
2007-10-25  1:48     ` skaller
2007-10-25  2:02       ` Jon Harrop
2007-10-25  9:49       ` Richard Jones
2007-10-25 11:32         ` Stefano Zacchiroli
2007-10-25 11:52           ` Daniel Bünzli
2007-10-25 12:39           ` Richard Jones
2007-10-25 12:59         ` Michael Ekstrand
2007-10-25 13:39           ` Loup Vaillant
2007-10-25 20:32             ` Andrej Bauer
2007-10-25 22:11               ` Loup Vaillant
2007-10-25 15:14           ` Richard Jones
2007-10-25 18:47             ` Re : " Adrien
2007-11-02 16:08       ` Nathaniel Gray
2007-10-26 11:11     ` David Teller
2007-10-24 23:02 ` Jon Harrop
2007-10-26 11:09   ` David Teller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aee06c9e0710241552i6f6abd69y6f1e0634c4fdda2b@mail.gmail.com \
    --to=n8gray@gmail.com \
    --cc=David.Teller@univ-orleans.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).