* [Caml-list] ocaml killer @ 2004-01-23 10:19 Alexander Epifanov 2004-01-27 8:28 ` Richard Jones 0 siblings, 1 reply; 28+ messages in thread From: Alexander Epifanov @ 2004-01-23 10:19 UTC (permalink / raw) To: caml-list Hello, I have read message about Skala language, and I think (it's only my IMHO), that ocaml have no future without some features, like concurrent programming (CP) and chance to use libraries from the other languages. 1) Erlang uses build in CP, but Skala has a library for it, IMHO it would be a good way for ocaml feature. Thread module isn't enough for effective usage of CP. 2) No one would use ocaml without libraries, and it's so hard to rewrite them all in ocaml. external functions aren't enough to use libraries from Languages like java or c++. Are any plans about these two features exists ? PS: Sorry for bad English. Thanks. -- Gentoo Linux http://www.gentoo.org ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-23 10:19 [Caml-list] ocaml killer Alexander Epifanov @ 2004-01-27 8:28 ` Richard Jones 0 siblings, 0 replies; 28+ messages in thread From: Richard Jones @ 2004-01-27 8:28 UTC (permalink / raw) To: Alexander Epifanov; +Cc: caml-list On Fri, Jan 23, 2004 at 01:19:49PM +0300, Alexander Epifanov wrote: > Hello, > > I have read message about Skala language, and I think (it's only my IMHO), > that ocaml have no future without some features, like concurrent programming > (CP) and chance to use libraries from the other languages. The particular 'feature' of the Skala language is that it compiles to the JVM. Unfortunately if you've ever used the JVM you'll know that typical implementations are slow as hell and have an awful garbage collector. Give me the OCaml VM any day (or native code - even better). The other features of Skala - data matching on objects, generic programming - should be added to OCaml (eg. by adding GCaml). > 1) Erlang uses build in CP, but Skala has a library for it, IMHO it would be a > good way for ocaml feature. Thread module isn't enough for effective usage of > CP. > > 2) No one would use ocaml without libraries, and it's so hard to rewrite them > all in ocaml. external functions aren't enough to use libraries from Languages > like java or c++. Yes. You can use Perl libraries directly in OCaml right now. And believe me, Perl libraries are more powerful and more thought out than Java libraries any day. Rich. -- Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj Merjis Ltd. http://www.merjis.com/ - improving website return on investment Learning Objective CAML for C, C++, Perl and Java programmers: http://www.merjis.com/richj/computers/ocaml/tutorial/ ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* [Caml-list] ocaml killer @ 2004-01-27 6:32 Alexander Epifanov 2004-01-27 8:56 ` Alex Baretta ` (3 more replies) 0 siblings, 4 replies; 28+ messages in thread From: Alexander Epifanov @ 2004-01-27 6:32 UTC (permalink / raw) To: caml-list Hello, I have read message about Skala language, and I think (it's only my IMHO), that ocaml have no future without some features, like concurrent programming (CP) and chance to use libraries from the other languages. 1) Erlang uses build in CP, but Skala has a library for it, IMHO it would be a good way for ocaml feature. Thread module isn't enough for effective usage of CP. 2) No one would use ocaml without libraries, and it's so hard to rewrite them all in ocaml. external functions aren't enough to use libraries from Languages like java or c++. Are any plans about these two features exists ? Thanks. -- Gentoo Linux http://www.gentoo.org ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 6:32 Alexander Epifanov @ 2004-01-27 8:56 ` Alex Baretta 2004-01-27 9:43 ` Alexander Epifanov [not found] ` <40168498.6070708@tfb.com> 2004-01-27 9:41 ` Alexander Danilov ` (2 subsequent siblings) 3 siblings, 2 replies; 28+ messages in thread From: Alex Baretta @ 2004-01-27 8:56 UTC (permalink / raw) To: Alexander Epifanov, Ocaml Alexander Epifanov wrote: > Hello, > > I have read message about Skala language, and I think (it's only my IMHO), > that ocaml have no future without some features, like concurrent programming > (CP) and chance to use libraries from the other languages. Thanks for sharing you "humble opinion" with us. Let me share mine with you: my company has chosen Ocaml as it's primary general purpose language and is devoting most of it's R&D efforts towards new development based on/for Ocaml. > 1) Erlang uses build in CP, but Skala has a library for it, IMHO it would be a > good way for ocaml feature. Thread module isn't enough for effective usage of > CP. Ever heard about message passing? Did you ever try running a multithreaded application on a server cluster? > 2) No one would use ocaml without libraries, and it's so hard to rewrite them > all in ocaml. external functions aren't enough to use libraries from Languages > like java or c++. No one. Except maybe Xavier et al. in the Cristal group. Except maybe myself and all of my colleagues. Except all of those who subscribe to the mailing list. Except hundreds of researchers and students. How about "No one you know would use Ocaml with Java bindings". No one I know would use a language with Java bindings for any realistic project. > Are any plans about these two features exists ? I definitely hope Xavier will not waste his time coding JNI's to use ocaml within Java. Alex ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 8:56 ` Alex Baretta @ 2004-01-27 9:43 ` Alexander Epifanov 2004-01-27 18:32 ` Shawn Wagner [not found] ` <40168498.6070708@tfb.com> 1 sibling, 1 reply; 28+ messages in thread From: Alexander Epifanov @ 2004-01-27 9:43 UTC (permalink / raw) To: Alex Baretta; +Cc: Alexander Epifanov, Ocaml On 09:56 Tue 27 Jan , Alex Baretta wrote: > Alexander Epifanov wrote: > >Hello, > > > >I have read message about Skala language, and I think (it's only my IMHO), > >that ocaml have no future without some features, like concurrent > >programming > >(CP) and chance to use libraries from the other languages. > > Thanks for sharing you "humble opinion" with us. Let me share mine with > you: my company has chosen Ocaml as it's primary general purpose > language and is devoting most of it's R&D efforts towards new > development based on/for Ocaml. > > >1) Erlang uses build in CP, but Skala has a library for it, IMHO it would > >be a > >good way for ocaml feature. Thread module isn't enough for effective usage > >of > >CP. > > Ever heard about message passing? Did you ever try running a > multithreaded application on a server cluster? Everybody has server clusters? > > >2) No one would use ocaml without libraries, and it's so hard to rewrite > >them > >all in ocaml. external functions aren't enough to use libraries from > >Languages > >like java or c++. > > No one. Except maybe Xavier et al. in the Cristal group. Except maybe > myself and all of my colleagues. Except all of those who subscribe to > the mailing list. Except hundreds of researchers and students. You want to use ocaml for yourself only? Do You need more popularity of ocaml ? OCaml isn't used a lot for commercial projects. > > How about "No one you know would use Ocaml with Java bindings". No one + > I know would use a language with Java bindings for any realistic project. > > >Are any plans about these two features exists ? > > I definitely hope Xavier will not waste his time coding JNI's to use > ocaml within Java. I agree with you, JNI isn't the best solution. But what time do you need to implement the part of CPAN's libraries for example ? Ocaml is the great language for the BIG projects. but it hasn't simple libraries for small projects. Of course, It doesn't need them for "academical" language. > > Alex -- Gentoo Linux http://www.gentoo.org ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 9:43 ` Alexander Epifanov @ 2004-01-27 18:32 ` Shawn Wagner 2004-01-28 4:38 ` skaller 0 siblings, 1 reply; 28+ messages in thread From: Shawn Wagner @ 2004-01-27 18:32 UTC (permalink / raw) To: Ocaml On Tue, Jan 27, 2004 at 12:43:51PM +0300, Alexander Epifanov wrote: > I agree with you, JNI isn't the best solution. But what time do you need to > implement the part of CPAN's libraries for example ? Ocaml is the great > language for the BIG projects. but it hasn't simple libraries for small > projects. Of course, It doesn't need them for "academical" language. The obvious thing to do is for people to, if they write stuff (Be it big modules or small little utility functions) that would be useful to the general population of ocaml users, is release that code so we get those small libraries. Then the hard part: Advertising them and getting people to use them. Something I'm thinking of doing after I finish getting some much-delayed updates to a couple of the libraries I maintain out the door: A general-purpose config file library; the sort of thing that'd be useful for most non-trivial applications that, as far as I'm aware, doesn't exit for ocaml yet. -- Shawn Wagner shawnw@speakeasy.org ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 18:32 ` Shawn Wagner @ 2004-01-28 4:38 ` skaller 2004-01-28 5:30 ` james woodyatt 0 siblings, 1 reply; 28+ messages in thread From: skaller @ 2004-01-28 4:38 UTC (permalink / raw) To: caml-list CPAN for Ocaml? No chance. We actually need: CPAN-GPL CPAN-LGPL CPAN-BSD CPAN-FFAU CPAN-Q -- John Max Skaller, mailto:skaller@tpg.com.au snail:25/85c Wigram Rd, Glebe, NSW 2037, Australia. voice:61-2-9660-0850. Checkout Felix: http://felix.sf.net ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-28 4:38 ` skaller @ 2004-01-28 5:30 ` james woodyatt 0 siblings, 0 replies; 28+ messages in thread From: james woodyatt @ 2004-01-28 5:30 UTC (permalink / raw) To: The Trade everyone-- At the risk of flogging a dead horse... I still think the simplest and most effective way to improve the utility of Ocaml in the construction of large software projects is not a CPAN-like distributed source library-- it's a federated naming authority for library modules, like you find in the Java Runtime Environment. This is the *one* glaring hole in the language as far as I'm concerned, and if I ever find myself in a position to do something about it-- I just might have to hack the tool chain myself to get what I want. (On the other hand, the one glaring hole in the implementation that INRIA provides, if you ask me, is the incomplete support for dynamic module load/link in native code programs. This is not that big a problem for me, but it would be nice to have.) In all other respects, I'm more than satisfied-- I'm tickled pink. -- j h woodyatt <jhw@wetware.com> markets are only free to the people who own them. ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
[parent not found: <40168498.6070708@tfb.com>]
* Re: [Caml-list] ocaml killer [not found] ` <40168498.6070708@tfb.com> @ 2004-01-27 19:10 ` Alex Baretta 2004-01-28 13:29 ` David Fox 0 siblings, 1 reply; 28+ messages in thread From: Alex Baretta @ 2004-01-27 19:10 UTC (permalink / raw) To: rose, Ocaml Ken Rose wrote: > Alex Baretta wrote: > > > > Where do you work? Are they hiring? (only half ;-) ) > > - ken We are actually hiring. We are in Milano, Italy. Alex ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 19:10 ` Alex Baretta @ 2004-01-28 13:29 ` David Fox 2004-01-28 15:12 ` Eray Ozkural 0 siblings, 1 reply; 28+ messages in thread From: David Fox @ 2004-01-28 13:29 UTC (permalink / raw) To: Ocaml Alex Baretta wrote: > Ken Rose wrote: > >> Alex Baretta wrote: >> >> >> >> Where do you work? Are they hiring? (only half ;-) ) >> >> - ken > > > We are actually hiring. We are in Milano, Italy. > > Alex > We're looking for an ocaml + operating system person, if you want to come to San Diego. ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-28 13:29 ` David Fox @ 2004-01-28 15:12 ` Eray Ozkural 0 siblings, 0 replies; 28+ messages in thread From: Eray Ozkural @ 2004-01-28 15:12 UTC (permalink / raw) To: David Fox; +Cc: Ocaml On Wednesday 28 January 2004 15:29, David Fox wrote: > Alex Baretta wrote: > > Ken Rose wrote: > >> Alex Baretta wrote: > >> > >> > >> > >> Where do you work? Are they hiring? (only half ;-) ) > >> > >> - ken > > > > We are actually hiring. We are in Milano, Italy. > > > > Alex > > We're looking for an ocaml + operating system person, if you want to > come to San Diego. w00t! ocaml positions! -- Eray Ozkural (exa) <erayo@cs.bilkent.edu.tr> Comp. Sci. Dept., Bilkent University, Ankara KDE Project: http://www.kde.org http://www.cs.bilkent.edu.tr/~erayo Malfunction: http://malfunct.iuma.com GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 6:32 Alexander Epifanov 2004-01-27 8:56 ` Alex Baretta @ 2004-01-27 9:41 ` Alexander Danilov 2004-01-27 9:57 ` Alexander Epifanov 2004-01-28 13:30 ` Eray Ozkural 2004-01-28 23:26 ` Chet Murthy 3 siblings, 1 reply; 28+ messages in thread From: Alexander Danilov @ 2004-01-27 9:41 UTC (permalink / raw) To: Alexander Epifanov; +Cc: caml-list Alexander Epifanov wrote: >Hello, > >I have read message about Skala language, and I think (it's only my IMHO), >that ocaml have no future without some features, like concurrent programming >(CP) and chance to use libraries from the other languages. > >1) Erlang uses build in CP, but Skala has a library for it, IMHO it would be a >good way for ocaml feature. Thread module isn't enough for effective usage of >CP. > > > CP is not the main feature. For example, Perl has no good and stable CP support, but it is very popular. There are no so many task, that need CP. >2) No one would use ocaml without libraries, and it's so hard to rewrite them >all in ocaml. external functions aren't enough to use libraries from Languages >like java or c++. > >Are any plans about these two features exists ? > >Thanks. > > > http://wiki.tcl.tk/critcl - here is interesting idea how to make bindings wuickly. I think it can be implemented in Ocaml, The language will be preffered in many projects only when it have good repository of packages, policy of packaging libraries, modules, etc., simple mechanism to install this packages over the net and so on. So I think that for more popularity Ocaml need for something like CPAN http://www.cpan.org/ . Thats why I don't use Tcl, Ruby, Ocaml in real applications. If Ocaml community create packaging policy and network archive, than number of Ocaml developers will increase much faster. Not CP, not multithreading can make programmer happy :), but CPAN can. P.S.: I know, my English is terrible, I will try to make it better :) ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 9:41 ` Alexander Danilov @ 2004-01-27 9:57 ` Alexander Epifanov 2004-01-27 16:43 ` Eric Stokes 0 siblings, 1 reply; 28+ messages in thread From: Alexander Epifanov @ 2004-01-27 9:57 UTC (permalink / raw) To: Alexander Danilov; +Cc: Alexander Epifanov, caml-list On 12:41 Tue 27 Jan , Alexander Danilov wrote: > Alexander Epifanov wrote: > > >Hello, > > > >I have read message about Skala language, and I think (it's only my IMHO), > >that ocaml have no future without some features, like concurrent > >programming > >(CP) and chance to use libraries from the other languages. > > > >1) Erlang uses build in CP, but Skala has a library for it, IMHO it would > >be a > >good way for ocaml feature. Thread module isn't enough for effective usage > >of > >CP. > > > > > > > CP is not the main feature. For example, Perl has no good and stable CP > support, but it is very popular. > There are no so many task, that need CP. Maybe. but Thread isn't the best solution. > > >2) No one would use ocaml without libraries, and it's so hard to rewrite > >them > >all in ocaml. external functions aren't enough to use libraries from > >Languages > >like java or c++. > > > >Are any plans about these two features exists ? > > > >Thanks. > > > > > > > http://wiki.tcl.tk/critcl - here is interesting idea how to make > bindings wuickly. I think it can be implemented in Ocaml, > > The language will be preffered in many projects only when it have good > repository of packages, policy of packaging libraries, modules, etc., > simple mechanism to install this packages over the net and so on. So I > think that for more popularity Ocaml need for something like CPAN > http://www.cpan.org/ . Thats why I don't use Tcl, Ruby, Ocaml in real > applications. If Ocaml community create packaging policy and network > archive, than number of Ocaml developers will increase much faster. > Yes, I can't use _only_ Ocaml for the projects. > Not CP, not multithreading can make programmer happy :), but CPAN can. nice phrase. I agree with you. > > P.S.: I know, my English is terrible, I will try to make it better :) My English more terrible, I'm just learning it :) -- Gentoo Linux http://www.gentoo.org ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 9:57 ` Alexander Epifanov @ 2004-01-27 16:43 ` Eric Stokes 2004-01-27 18:19 ` David Fox 2004-01-27 18:47 ` Richard Jones 0 siblings, 2 replies; 28+ messages in thread From: Eric Stokes @ 2004-01-27 16:43 UTC (permalink / raw) To: caml-list Despite a little FUD (and bad English :P) I think this thread has a lot of good ideas in it. After reading it all it seems to me that Ocaml is in a transition period, more and more production oriented programmers are starting to pay serious attention to it. For my case, my organization has decided to migrate to Ocaml as our primary general purpose language. We have invested significant R&D into code written in Ocaml, and have recently launched our first production service written in it. That said, the concerns about libraries, and about a CPAN like repository are very good ones. There is a CPAN like repository for Ocaml (there are several), and while they are in a somewhat embryonic state, they are quite useable. The best example is the Ocaml link database http://www.npc.de/ocaml/linkdb/ almost all Ocaml libraries eventually get posted there. It is missing some features often associated with CPAN, however the most important feature of such a tool is that it serves as a directory of available libraries. The link database accomplishes this quite well, and serves the community well. GODI is looking to be a more complete CPAN clone for Ocaml, I have not played with it extensively yet, so I can't say too much more. Note also, that C and C++ have no central library repository, and yet they remain the industry standard general purpose languages. On the library side of things, there is a C interface, and a Perl interface, which opens up quite a lot of libraries to use from Ocaml. However, one of the main benefits of Ocaml is type safety, and using foreign language libraries throws away some of that type safety (the library is free to have grievous errors in it). The primary reason that my organization has switched to Ocaml is that we are under increasing pressure to write highly reliable software. From our point of view all of our libraries must eventually be rewritten in Ocaml, and the sooner the better. I don't think that the pressure we feel is without parallel elsewhere in the industry, so I think that Ocaml has quite a bright future as a production quality general purpose language. On Jan 27, 2004, at 1:57 AM, Alexander Epifanov wrote: > On 12:41 Tue 27 Jan , Alexander Danilov wrote: >> Alexander Epifanov wrote: >> >>> Hello, >>> >>> I have read message about Skala language, and I think (it's only my >>> IMHO), >>> that ocaml have no future without some features, like concurrent >>> programming >>> (CP) and chance to use libraries from the other languages. >>> >>> 1) Erlang uses build in CP, but Skala has a library for it, IMHO it >>> would >>> be a >>> good way for ocaml feature. Thread module isn't enough for effective >>> usage >>> of >>> CP. >>> >>> >>> >> CP is not the main feature. For example, Perl has no good and stable >> CP >> support, but it is very popular. >> There are no so many task, that need CP. > Maybe. but Thread isn't the best solution. >> >>> 2) No one would use ocaml without libraries, and it's so hard to >>> rewrite >>> them >>> all in ocaml. external functions aren't enough to use libraries from >>> Languages >>> like java or c++. >>> >>> Are any plans about these two features exists ? >>> >>> Thanks. >>> >>> >>> >> http://wiki.tcl.tk/critcl - here is interesting idea how to make >> bindings wuickly. I think it can be implemented in Ocaml, >> >> The language will be preffered in many projects only when it have good >> repository of packages, policy of packaging libraries, modules, etc., >> simple mechanism to install this packages over the net and so on. So I >> think that for more popularity Ocaml need for something like CPAN >> http://www.cpan.org/ . Thats why I don't use Tcl, Ruby, Ocaml in real >> applications. If Ocaml community create packaging policy and network >> archive, than number of Ocaml developers will increase much faster. >> > Yes, I can't use _only_ Ocaml for the projects. > >> Not CP, not multithreading can make programmer happy :), but CPAN can. > nice phrase. I agree with you. >> >> P.S.: I know, my English is terrible, I will try to make it better :) > My English more terrible, I'm just learning it :) > > -- > Gentoo Linux http://www.gentoo.org > > ------------------- > 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 > ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 16:43 ` Eric Stokes @ 2004-01-27 18:19 ` David Fox 2004-01-27 18:47 ` Richard Jones 1 sibling, 0 replies; 28+ messages in thread From: David Fox @ 2004-01-27 18:19 UTC (permalink / raw) To: Eric Stokes; +Cc: caml-list I would forward this post to some management folks around here if it didn't have the subject "ocaml killer"! :-) Eric Stokes wrote: > Despite a little FUD (and bad English :P) I think this thread has > a lot of good ideas in it. After reading it all it seems to me that > Ocaml is in a transition period, more and more production oriented > programmers are starting to pay serious attention to it. For my case, > my organization has decided to migrate to Ocaml as our primary general > purpose language. We have invested significant R&D into code written > in Ocaml, and have recently launched our first production service > written in it. > That said, the concerns about libraries, and about a CPAN like > repository are very good ones. There is a CPAN like repository for > Ocaml (there are several), and while they are in a somewhat embryonic > state, they are quite useable. The best example is the Ocaml link > database http://www.npc.de/ocaml/linkdb/ almost all Ocaml libraries > eventually get posted there. It is missing some features often > associated with CPAN, however the most important feature of such a > tool is that it serves as a directory of available libraries. The link > database accomplishes this quite well, and serves the community well. > GODI is looking to be a more complete CPAN clone for Ocaml, I have not > played with it extensively yet, so I can't say too much more. Note > also, that C and C++ have no central library repository, and yet they > remain the industry standard general purpose languages. On the library > side of things, there is a C interface, and a Perl interface, which > opens up quite a lot of libraries to use from Ocaml. However, one > of the main benefits of Ocaml is type safety, and using foreign > language libraries throws away some of that type safety (the library > is free to have grievous errors in it). The primary reason that my > organization has switched to Ocaml is that we are under increasing > pressure to write highly reliable software. From our point of view all > of our libraries must eventually be rewritten in Ocaml, and the sooner > the better. I don't think that the pressure we feel is without > parallel elsewhere in the industry, so I think that Ocaml has quite a > bright future as a production quality general purpose language. > > On Jan 27, 2004, at 1:57 AM, Alexander Epifanov wrote: > >> On 12:41 Tue 27 Jan , Alexander Danilov wrote: >> >>> Alexander Epifanov wrote: >>> >>>> Hello, >>>> >>>> I have read message about Skala language, and I think (it's only my >>>> IMHO), >>>> that ocaml have no future without some features, like concurrent >>>> programming >>>> (CP) and chance to use libraries from the other languages. >>>> >>>> 1) Erlang uses build in CP, but Skala has a library for it, IMHO it >>>> would >>>> be a >>>> good way for ocaml feature. Thread module isn't enough for >>>> effective usage >>>> of >>>> CP. >>>> >>>> >>>> >>> CP is not the main feature. For example, Perl has no good and stable CP >>> support, but it is very popular. >>> There are no so many task, that need CP. >> >> Maybe. but Thread isn't the best solution. >> >>> >>>> 2) No one would use ocaml without libraries, and it's so hard to >>>> rewrite >>>> them >>>> all in ocaml. external functions aren't enough to use libraries from >>>> Languages >>>> like java or c++. >>>> >>>> Are any plans about these two features exists ? >>>> >>>> Thanks. >>>> >>>> >>>> >>> http://wiki.tcl.tk/critcl - here is interesting idea how to make >>> bindings wuickly. I think it can be implemented in Ocaml, >>> >>> The language will be preffered in many projects only when it have good >>> repository of packages, policy of packaging libraries, modules, etc., >>> simple mechanism to install this packages over the net and so on. So I >>> think that for more popularity Ocaml need for something like CPAN >>> http://www.cpan.org/ . Thats why I don't use Tcl, Ruby, Ocaml in real >>> applications. If Ocaml community create packaging policy and network >>> archive, than number of Ocaml developers will increase much faster. >>> >> Yes, I can't use _only_ Ocaml for the projects. >> >>> Not CP, not multithreading can make programmer happy :), but CPAN can. >> >> nice phrase. I agree with you. >> >>> >>> P.S.: I know, my English is terrible, I will try to make it better :) >> >> My English more terrible, I'm just learning it :) >> >> -- >> Gentoo Linux http://www.gentoo.org >> >> ------------------- >> 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 >> > > ------------------- > 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 ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 16:43 ` Eric Stokes 2004-01-27 18:19 ` David Fox @ 2004-01-27 18:47 ` Richard Jones 2004-01-27 19:29 ` Eric Stokes 1 sibling, 1 reply; 28+ messages in thread From: Richard Jones @ 2004-01-27 18:47 UTC (permalink / raw) Cc: caml-list On Tue, Jan 27, 2004 at 08:43:51AM -0800, Eric Stokes wrote: > programmers are starting to pay serious attention to it. For my case, > my organization has decided to migrate to Ocaml as our primary general > purpose language. We have invested significant R&D into code written in Which enlightened company is this? Rich. -- Richard Jones. http://www.annexia.org/ http://www.j-london.com/ Merjis Ltd. http://www.merjis.com/ - improving website return on investment PTHRLIB is a library for writing small, efficient and fast servers in C. HTTP, CGI, DBI, lightweight threads: http://www.annexia.org/freeware/pthrlib/ ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 18:47 ` Richard Jones @ 2004-01-27 19:29 ` Eric Stokes 0 siblings, 0 replies; 28+ messages in thread From: Eric Stokes @ 2004-01-27 19:29 UTC (permalink / raw) To: caml-list On Jan 27, 2004, at 10:47 AM, Richard Jones wrote: > On Tue, Jan 27, 2004 at 08:43:51AM -0800, Eric Stokes wrote: >> programmers are starting to pay serious attention to it. For my case, >> my organization has decided to migrate to Ocaml as our primary general >> purpose language. We have invested significant R&D into code written >> in > > Which enlightened company is this? > The central IT of California State University Northridge. We're currently working on an open source middleware suite written (largely) in Ocaml. Part of our R&D effort has involved taking over maintenance of ocamldap, and adding significant features to it. We've also been working with GPS to add fast-cgi support to ocamlnet (working code is in cvs awaiting release). In the future we'd like to do a native Ocaml ldap protocal implementation for ocamldap. That means that we will probably end up implementing an ASN.1 compiler, and BER, DER, etc.. There is an ASN.1 compiler laying around that we might try to resurrect, but we'll still need to implement BER, etc.. A working ASN.1 environment would be great for Ocaml, as it would allow lots of really cool protocals (such as SNMP) to be implemented easily. We don't currently have a time frame for getting this done, and our metadirectory will probably take priority. Our directory managment daemon (written in ocaml) can be found at www-qa.csun.edu/opensource/rmwd (this site is in development, I'm literally scrambling to get it up :P. the final url may change. I'll be posting to the link database when its ready.) Info on our meta-directory will be going up soon, it is not currently written in Ocaml, but we're planning to do a rewrite in Ocaml fairly soon. So that's the 5 minute summery of CSUN :P > Rich. > > -- > Richard Jones. http://www.annexia.org/ http://www.j-london.com/ > Merjis Ltd. http://www.merjis.com/ - improving website return on > investment > PTHRLIB is a library for writing small, efficient and fast servers in > C. > HTTP, CGI, DBI, lightweight threads: > http://www.annexia.org/freeware/pthrlib/ > > ------------------- > 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 > ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 6:32 Alexander Epifanov 2004-01-27 8:56 ` Alex Baretta 2004-01-27 9:41 ` Alexander Danilov @ 2004-01-28 13:30 ` Eray Ozkural 2004-01-28 23:26 ` Chet Murthy 3 siblings, 0 replies; 28+ messages in thread From: Eray Ozkural @ 2004-01-28 13:30 UTC (permalink / raw) To: Alexander Epifanov; +Cc: caml-list I think you're trolling. Have a nice day, On Tuesday 27 January 2004 08:32, Alexander Epifanov wrote: > Hello, > > I have read message about Skala language, and I think (it's only my IMHO), > that ocaml have no future without some features, like concurrent > programming (CP) and chance to use libraries from the other languages. > > 1) Erlang uses build in CP, but Skala has a library for it, IMHO it would > be a good way for ocaml feature. Thread module isn't enough for effective > usage of CP. > > 2) No one would use ocaml without libraries, and it's so hard to rewrite > them all in ocaml. external functions aren't enough to use libraries from > Languages like java or c++. > > Are any plans about these two features exists ? > > Thanks. -- Eray Ozkural (exa) <erayo@cs.bilkent.edu.tr> Comp. Sci. Dept., Bilkent University, Ankara KDE Project: http://www.kde.org http://www.cs.bilkent.edu.tr/~erayo Malfunction: http://malfunct.iuma.com GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-27 6:32 Alexander Epifanov ` (2 preceding siblings ...) 2004-01-28 13:30 ` Eray Ozkural @ 2004-01-28 23:26 ` Chet Murthy 2004-01-28 23:47 ` Martin Berger 2004-01-29 6:36 ` Alexander Epifanov 3 siblings, 2 replies; 28+ messages in thread From: Chet Murthy @ 2004-01-28 23:26 UTC (permalink / raw) To: Alexander Epifanov; +Cc: caml-list Alexander, I don't know what to say, except that clearly, you should spend some time in the trenches, working with the COBOL of the 21st Century -- Java. That's what I do for a living. I've written extremely complex Java systems. I've debugged more Java code than anybody else at my current employer, and I'm not kidding. And, y'know what? Java/the JVM still sux. I left CAML in 1994, when it still didn't have a native-code compiler. I started hacking on Java in the spring of 1996. I've got code in (probably) every JVM. I've debugged dozens of very large, and hundreds of only somewhat large Java deployments, some of them in situations involving large amounts of business at risk. And y'know what? Java/the JVM still sux. "concurrency"! You ever tried to use Java threads to do anything meaningful? Check out the J2EE spec. It basically is BUILT around NOT sharing anything between threads. Oh, and y'know, we have a joke: "every Java bug is a connection-pool (or resource-pool) bug". Here's another: "When you arrive onsite, grep for synchronized, and if you see it, put your laptop back in your bag, tell 'em you're going to get coffee, and don't come back". Java/the JVM is not a systems-programming language. Period. Oh, and I'll defend that against all comers. Difference is, though, if you wanna attack, I'll expect real examples, not the academic crap that most programming language theorists throw around. --chet-- P.S. I came back to CAML for personal programming in 1999, and after that four-year hiatus, during which I became a commercial JVM internals guy, as well as a commercial transaction-processing firefighter (think "Mr. Wolf" from _Pulp Fiction_). So I think I have the experience to compare, and the verdict seems manifestly incontrovertible: Java/the JVM sux. ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-28 23:26 ` Chet Murthy @ 2004-01-28 23:47 ` Martin Berger 2004-01-29 0:00 ` Chet Murthy 2004-01-29 5:20 ` Brian Hurt 2004-01-29 6:36 ` Alexander Epifanov 1 sibling, 2 replies; 28+ messages in thread From: Martin Berger @ 2004-01-28 23:47 UTC (permalink / raw) To: Chet Murthy; +Cc: caml-list > Java/the JVM is not a systems-programming language. Period. Oh, and > I'll defend that against all comers. Difference is, though, if you > wanna attack, I'll expect real examples, not the academic crap that > most programming language theorists throw around. i'll have to defend my profession here: which working programming language theorist proposes java as a "systems-programming language"? most of them are busy researching concurrency or pointer arithmetic these days. but i guess it depends what you mean by that "systems-programming language". rather than attempting a definition (it's late here), i'll point to C/C++ or Cyclone as examples. martin ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-28 23:47 ` Martin Berger @ 2004-01-29 0:00 ` Chet Murthy 2004-01-29 0:04 ` Chet Murthy 2004-01-29 0:11 ` Martin Berger 2004-01-29 5:20 ` Brian Hurt 1 sibling, 2 replies; 28+ messages in thread From: Chet Murthy @ 2004-01-29 0:00 UTC (permalink / raw) To: Martin Berger; +Cc: Chet Murthy, caml-list >>>>> "MB" == Martin Berger <martinb@dcs.qmul.ac.uk> writes: MB> but i guess it depends what you mean by that MB> "systems-programming language". rather than attempting a MB> definition (it's late here), i'll point to C/C++ or Cyclone as MB> examples. A "system" includes an application-server, a GUI, a database, a window manager, a widget system, a GRID scheduler, a directory server, a group communications toolkit and lots of other things. Application programming, is really programming -inside- a system, wherein programmers face strong limits on what they can do, with the aim of keeping their code well-managed, controlled, and providing a "managed environment" for the code's execution. All of these things, in my opinion, benefit from being written in high-level languages -- significantly higher than CCured and Cyclone. The high-level abstraction capabilities of CAML shine here, and do some of capabilities of Java in these applications. BTW, people (fools) propose using Java to write all of those things I describe above. --chet-- ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-29 0:00 ` Chet Murthy @ 2004-01-29 0:04 ` Chet Murthy 2004-01-29 0:11 ` Martin Berger 1 sibling, 0 replies; 28+ messages in thread From: Chet Murthy @ 2004-01-29 0:04 UTC (permalink / raw) To: Chet Murthy; +Cc: Martin Berger, caml-list >>>>> "CM" == Chet Murthy <chet@watson.ibm.com> writes: CM> All of these things, in my opinion, benefit from being written CM> in high-level languages -- significantly higher than CCured CM> and Cyclone. CM> The high-level abstraction capabilities of CAML shine here, CM> and do some of capabilities of Java in these applications. I wasn't clear here. The high-level capabilities of both Java and CAML are useful in writing such systems. Too bad Java/the JVM's behavioural attributes make it totally unsuited. Ah, well. For those who don't understand what I mean, take a look at InstallShield MultiPlatform. Also look at "javac" itself. And "jar". Ask yourself how such simple problems have admitted such awful solutions in Java. Marvel at the foolishness of the creators of these artifacts. --chet-- ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-29 0:00 ` Chet Murthy 2004-01-29 0:04 ` Chet Murthy @ 2004-01-29 0:11 ` Martin Berger 2004-01-29 0:34 ` Chet Murthy 2004-01-29 17:53 ` skaller 1 sibling, 2 replies; 28+ messages in thread From: Martin Berger @ 2004-01-29 0:11 UTC (permalink / raw) To: Chet Murthy; +Cc: caml-list > A "system" includes an application-server, a GUI, a database, a window > manager, a widget system, a GRID scheduler, a directory server, a > group communications toolkit and lots of other things. > > Application programming, is really programming -inside- a system, > wherein programmers face strong limits on what they can do, with the > aim of keeping their code well-managed, controlled, and providing a > "managed environment" for the code's execution. I agree. > The high-level abstraction capabilities of CAML shine here, and do > some of capabilities of Java in these applications. > I wasn't clear here. The high-level capabilities of both Java and > CAML are useful in writing such systems. Too bad Java/the JVM's > behavioural attributes make it totally unsuited. Ah, well. please allow me to compare Ocaml and Java from the lofty perspective of a programming language theorist. both are mixed imperative/functional languages (like all others). what are the *essential* differences? Ocaml has/Java doesn't have * sum types * pattern matching as destructors for sum types * full function types (not restricted to first-order like java) * second-order types (will be added to java) Java has/Ocaml doesn't have * reflection (maybe in ocaml, not sure at the moment) there are probably other big differences, for example in the module system, but let's ignore those. if i'm right about this, then what java lacks is a more expressive type system. martin ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-29 0:11 ` Martin Berger @ 2004-01-29 0:34 ` Chet Murthy 2004-01-29 8:52 ` Thomas Fischbacher 2004-01-29 17:53 ` skaller 1 sibling, 1 reply; 28+ messages in thread From: Chet Murthy @ 2004-01-29 0:34 UTC (permalink / raw) To: Martin Berger; +Cc: Chet Murthy, caml-list Martin, [Maybe this is going off-topic. Since I'm comparing Java to Caml, I'll leave this cc'ed to the Caml list, but if there are further responses, it might be good to take 'em offline.] >>>>> "MB" == Martin Berger <martinb@dcs.qmul.ac.uk> writes: MB> please allow me to compare Ocaml and Java from the lofty MB> perspective of a programming language theorist. both are mixed MB> imperative/functional languages (like all others). what are MB> the *essential* differences? MB> if i'm right about this, then what java lacks is a more MB> expressive type system. Your comparison of Java and Caml leaves out two of the most important parts of CAML (from a systems-programmer perspective): (1) high-quality FFI (MUCH better than JNI) (2) high-quality C-like execution model, WITHOUT threads, WITHOUT intrinsic dynamic code-loading Compared to these, the type system is almost irrelevant. There's a reason, for instance, that Perl (the first popular implementation of Scheme*) won: a killer FFI, great UNIX syscall support, and bang-up support for the string datatype. Java/the JVM ain't got none of this! [*: and I am NOT kidding about Perl being a popular implementation of Scheme, albeit with a pretty interesting syntax.] These are the things that matter in a language. The fact that CAML has fancy types, well, -I- like it, but it isn't why I wrote some of my most complex systems in it, and it will never be enough to push CAML into the mainstream. Xavier's (and others') careful attention to building a -system-, and to making CAML suitable for systems-programming, is infinitely more compelling, than the type system. After all, I switched from SML to CAML, not for the type system, but for the quality of the implementation. And I wrote Coq V5.10 in CAML, again, 'cos it was such a high-quality systems language. --chet-- ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-29 0:34 ` Chet Murthy @ 2004-01-29 8:52 ` Thomas Fischbacher 0 siblings, 0 replies; 28+ messages in thread From: Thomas Fischbacher @ 2004-01-29 8:52 UTC (permalink / raw) To: Chet Murthy; +Cc: Martin Berger, caml-list On Wed, 28 Jan 2004, Chet Murthy wrote: > These are the things that matter in a language. The fact that CAML > has fancy types, well, -I- like it, but it isn't why I wrote some of > my most complex systems in it, and it will never be enough to push > CAML into the mainstream. At least, it is nice to be able to use the FFI to define a function believe_me: 'a -> 'b which is just the identity, so that one can pass as an argument a function to itself. There _are_ some situations where things are best handled by using the fixed-point principle at a deep level. Yes, you may call me a heretic. No, I do not repair fridges with chainsaws. -- regards, tf@cip.physik.uni-muenchen.de (o_ Thomas Fischbacher - http://www.cip.physik.uni-muenchen.de/~tf //\ (lambda (n) ((lambda (p q r) (p p q r)) (lambda (g x y) V_/_ (if (= x 0) y (g g (- x 1) (* x y)))) n 1)) (Debian GNU) ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-29 0:11 ` Martin Berger 2004-01-29 0:34 ` Chet Murthy @ 2004-01-29 17:53 ` skaller 1 sibling, 0 replies; 28+ messages in thread From: skaller @ 2004-01-29 17:53 UTC (permalink / raw) To: Martin Berger; +Cc: Chet Murthy, caml-list On Thu, 2004-01-29 at 11:11, Martin Berger wrote: > > A "system" includes an application-server, a GUI, a database, a window > please allow me to compare Ocaml and Java from the lofty perspective > of a programming language theorist. both are mixed imperative/functional > languages (like all others). what are the *essential* differences? > > Ocaml has/Java doesn't have > > * sum types > * pattern matching as destructors for sum types > * full function types (not restricted to first-order like java) > * second-order types (will be added to java) > > Java has/Ocaml doesn't have > > * reflection (maybe in ocaml, not sure at the moment) > > there are probably other big differences, for example in the module system, > but let's ignore those. Java has 'inheritance is subtyping' which is bogus, whereas Ocaml uses algebraic subtyping which is well-principled. Ocaml also has polymorphic functions, Java does not. (virtual functins don't really count here ..:-) I would say this is quite distinct from the typing of the function's interface (to see this consider a language like C++ or Felix where values are not boxed). -- John Max Skaller, mailto:skaller@tpg.com.au snail:25/85c Wigram Rd, Glebe, NSW 2037, Australia. voice:61-2-9660-0850. Checkout Felix: http://felix.sf.net ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-28 23:47 ` Martin Berger 2004-01-29 0:00 ` Chet Murthy @ 2004-01-29 5:20 ` Brian Hurt 1 sibling, 0 replies; 28+ messages in thread From: Brian Hurt @ 2004-01-29 5:20 UTC (permalink / raw) To: Martin Berger; +Cc: Chet Murthy, caml-list On Wed, 28 Jan 2004, Martin Berger wrote: > > Java/the JVM is not a systems-programming language. Period. Oh, and > > I'll defend that against all comers. Difference is, though, if you > > wanna attack, I'll expect real examples, not the academic crap that > > most programming language theorists throw around. > > i'll have to defend my profession here: which working programming > language theorist proposes java as a "systems-programming language"? > most of them are busy researching concurrency or pointer arithmetic > these days. Supposedly Sun has an OS written in Java. I wouldn't touch it with a ten foot cattle prod, myself. I'd rather use Pascal to write an OS (I'd shoot myself first in either case, it'd be less painfull). > > but i guess it depends what you mean by that "systems-programming > language". rather than attempting a definition (it's late here), i'll > point to C/C++ or Cyclone as examples. As a day-job systems programmers, throw C++ out of that group. Systems programming (device drivers, OSs, BIOSs, etc- things that beat directly on hardware) tends to be either C or assembly. See previous rant. -- "Usenet is like a herd of performing elephants with diarrhea -- massive, difficult to redirect, awe-inspiring, entertaining, and a source of mind-boggling amounts of excrement when you least expect it." - Gene Spafford 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Caml-list] ocaml killer 2004-01-28 23:26 ` Chet Murthy 2004-01-28 23:47 ` Martin Berger @ 2004-01-29 6:36 ` Alexander Epifanov 1 sibling, 0 replies; 28+ messages in thread From: Alexander Epifanov @ 2004-01-29 6:36 UTC (permalink / raw) To: Chet Murthy; +Cc: Alexander Epifanov, caml-list On 18:26 Wed 28 Jan , Chet Murthy wrote: I agree with you on all items. I've written a lot of java applications. "Java - slow sux" - it's right. I don't think the JVM is a good solution. I told about scala, which used JVM, but I don't want to tell "We need to use JVM". The basic problem in projects in which I took part, was that I could not use ocaml _only_ to make project complete. I wrote a lot of C/C++ functions to use ocaml with CORBA or SNMP for example. > > Alexander, > > I don't know what to say, except that clearly, you should spend some > time in the trenches, working with the COBOL of the 21st Century -- > Java. > > That's what I do for a living. I've written extremely complex Java > systems. I've debugged more Java code than anybody else at my current > employer, and I'm not kidding. > > And, y'know what? > > Java/the JVM still sux. > > I left CAML in 1994, when it still didn't have a native-code > compiler. I started hacking on Java in the spring of 1996. I've got > code in (probably) every JVM. I've debugged dozens of very large, and > hundreds of only somewhat large Java deployments, some of them in > situations involving large amounts of business at risk. > > And y'know what? > > Java/the JVM still sux. > > "concurrency"! You ever tried to use Java threads to do anything > meaningful? Check out the J2EE spec. It basically is BUILT around > NOT sharing anything between threads. > > Oh, and y'know, we have a joke: "every Java bug is a connection-pool > (or resource-pool) bug". > > Here's another: "When you arrive onsite, grep for synchronized, and > if you see it, put your laptop back in your bag, tell 'em you're going > to get coffee, and don't come back". > > Java/the JVM is not a systems-programming language. Period. Oh, and > I'll defend that against all comers. Difference is, though, if you > wanna attack, I'll expect real examples, not the academic crap that > most programming language theorists throw around. > > --chet-- > > P.S. I came back to CAML for personal programming in 1999, and after > that four-year hiatus, during which I became a commercial JVM > internals guy, as well as a commercial transaction-processing > firefighter (think "Mr. Wolf" from _Pulp Fiction_). So I think I have > the experience to compare, and the verdict seems manifestly > incontrovertible: Java/the JVM sux. > > ------------------- > 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 -- Gentoo Linux http://www.gentoo.org ------------------- 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 ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2004-01-29 17:53 UTC | newest] Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-01-23 10:19 [Caml-list] ocaml killer Alexander Epifanov 2004-01-27 8:28 ` Richard Jones 2004-01-27 6:32 Alexander Epifanov 2004-01-27 8:56 ` Alex Baretta 2004-01-27 9:43 ` Alexander Epifanov 2004-01-27 18:32 ` Shawn Wagner 2004-01-28 4:38 ` skaller 2004-01-28 5:30 ` james woodyatt [not found] ` <40168498.6070708@tfb.com> 2004-01-27 19:10 ` Alex Baretta 2004-01-28 13:29 ` David Fox 2004-01-28 15:12 ` Eray Ozkural 2004-01-27 9:41 ` Alexander Danilov 2004-01-27 9:57 ` Alexander Epifanov 2004-01-27 16:43 ` Eric Stokes 2004-01-27 18:19 ` David Fox 2004-01-27 18:47 ` Richard Jones 2004-01-27 19:29 ` Eric Stokes 2004-01-28 13:30 ` Eray Ozkural 2004-01-28 23:26 ` Chet Murthy 2004-01-28 23:47 ` Martin Berger 2004-01-29 0:00 ` Chet Murthy 2004-01-29 0:04 ` Chet Murthy 2004-01-29 0:11 ` Martin Berger 2004-01-29 0:34 ` Chet Murthy 2004-01-29 8:52 ` Thomas Fischbacher 2004-01-29 17:53 ` skaller 2004-01-29 5:20 ` Brian Hurt 2004-01-29 6:36 ` Alexander Epifanov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox