From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 1C658BC69 for ; Thu, 25 Oct 2007 00:52:57 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAALtoH0fAXQInh2dsb2JhbACOWwIBCAop X-IronPort-AV: E=Sophos;i="4.21,326,1188770400"; d="scan'208";a="3571835" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 25 Oct 2007 00:52:56 +0200 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l9OMqulO012248 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Thu, 25 Oct 2007 00:52:56 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAALtoH0fRVaK1kmdsb2JhbACOWwIBAQcEBBMW X-IronPort-AV: E=Sophos;i="4.21,326,1188770400"; d="scan'208";a="5069110" Received: from el-out-1112.google.com ([209.85.162.181]) by mail3-smtp-sop.national.inria.fr with ESMTP; 25 Oct 2007 00:52:55 +0200 Received: by el-out-1112.google.com with SMTP id m34so152909ele for ; Wed, 24 Oct 2007 15:52:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=dRQLBKKf3TkCebCossxNkWQ379k8XPsulUB0WIIugUk=; b=gS+bztNr0PucNBApA14apcFMTlehIwt80uzUhcvQwx0Wfr3sbHdfFyGxSfhl9r+GEce80iwdIrwRsxCWoc4V0vpnTgT0CMs9A4VnaAVu7pEeru92JcVpyHW4AYF53PsCuXnj3narpCyyQTtNaKlVzmCRwQglflOUPQ/acwSZEpc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=jOiFDNNEZ8NBrApM3sj3GpjkSQZPPjeH/vLhENT0bxkChvhrqY7owtgXPJq21bpIHU01VJr2kNRwzW5f/CskUFqT7ttsXhDC3LXgiWMb7ZMcu7SIsVlFQyvbf3/WU2E2YMJ7wjT+HjY/47OoMSmW0TBiLwxvP2dK+vXPSLxGQME= Received: by 10.142.237.20 with SMTP id k20mr364124wfh.1193266374240; Wed, 24 Oct 2007 15:52:54 -0700 (PDT) Received: by 10.143.7.13 with HTTP; Wed, 24 Oct 2007 15:52:54 -0700 (PDT) Message-ID: Date: Wed, 24 Oct 2007 15:52:54 -0700 From: "Nathaniel Gray" To: "David Teller" Subject: Re: [Caml-list] Which syntax to teach ? Cc: OCaml In-Reply-To: <1193225773.3612.27.camel@Blefuscu> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1193225773.3612.27.camel@Blefuscu> X-Miltered: at concorde with ID 471FCCC8.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; syntax:01 univ-orleans:01 ocaml:01 syntax:01 command-line:01 ocamlc:01 emacs:01 emacs:01 ocaml:01 nedit:01 cheers:01 beginners:01 wrote:01 partial:01 clearer:01 On 10/24/07, David Teller 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 -->