Google Groups Home
Help | Sign in
Message from discussion making ocaml mainstream
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Henry Bigelow  
View profile
 More options Aug 20 2006, 6:01 pm
Newsgroups: fa.caml
From: "Henry Bigelow" <hrbige...@gmail.com>
Date: 20 Aug 2006 15:01:36 -0700
Local: Sun, Aug 20 2006 6:01 pm
Subject: Re: making ocaml mainstream
hi tomasz,

i just wanted to comment on my experience with ocaml.  i love it--it's
changed and deepened my understanding of algorithms and how to think
about programming.

why do you want ocaml to be mainstream though?  i don't much care
whether most programmers write beautiful, generic, reusable code.

but, i would like to see ocaml become more popular among researchers in
math, biology, statistics, engineering, though.  people who are likely
to care about writing really good code, improving the language, and
contributing good examples.  and, even in this sector, i haven't even
heard of a lisp programmer, let along ocaml.

i tried to get several of my office mates to switch.  i work on a floor
of bioinformatics researchers who mostly program in c++, java, perl,
python, and mostly on linux.  but i wasn't able to convince anyone of
the power of ocaml.

i think what would be most helpful in boosting the popularity though
would be two things:

1.  an in-depth survey of how people use the various most popular
languages and the programming paradigms they support.  for instance,
how many programmers (in any language, on any platform, and in any job)
routinely use a language that has type inference?  persistent
data/referential transparency?  functionals?  modules?  for a given
language, how do the users use it?  for instance, how many c++
programmers routinely write functions that take function pointers as
arguments?  or, make heavy use of templates?

2.  a comparative recipes book, illustrating famous algorithms in
pseudo-code, a few popular languages, and ocaml.

ultimately, it is the use of these big ideas that is most important,
and getting the world of programmers to appreciate them and use them.
whether that's in one language or another is not as important.  of
course, it's much easier to use these in ocaml than in c++.

anyway, does anyone know of a good survey or overview of programming
paradigms and how popular they are?  or, a comparative code base aimed
at demonstrating the use of these paradigms on real, classic example
algorithms?

thanks in advance,

henry

>    Another stuff is that OCaml has this feeling of beeing a language of
> choice for pointy-headed geeks and thus simply too hard to grasp for an
> ordinary keyboard basher.  The feeling can be changed (with a lot of
> advocacy and marketing), because you can write programs in "Java style",
> and it doesn't require a lot of learning.  OCaml is fun and it's easy.
> And then it's new and it's powerful.  That's anything marketing guys have
> to say (see
> http://www.cabochon.com/~stevey/blog-rants/bambi-meets-godzilla.html and
> other marketing-related rants).

i think what it really needs is a good book of recipes in ocaml, with
comparisons to other more popular languages.  for example, a comparison
of a completely generic algorithm written in ocaml and then in c++.
Tomasz Jamroszczak wrote:
> I've been playing for a second time with Ocaml for a time now and I've
> got some insights in what could make the language more popular.

>    First of all, it's potential target is severly limited by some facts
> that are maybe transparent for ocaml developers, but are cruicial for
> newcomers.  It is really usable only under Linux.  I.e. ocamldebug (which
> is basic programming tool) needs a big clumsy cygwin to work in Windows,
> and you can be sure that two thirds of programmers, had, have and will
> have configuration and maintanability problems with Cygwin.

>    More severe flaw is that OCaml's workable only under Emacs.  Well, there
> is something like wowcamldebug for vim, but vim ain't that popular
> either[*].  That means that OCaml looses 90% of potential community due to
> immaterial problems.  Immaterial from point of view of the language
> architecture, but not from point of view of it's health.  But it's not a
> question of making IDE nur fur OCaml.  It's rather about making hilighter,
> indent, helpfile and debugger into the most popular IDEs, with the most
> prominent of them VS.NET.  Because of MSDNAA, young developers have decent
> tool for free and putting OCaml into Visual Studio, comforting to habbits
> of them, is the right thing to do.  Because the most valuable and easy to
> obtain for the greater glory of OCaml community - are these
> MSDNAA-involved greenhorns.

>    Another stuff is that OCaml has this feeling of beeing a language of
> choice for pointy-headed geeks and thus simply too hard to grasp for an
> ordinary keyboard basher.  The feeling can be changed (with a lot of
> advocacy and marketing), because you can write programs in "Java style",
> and it doesn't require a lot of learning.  OCaml is fun and it's easy.
> And then it's new and it's powerful.  That's anything marketing guys have
> to say (see
> http://www.cabochon.com/~stevey/blog-rants/bambi-meets-godzilla.html and
> other marketing-related rants).

>    We should also take closer look on the libraries.  Diversity is good.
> But if two libraries are covering the same field, it's dreadful.  They're
> fighting each other, the development is split between them and thus - in
> such a small community as OCaml's is - too small to maintain and develop,
> and at the end projects are abadoned.  But this is not the main pain in
> the libraries' world.  More grim is the fact that when programmer (not
> necessairly new to OCaml) wants some functionality spots two similar
> libraries, he has to make a choise.  And it's a Bad Thing(TM), because he
> has to either pick randomly and hope for his good luck, or he's to spend
> some time with both, which is mainly wasted time.  Moreover, it feels like
> struggling with the language.  Mind C++ which after phase of decline, has
> been given boost library - huge one, but single library which status is
> something like "non-standarized standard library".    Oh, and F# is not a
> good way to go.  F# won't be identical to Ocaml, and all we know what
> Babel tower of Lisps feels like.

>    This together with initial configuration, beeing up-to-date - generally
> maintainng ones workspace - prevents a hot-headed newcomer from developing
> working code.  Instead of forming ideas developer has in his mind, he's
> beeing made to bend his neck to "proper" set of tools in order to comfort
> to the language.  While the grammar, standard library, fast object code
> and so on are in a deep shadow of all these workshop things.

>    The learning curve for OCaml, including setting up environment, should
> be as flat, as possible.  The best in this matter is TCL, which has
> basicly one language vendor for Windows, it's already present in standard
> Linux distribution, and after a three hours from the beginning of
> installation, you can write non-trivial programs;  and after a week with
> TCL you feel like fish swimming in the water.  This is unreachable for
> OCaml of course, because TCL has the smallest grammar ever while OCaml's
> is quite complex, but nevertheless the installation part (including cygwin
> instalation and emacs learning) should be shortened, and some "OCaml
> subset for C++/Python/Java handbook" with subtitle "Creative fun" should
> be released at O'Reily.

> [*] There's QT-based Camelia simplified IDE, I've got to give it a try.

> tj.

> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google