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=2.2 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_SECURITYSAGE,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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 376B6BBAF for ; Mon, 20 Oct 2008 22:32:43 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtIBANyH/EhDWxLCbmdsb2JhbACBcpF9PqkthTFfg2w X-IronPort-AV: E=Sophos;i="4.33,454,1220220000"; d="scan'208";a="30552910" Received: from ip67-91-18-194.z18-91-67.customer.algx.net (HELO server1.bertec.net) ([67.91.18.194]) by mail4-smtp-sop.national.inria.fr with ESMTP; 20 Oct 2008 22:32:42 +0200 Received: from kuba.bertec.net (kuba.bertec.net [192.168.2.16]) by server1.bertec.net (Postfix) with ESMTP id DD404105761 for ; Mon, 20 Oct 2008 16:32:41 -0400 (EDT) From: Kuba Ober To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] What does Jane Street use/want for an IDE? What about you? Date: Mon, 20 Oct 2008 16:32:39 -0400 User-Agent: KMail/1.9.10 References: <200810200919.41561.ober.14@osu.edu> <48FCA79E.7090607@flux.utah.edu> <20081020201522.GA13893@annexia.org> In-Reply-To: <20081020201522.GA13893@annexia.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200810201632.41038.ober.14@osu.edu> X-Spam: no; 0.00; emacs:01 ocaml:01 fwiw:01 c-like:01 c-like:01 ocaml:01 haskell:01 cheers:01 mile:98 imho:01 imho:01 wrote:01 abstract:01 matlab:01 caml-list:01 > It'd be interesting to hear[1] what exact features of elisp are > counterproductive for large-scale collaborative programming. > > I've not looked very closely at elisp, but assumed the reason that > emacs remains "unconfigurable" for most users is because it's Lisp, > not because of the particular dialect of Lisp. Most programmers look > at Lisp and run a mile, and I don't think an OCaml editor will fare > much better if that is the case. > > FWIW microemacs[2] used a C-like language for configuration and > extension, and this language was almost laughably incapable of doing > the most basic things. You'd think that a language designed for an > editor would, you know, be able to handle at least strings properly, > but the microemacs programming language couldn't even do that. > Nevertheless at the electronics laboratory where I started out, > electrical engineers (totally unused/untrained as programmers) wrote > huge macros and extensions in this horrible language. I can understand that: Lisp does require wrapping your head around it. Even its library deals with things and concepts that other languages simply don't offer. Functions that do symbol interning/generation or say destructuring-bind will elicit blank stares from most engineering folk -- folk that otherwise may have no problem generating your everyday C or Matlab code without even blinking. Lisp deals with programming at a much more abstract level, IMHO -- you can of course write C-like code in Lisp, but it just feels unnatural to do so, and rightly so. While it may sound weird, your regular programming experience applies only halfway to Lisp. The other, important half, you have to acquire with use of the language. Switching from C or C++ to say Python is easy, going to OCaml requires perhaps a book but is quite manageable too, even Haskell IMHO is easier than Lisp! To learn Lisp the right way you need basically two and a half books (two by Graham, and a half of "Practical Common Lisp"), and some midnight oil ;) That's been the case with me. Cheers, Kuba