Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
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


  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