From: Paul Snively <psnively@mac.com>
To: Oliver Bandel <oliver@first.in-berlin.de>
Cc: caml-list@yquem.inria.fr
Subject: Mostly OT: Apple and Language Adoption was Re: [Caml-list] OCaml && COCOA-Environment (Mac-OS-X/GUI)
Date: Fri, 25 Feb 2005 09:20:39 -0800 [thread overview]
Message-ID: <4651205ebc7794393ee3b57568498194@mac.com> (raw)
In-Reply-To: <20050224232101.GA685@first.in-berlin.de>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Oliver!
On Feb 24, 2005, at 3:21 PM, Oliver Bandel wrote:
> Apropos Apple.... when M$ creates F# out of Ocaml,
> why not to trigger Apple to create sometging like
> BackendObjects or ScientificObjects (as complementary to
> WebObjects) out of OCaml on OS-X?!
>
> Maybe we should trigger Apple for this?!
>
> If not, they will use Objective-C and Java and nothing else.
>
Boy oh boy, where to begin with this?
I was at Apple from 1989-1991, when John Sculley was CEO and at the
time that Jean-Louis Gasseé was pushed out. At this time, Apple
Computer still had an Advanced Technology Group that did pure research,
and also had Apple Fellows who sometimes drove initiatives that
involved programming languages. Some folks in ATG really liked Coral
Common Lisp, so Apple bought Coral Software and thus Coral Common Lisp
became Macintosh Common Lisp. Alan Kay was an Apple Fellow, so he and
his colleagues created Squeak Smalltalk. Allen Cypher, author of "Watch
What I Do," was in ATG, so we got projects like KidSim, which became
Cocoa (not to be confused with Mac OS X's Cocoa APIs, of course). The
Newton became an active project, and that prompted the development of
Dylan and NewtonScript.
Fast forward a few years, and MCL gets sold off, the Newton flops,
Dylan gets canceled, Kay and Squeak leave Apple, Cocoa gets canceled,
Steve Jobs returns and "Steves" not only whatever research projects are
left, but also some arguably core technologies such as Quickdraw 3D.
What Apple got instead was more standards-compliant technology such as
OpenGL, a better-known base in the form of FreeBSD-based Mac OS X but
with the Carbon and Cocoa APIs on top of it, and more focus on how to
actually innovate in the marketplace: iPod and iTunes, iMac, Mac
Mini... Oh, and a return to profitability during some of the personal
computing market's toughest years. It's also interesting to note that
several things that Apple dropped have nevertheless lived: Dylan is
kind of sputtering along thanks to heroic efforts by the Gwydion Dylan
team and the work of the former Functional Objects, Inc.; Squeak is
extremely healthy; MCL is still the best Common Lisp on any platform;
Quesa is a slowly-evolving but quite nice reimplementation of Quickdraw
3D atop OpenGL...
Culturally, my read is that Apple now has an extreme aversion to taking
on big promotional jobs, especially about languages: the Dylan debacle
scarred them. Market pressures forced them to backpedal from their
initial stance toward developers that Objective-C and Cocoa were the
"real" Mac OS X APIs and Carbon was merely a transitional API to the
reality that Carbon must provide access to virtually all Mac OS X
capabilities, e.g. HIViews and Sheets, and Objective-C and Cocoa are
marginal, Mac-OS-X-only tools for true believers. Later still they had
to go so far as to add "Objective-C++" to their version of GCC so that
developers could write their cross-platform core code in C++, and write
only the UI layer in Objective-C, which then needed to be able to call
the C++ core.
Finally, it's been a long time since Apple was commanding 500% profit
margins and could afford to throw money away on research projects. Sad,
but true.
So for a variety of political, historical, economic, and technical
reasons, it's not at all realistic to expect Apple to pursue anything
involving languages other than the absolutely mainstream: arguably the
only reason they support Objective-C is that it and OpenStep already
existed and were relatively mature at the time of the NeXT acquisition.
Java made it for a couple of reasons: it's plenty mainstream enough,
and the relationship between the Java runtime model and Objective-C
runtime model is sufficiently incestuous that there's some leverage to
be had by having them both.
To try to bring this back home, this is why folks like Mike Hamburg and
myself are putting some thought into how to marry O'Caml and Cocoa
(which, by definition, includes the Objective-C runtime model). We'd
like to have something resembling the fluidity of Java <-> Objective-C,
but lacking reflection, we can't exactly, so on one hand we have to
have Mike's Obj.magic magic, and on the other we need something very
much like, if not exactly, Jeff Henrikson's Forklift magic. So we're
left with a bit of a transcontinental railroad project, but with a lot
of elbow grease and faith, hopefully the result will be nice, typesafe
O'Caml modules reflecting the entirety of Apple's Cocoa APIs.
And then maybe we can come up with functorized modules providing a
consistent API to Cocoa, Win32, or lablgtk... ;-)
>
> Ciao,
> Oliver
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
Best regards,
Paul
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Darwin)
iEYEARECAAYFAkIfXnEACgkQO3fYpochAqJhCQCbB6mWNrMZIHCWI8jTZM1BCC/A
RIwAnRO6xoORB6hETMzR52x6/BA4h4iY
=sp7O
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2005-02-25 17:20 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-05 0:02 Oliver Bandel
2005-02-05 16:37 ` [Caml-list] " Julien Roussel
2005-02-05 19:51 ` Mike Hamburg
2005-02-06 21:04 ` Paul Snively
2005-02-07 2:24 ` Oliver Bandel
2005-02-09 19:41 ` Mike Hamburg
2005-02-17 7:12 ` Jeff Henrikson
2005-02-18 23:41 ` [Caml-list] " art yerkes
2005-02-25 2:03 ` Paul Snively
2005-02-25 9:13 ` Oliver Bandel
2005-02-26 1:19 ` [Caml-list] " Sachin Shah
2005-03-01 6:39 ` Jeff Henrikson
2005-03-07 5:20 ` Paul Snively
2005-02-22 2:45 ` [Caml-list] " William D.Neumann
2005-02-23 0:12 ` Jacques Garrigue
2005-02-24 20:40 ` Paul Snively
2005-02-24 23:21 ` Oliver Bandel
2005-02-25 17:20 ` Paul Snively [this message]
2005-02-22 10:54 ` Oliver Bandel
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=4651205ebc7794393ee3b57568498194@mac.com \
--to=psnively@mac.com \
--cc=caml-list@yquem.inria.fr \
--cc=oliver@first.in-berlin.de \
/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).