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
next prev parent 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