Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] making ocaml mainstream

10 views
Skip to first unread message

Tomasz Jamroszczak

unread,
Aug 18, 2006, 9:27:06 PM8/18/06
to caml...@inria.fr

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

Joel Reymont

unread,
Aug 18, 2006, 9:31:40 PM8/18/06
to Tomasz Jamroszczak
Google for F#.

On Aug 19, 2006, at 2:24 AM, Tomasz Jamroszczak wrote:

> 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.
>

--
http://wagerlabs.com/

skaller

unread,
Aug 19, 2006, 12:36:49 AM8/19/06
to Tomasz Jamroszczak
On Sat, 2006-08-19 at 03:24 +0200, 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.

IMHO: the lack of debugging support on Windows is an illusion.
Ocaml code just works (TM), you don't need a debugger. A couple
of debugging prints is usually enough to find problems.

I never use debuggers. Debuggers are for assembler geeks
and would-be assembler geeks writing low level C code :)

I think this is a matter of education -- you're looking
for a tool you don't need in the first place.

As to IDE support -- well it is much the same. I'm happy
enough with a text editor and command line compilation
with a script. It is only slightly more painful on Windows
than on Unix.

However I think you're right that a Visual Studio plugin
is the way to go. No one familiar with the VS editor
would ever want to learn a horrendous monstrosity like
Emacs .. let alone Vim's archaic terminal editing concepts
(ducks for cover!)

In an industrial setting, having Ocaml as part of a VS
project would be winner.

--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net

jonk...@fastmail.fm

unread,
Aug 19, 2006, 1:58:30 AM8/19/06
to
Hi,

have been looking at OCaml and/or F# recently , as a means of burning
some imperative brain cells :) ...

can anyone give some insight or indication of how close F# and OCaml
are? Is it possible to write code that works for both, or pretty close?

Cheers,
Jono.

Henry Bigelow

unread,
Aug 20, 2006, 6:01:36 PM8/20/06
to
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++.

Richard Jones

unread,
Aug 22, 2006, 5:19:44 PM8/22/06
to Tomasz Jamroszczak

Do you want to help us make OCaml more commercial? A while back we
started a web site to help coordinate such activities:
http://wiki.cocan.org/

You might want to help to expand this page in particular:
http://wiki.cocan.org/getting_started_with_ocaml_on_windows

Rich.

--
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com

Mike Lin

unread,
Aug 22, 2006, 6:23:53 PM8/22/06
to skaller
On 8/19/06, skaller <ska...@users.sourceforge.net> wrote:
>
> On Sat, 2006-08-19 at 03:24 +0200, 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.
>
> IMHO: the lack of debugging support on Windows is an illusion.
> Ocaml code just works (TM), you don't need a debugger. A couple
> of debugging prints is usually enough to find problems.


I agree with the major exception of there being no stack backtrace
for exceptions in native code. Markus Mottl's patch for this has been
sitting around for a while...please god, someone put this in the official
distribution and release it on godi etc...please, please

Joel Reymont

unread,
Aug 22, 2006, 7:17:54 PM8/22/06
to Mike Lin

On Aug 22, 2006, at 10:21 PM, Mike Lin wrote:

> I agree with the major exception of there being no stack backtrace
> for exceptions in native code. Markus Mottl's patch for this has been
> sitting around for a while...please god, someone put this in the
> official
> distribution and release it on godi etc...please, please

Does this patch apply only to Windows or other platforms as well?

--
http://wagerlabs.com/

Joel Reymont

unread,
Aug 23, 2006, 5:30:41 AM8/23/06
to Markus Mottl
Where is this patch?

On Aug 23, 2006, at 1:00 AM, Markus Mottl wrote:

> It was actually developed and tested on Linux, but it should work fine
> with all platforms targeted by the OCaml native code compiler, since
> it patches the way functions are generated in the intermediate
> language used for code generation.

Richard Jones

unread,
Aug 23, 2006, 6:38:07 AM8/23/06
to Joel Reymont
On Wed, Aug 23, 2006 at 09:59:47AM +0100, Joel Reymont wrote:
> Where is this patch?

I'm not sure if this is the latest version, but see:

http://yquem.inria.fr/pipermail/caml-announce/2005-July/000003.html

Markus - this really should be a bug report (if it's not already).
I'd like to add my support too.

Rich.

--
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com

_______________________________________________

Anil Madhavapeddy

unread,
Aug 23, 2006, 6:57:53 AM8/23/06
to Richard Jones
On 23 Aug 2006, at 11:30, Richard Jones wrote:

> On Wed, Aug 23, 2006 at 09:59:47AM +0100, Joel Reymont wrote:
>> Where is this patch?
>
> I'm not sure if this is the latest version, but see:
>
> http://yquem.inria.fr/pipermail/caml-announce/2005-July/000003.html
>
> Markus - this really should be a bug report (if it's not already).
> I'd like to add my support too.

It already is: http://caml.inria.fr/mantis/view.php?id=3885

Works fine on OpenBSD/i386, but I haven't had a chance to try it on
amd64/macppc/arm or some of the more exotic OpenBSD architectures we
distribute OCaml on.

-anil

0 new messages