Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] productivity improvement
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Brian Smith <brian-l-smith@u...>
Subject: Re: [Caml-list] Re: productivity improvement
John Max Skaller wrote:
> Lack of bindings to C libraries is also an obstacle, but I'd roll that
> up into issue (2).

I hope I can offer some insight into this. I am a student at the 
University of Iowa in the U.S. I will say that I think that O'Caml is 
very interesting and I enjoy learning it. But, everything seems to be 
Java or VB over here, both at school and in the job market. So, that 
means I will seemingly forever be using O'Caml only in my free time.

Also, Java has the focus of so many open-source developers and 
open-source users. If I write my software in O'Caml, I worry that nobody 
will be interested in it because it isn't Java. And, contributions to 
other projects won't be accepted because they are not Java. And, it is 
an odd feeling to write code that seemingly nobody will ever use.

Finally, there is the user interface issue. I haven't seen any TCL/TK 
applications that have "good" user interfaces running on Windows or Mac 
OS. I want my applications to look like Windows applications on Windows 
and Mac applications on Mac. And, I don't want to learn a Windows GUI 
API and a Macintosh GUI API. TCL/TK does not provide this. But, Java 
_does_ do this, in a "mostly good enough" way that is always improving.

So, I think that, if people are interested in seeing O'Caml have more 
widespread use, at least in the short term there needs to be better 
interoperability between Java and O'Caml. In particular, it should be 
easy for me to write a user interface in Java and write my "business 
logic" in O'Caml. In general, it should not require a lot of work to 
reuse an existing Java library (there are so many). Currently, these 
things are not easy. Xavier's JNI bindings seem like they might help, 
but there needs to be something "above" those bindings. And, there needs 
to be some example application that makes use of these bindings. If 
these things are provided then O'Caml won't seem so much like its own 
far-off world to Java programmers.

Here is an example of what I would like to do with O'Caml: I would like 
to take a software model (described using UML or some other modeling 
languages) and transform that model into various other languages. For 
example, convert a UML package of classes into an O'Caml module of 
classes. Or, perhaps take a set of Java interfaces and make a set of 
O'Caml bindings for those interfaces. And, I want to integrate this tool 
with the NetBeans IDE which is written in Java.

Regarding syntax: It seems perhaps the O'Caml syntax is designed to be 
easy for the O'Caml parser to parse, instead of being easy for me to 
figure out. But, it would be nice if at least the object-oriented syntax 
could reduce the amount of punctuation needed, and also be a little more 
consistent within itself and the rest of the language. Also, it would be 
nice to have better support for recursive types/classes/exceptions so 
that introducing spurious type variables isn't needed. I would rather 
reserve type variables for use only when I want polymorphism.

Just my US$.02 (worth a whole US$.02 but look at our prescription drug 
prices!)

- Brian




-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners