From: Michael Schuerig <schuerig@acm.org>
To: caml-list@inria.fr
Subject: [Caml-list] OCaml popularity
Date: Thu, 13 Mar 2003 02:34:16 +0100 [thread overview]
Message-ID: <200303130234.16647.schuerig@acm.org> (raw)
In-Reply-To: <20030312235322.GA1154@first.in-berlin.de>
On Thursday 13 March 2003 00:53, Oliver Bandel wrote:
[misadventure with Tk]
> But: I found out that this terrible OO-stuff is - again -
> a horror!
Are you sure the problem was with the OO part? It's hard to assess this,
without knowing how well-versed you are in OO. As little as I know Tk,
it doesn't make construction of a complex UI for a complex application
particularly easy, but it doesn't make it impossible, either. Java's
Swing, for all it's faults, does a lot for UIs that are well-structured
in themselves and well-separated from the application core. More or
less, it comes down to variations on the MVC (Model-View-Controller)
pattern.
In effect, all I can say is that OO in itself doesn't get in the way --
rather, in my opinion, it helps a lot. Just don't expect Good OO
Programming to be any easier than Good O'Caml Programming.
Recommendation: "Agile Software Development" by Robert C. Martin
(Prentice-Hall, 2003). See
http://www.objectmentor.com/resources/articleIndex
> (I have seen mess in Tcl/Tk-programming as well as
> in OO-stuff for other applications (that was Java-stuff),
> at least if the objects were splitted into too small
> pieces (design-question; OO-gurus may tell you more abot this
> problem)).
No guru here, but someone who thinks it's a good idea to split things
into individual pieces that each do a single thing and can be tested
separately.
> If there would be a more FP-like approach to GUI-programming
> - and that is what you have mentioned above with "what OCaml
> can contribute to GUI-programming" - then this would help
> a lot.
[GUI ideas snipped]
You're mostly dealing with the (comparatively) easy part: visual
appearance. The hard part is setting things in motion: Reacting to user
inputs and actions. Displaying data consistently (even after changes
done in another place).
There are broadly tested and published ways of dealing with GUIs in the
OO way. MVC, which I already mentioned, is the arch-pattern in this
regard. Common OO languages help, as the idea of reactive objects that
handle messages is natural to them.
I've only had very little exposure to purely-functional UIs. Several
years ago I looked into how GUIs are done in Clean. It was interesting,
possibly mind-expanding -- but, at least to me, far from intuitive.
> - trees/hashtables/trees-of-hashtables which binds GUI-objects
> to it's *function*s (if a GUI-object would be handled like
> functions in FPLs, then you may use one button as a parameter
> for a menue (or vice versa).... => higher-order /functional)
> GUI-objects; GUI-objects as first-citizens...)
Have a look at this overview of the Swing architecture
http://java.sun.com/products/jfc/tsc/articles/architecture/
[Typical database + GUI enterprise applications]
> > Could OCaml in this area bring such a big improvement
> > over, say, Java and J2EE?
>
> See above.
No, unfortunately not. You speculate a lot, but don't provide any usable
solutions. Not that you're required to, of course. But current OO
languages do have proven ways of dealing with the problems you've
encountered.
It's not my intention to disparage OCaml! But I'd like to point out that
there currently doesn't seem to be a reason to believe that OCaml just
needs some more libs and app servers to make a combo that's
*decisively* superior to J2EE (and similar) for a class of very common
applications.
> > Or are there other -- niche? -- areas where
> > the advantages OCaml provides are far more important?
>
> There are many areas, where OCaml could be important.
Being important is an interesting property in a research context. It
doesn't make a language popular. The practically interesting areas are
those, where OCaml provides a significant advantage over other
languages. These may well be areas deserving of the moniker "difficult
computing" (as quoted by Xavier in this thread). As a case in point, I
remember Markus Mottl explaining recently in comp.lang.functional ("AI
and functional programming") why he chose OCaml.
Michael
--
Michael Schuerig They tell you that the darkness
mailto:schuerig@acm.org is a blessing in disguise.
http://www.schuerig.de/michael/ --Janis Ian, "From Me To You"
-------------------
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-03-13 1:34 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-12 23:53 [oliver: Re: [Caml-list] OCaml popularity] Oliver Bandel
2003-03-13 1:34 ` Michael Schuerig [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-03-15 16:27 [Caml-list] OCaml popularity Oliver Bandel
2003-03-15 17:55 ` Sergey Goldgaber
2003-03-14 22:14 Daniel M. Albro
2003-03-13 14:39 [oliver: Re: [Caml-list] OCaml popularity] Oliver Bandel
2003-03-13 16:35 ` [Caml-list] OCaml popularity Michael Schuerig
2003-03-13 7:09 Daniel M. Albro
2003-03-13 16:48 ` Neel Krishnaswami
2003-03-13 21:29 ` Karl Zilles
2003-03-13 21:36 ` Daniel M. Albro
2003-03-13 21:42 ` Daniel M. Albro
[not found] ` <15985.1204.814698.939943@h00045a4799d6.ne.client2.attbi.com>
2003-03-14 5:49 ` Daniel M. Albro
2003-03-14 9:05 ` Ville-Pertti Keinonen
2003-03-14 9:13 ` Daniel M. Albro
2003-03-13 21:53 ` Brian Hurt
2003-03-12 17:40 isaac gouy
2003-03-06 23:27 Graham Guttocks
2003-03-10 20:43 ` Paul Steckler
2003-03-10 23:48 ` Gerd Stolpmann
2003-03-11 0:18 ` Brian Hurt
2003-03-17 23:49 ` Graham Guttocks
2003-03-11 1:43 ` Nicolas Cannasse
2003-03-11 10:23 ` Pierre Weis
2003-03-11 14:27 ` Guillaume Marceau
2003-03-11 16:16 ` David Brown
2003-03-12 2:32 ` Nicolas Cannasse
2003-03-12 10:51 ` Alex Romadinoff
2003-03-12 18:24 ` Max Kirillov
2003-03-11 19:02 ` Graham Guttocks
2003-03-12 17:12 ` Richard W.M. Jones
2003-03-12 18:08 ` Alwyn Goodloe
2003-03-12 22:34 ` Michael Schuerig
2003-03-12 23:13 ` Martin Weber
2003-03-12 23:35 ` Michael Schuerig
2003-03-13 8:02 ` Alessandro Baretta
2003-03-13 10:23 ` Michael Schuerig
2003-03-12 23:35 ` Brian Hurt
2003-03-12 23:18 ` Daniel Bünzli
2003-03-12 23:47 ` Brian Hurt
2003-03-13 2:15 ` William Lovas
2003-03-13 3:44 ` Graham Guttocks
2003-03-13 9:31 ` Richard W.M. Jones
[not found] ` <20030313095232.GC347@first.in-berlin.de>
2003-03-13 20:50 ` William Lovas
2003-03-13 21:17 ` Oliver Bandel
2003-03-13 22:01 ` Brian Hurt
2003-03-13 22:17 ` Oliver Bandel
2003-03-14 6:33 ` Michal Moskal
2003-03-14 11:50 ` Markus Mottl
2003-03-14 15:38 ` Oliver Bandel
2003-03-14 10:13 ` MikhailFedotov
2003-03-14 10:30 ` Johann Spies
2003-03-13 8:09 ` Pierre Weis
2003-03-15 1:43 ` Tushar Samant
2003-03-15 8:19 ` Andreas Eder
2003-03-11 16:26 ` Fred Yankowski
2003-03-12 18:59 ` Martin Weber
2003-03-12 20:24 ` Xavier Leroy
2003-03-13 0:42 ` Graham Guttocks
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=200303130234.16647.schuerig@acm.org \
--to=schuerig@acm.org \
--cc=caml-list@inria.fr \
/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