Browse thread
OCaml && COCOA-Environment (Mac-OS-X/GUI)
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Paul Snively <psnively@m...> |
| Subject: | Mostly OT: Apple and Language Adoption was Re: [Caml-list] OCaml && COCOA-Environment (Mac-OS-X/GUI) |
-----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-----