caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Brian Hurt <brian.hurt@qlogic.com>
To: Mattias Waldau <mattias.waldau@abc.se>
Cc: <fabrice@lefessant.net>, "'Matt Gushee'" <mgushee@havenrock.com>,
	<caml-list@inria.fr>
Subject: RE: [Caml-list] ANN: ChartPak - a data visualization library for the web
Date: Mon, 20 Jan 2003 14:37:43 -0600 (CST)	[thread overview]
Message-ID: <Pine.LNX.4.33.0301201407280.2036-100000@eagle.ancor.com> (raw)
In-Reply-To: <00c001c2c0bd$04afd7a0$0a00a8c0@gateway>

On Mon, 20 Jan 2003, Mattias Waldau wrote:

> We all want Ocaml to be a success. We want people to develop commercial
> applications using Ocaml, because otherwise it will never be a success.

Agreed.

> 
> Having a lot of libraries that can be used without restrictions is a
> competitive advantage for a programming language. Ocaml has few
> libraries compared to alternatives, making it more difficult to develop
> applications.

I don't think libraries are the biggest problem Ocaml faces for commercial 
acceptance.  Both C and C++ gained widespread acceptance with libraries 
not much better than Ocaml's (and in C's case much worse).

I'm unusual in that programming is my hobby as well as my job.  Most of 
the professional programmers I know of don't program outside of work.  The 
more aggressive ones may occassionally take a class to put some new 
buzzword on the resume- but even then, the reasoning is (next-)job 
related, so the courses they take are for hot buzzword technologies.  But 
the average run of the mill programmer doesn't learn anything unless the 
Boss requires it- and the Boss only requires what he reads about in 
Infoweak or whatever magazine is dictating his management philosophy this 
week.

Look at the last 20 years.  In 1980, assembly language was still the "real 
programmers" language of choice, especially on the PC/DOS.  Assembler got 
phased out in favor of C, which a) had good interfacing with assembler, 
and b) let you still do most of your old assembler tricks.  C is a high 
level, portable assembler.  Then along came Object Oriented- remember back 
when OO was a buzzword?  There were many good OO languages, and even some 
C + OO attempt (objective C), but what was the language that won out?  
C++.  Primarily, IMHO, because C++ contains C as a (more or less) proper 
subset.  Which allows you to go on coding in (old familiar) C while 
telling your boss and marketing "Of course we're object oriented!  We're 
coding in C++!"

Over the next eight years, programmers slowly learned OO, on the job.  
And a lot of really bad pseudo-OO code was written, as inclination and
schedules allowed.  Then, along came Java- which is primarily a cleaned up
C++.  The only new ideas Java introduced to C++ programmers was garbage 
collection and virtual machines.  Neither of which were all that new 
really :-).  I've seen examples of virtual machines from the seventies, 
and garbage collection goes back to the early sixties if not farther.  But 
they were radical to the mainstream- radical and scary, judging from the 
amount of resistance I've seen Java face.

The trend here is that the mainstream only takes baby steps.  They can 
learn new things- using a high level language, or OO, or garbage 
collection- but only if they can do so on the job, still meeting 
(unreasonable) deadlines.  And I don't see how you can switch from Java to 
Ocaml, or any truely functional programming language, in such a way.  The 
only way I can see to make the transition is to just make the transition.  
Accept that you will be at a signifigantly reduced productivity while 
learning the new way of thinking.  I think Ocaml is *worth* making the 
transition, but I don't see people doing it.  Sorry.

> I think that many programmers just select the (L)GPL-license without
> thinking about the consequences, but I might be wrong. 

You can link to the LGPL just fine, which makes it much more usable in a 
commercial environment.  Which is why it was invented- it would be 
impossible to do commercial work on Linux at all without it (libc is 
LGPL'd).  Which is also why Stallman doesn't like it.  I personally think 
the LGPL works great for a library- anyone and everyone can *use* the 
library, but improvements to the library have to be shared.

But if I don't write the code, it's not my choice.

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


  reply	other threads:[~2003-01-20 20:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-16 10:30 Matt Gushee
2003-01-16 12:30 ` Mattias Waldau
2003-01-16 12:45   ` Alessandro Baretta
2003-01-16 12:51   ` Jérôme Marant
2003-01-20 13:55   ` Fabrice Le Fessant
2003-01-20 16:46     ` License wars (was Re: [Caml-list] ANN: ChartPak - a data visualization library for the web) Matt Gushee
2003-01-20 17:22       ` Brian Hurt
2003-01-22 16:57       ` [Caml-list] Re: License wars Michaël Grünewald
2003-01-23 10:43         ` Alessandro Baretta
2003-01-24 15:31           ` John Max Skaller
2003-01-20 19:49     ` [Caml-list] ANN: ChartPak - a data visualization library for the web Mattias Waldau
2003-01-20 20:37       ` Brian Hurt [this message]
2003-01-24  4:19         ` [Caml-list] Baby Steps (was: ChartPak - a data visualization library for the web) Oleg
2003-01-24 10:59           ` Michal Moskal
     [not found]             ` <Pine.LNX.4.33.0301241322390.2036-100000@eagle.ancor.com>
2003-01-24 20:54               ` Michal Moskal
2003-01-24  5:33 ` [Caml-list] Re: License wars Matt Gushee
2003-01-24  8:46   ` Sven Luther
2003-01-24 11:16     ` Dmitry Bely
2003-01-24 11:28       ` Sven Luther
2003-01-24 11:31       ` Alessandro Baretta
2003-01-24 16:16         ` John Max Skaller
2003-01-24 15:49     ` John Max Skaller
2003-01-25  9:54   ` Michaël Grünewald

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.33.0301201407280.2036-100000@eagle.ancor.com \
    --to=brian.hurt@qlogic.com \
    --cc=caml-list@inria.fr \
    --cc=fabrice@lefessant.net \
    --cc=mattias.waldau@abc.se \
    --cc=mgushee@havenrock.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).