home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / mac / programm / 19893 < prev    next >
Encoding:
Text File  |  1992-12-16  |  8.8 KB  |  203 lines

  1. Newsgroups: comp.sys.mac.programmer
  2. Path: sparky!uunet!stanford.edu!leland.Stanford.EDU!Ramon.M.Felciano
  3. From: felciano@summit.stanford.edu (Ramon M. Felciano)
  4. Subject: News on Bedrock
  5. Message-ID: <1992Dec16.063404.13991@leland.Stanford.EDU>
  6. X-Posted-From: InterNews1.0b3@leland.stanford.edu
  7. Sender: news@leland.Stanford.EDU (Mr News)
  8. Organization: Stanford University Medical Media and Information 
  9.  Technologies
  10. Date: Wed, 16 Dec 92 06:34:04 GMT
  11. Xdisclaimer: No attempt was made to authenticate the sender's name.
  12. Lines: 189
  13.  
  14.  
  15. Hi all --
  16.  
  17. I just came from a meeting of the Software Entrepreneurs Forum at Apple
  18. where they had a rep from Symantec talking about Bedrock. Nothing
  19. dramatic was revealed (surprise), but it was a sobering experience. I
  20. thought I'd through out some of the salient points I remember.
  21.  
  22. I know you're all dying to hear about this, but I'd like to point out
  23. that (1) this is still subject to change, and (2) I didn't take any
  24. notes, so I may be wrong on some counts -- I'm doing my best :)
  25.  
  26. The first part of the talk was given by an Apple guy who, until
  27. recently, was Apple's rep in the joint venture. The feeling I got from
  28. his slides was that Apple was trying very hard to make it seem like
  29. they were bringing a whole lot to the project, but underneath it all,
  30. it was Symantec who came up with it, Symantec is doing most of the
  31. work, and Symtantec will probably do most of the sales.
  32.  
  33.  
  34. Overview
  35. ========
  36. Bedrock is made up of 3 parts:
  37.  
  38. Class Library
  39. -------------
  40. A C++ class libary which is a mix between MacApp and TCL. MacApp will
  41. continue to get bug fixes, but no new releases. TCL will continue to be
  42. a supported product as Symantec doesn't necessarily see them as being
  43. in competition (probably because of the size of the environment).
  44. Bedrock has alot of TCL similarities (Views, Bureaucrats, and some
  45. others). I think there are about 150+ classes so far. They didn't show
  46. us any details (surprise), but some of the categories included graphics
  47. primitives (lines, arcs), text, and others.
  48.  
  49. I was disappointed that there weren't any obvious facilities for
  50. creating new interface elements (that is, is drag-and-drop as basic a
  51. function under Bedrock as clicking?)
  52.  
  53. While Bedrock does share a large number of similarities between MacApp
  54. and TCL, porting your code will not be a "no-brainer" (their words). It
  55. does seem, however, that TCL has a longer life expectancy than MacApp
  56. as far as continuing development goes...
  57.  
  58. Resource Manager
  59. ----------------
  60. Basically a cross-platform Rez language. Describes visual interface and
  61. (I believe) objects as well. Should let you subclass / dynamically
  62. create new kinds of objects at runtime, although it wasn't quite clear
  63. how this would work.
  64.  
  65. Utilities Manager
  66. -----------------
  67. They made a big deal about how Bedrock was geared towards developing
  68. world-ready software. They've essentially implemented a bunch of
  69. internationalization tools (like 7.1's date and numbers control panels)
  70. to support different languages. These are actually libraries that exist
  71. today and that will have class wrappers around them. Why they don't
  72. simply release them today wasn't quite clear to me :)
  73.  
  74. They didn't talk about the whole Font and Script stuff either.
  75.  
  76. They did mention that they had their own approach to File and Memory
  77. management. The former gives you a common way to refer to files across
  78. platforms; the later gets you away from these stupid handles (still
  79. pointer based).
  80.  
  81.  
  82. Other notes
  83. ===========
  84. Platforms
  85. ---------
  86. Will initially run on Windows and Mac. UNIX is probably the next
  87. target, but that's a ways off. Should be compilable under MPW and the
  88. (pretty definite although not confirmed) C++ version of THINK C, as
  89. well as Zortech and Microsoft's C environments on the Windows side.
  90.  
  91. Licensing
  92. ---------
  93. They're not clear on how they will approach it. Most everyone agreed
  94. that individual runtime licensing would doom the product. The rep
  95. understood that, but seemed to indicate that the alternative was a 10K
  96. or higher price tag. This met with general grumbles, but no major
  97. protests.
  98.  
  99. Competition
  100. -----------
  101. They currently see their biggest competitor as being XVT. I've got
  102. mixed feelings about this. My roommate has worked extensively with XVT
  103. and says it is the best cross-platform tool currently available, but
  104. the Mac versions that it spits out still look terrible. Since Bedrock's
  105. classes seem to isolate from Quickdraw and the other toolbox goodies
  106. that allow us to make our Mac apps so cool, I'm not to hopeful about
  107. what Bedrock apps look like :(.
  108.  
  109. No mention about Quorum, either. I happen to think Quorum's product is
  110. totally cool, especially since I've actually seen it work.
  111.  
  112. Microsoft
  113. ---------
  114. There was a manager from Microsoft's development tools group there who
  115. reminded us about the Windows for Mac Programmers conference in
  116. January. He seemed quite supportive of Bedrock, as well as any of the
  117. other cross-platform tools: their goal is simply to get as many Windows
  118. apps up as possible.
  119.  
  120.  
  121. Problems
  122. ========
  123. Here's a couple of the problems I saw.
  124.  
  125. Apple Object Model
  126. ------------------
  127. There was no clear support for this within Bedrock, even though Apple
  128. seems to be pushing this as the way to think about and develop
  129. applications. It forces you to implement your program using
  130. well-defined object definitions (the AE suites). This, in turn, makes
  131. you app modular, apple-event savvy, and dying to be script driven. It
  132. is a cool, albeit somewhat foreign, approach to development that is in
  133. danger of being swept under the rug if Bedrock doesn't embrace it.
  134.  
  135. System Software Support
  136. -----------------------
  137. It wasn't clear how Apple's system software would fit into this. There
  138. will definitely be support on the Macintosh side for any new toolboxes
  139. (e.g. Quickdraw GX, OCE), but if a Windows version isn't there at the
  140. same time, what's the point of porting? Yug.
  141.  
  142. A whole new system to learn
  143. ---------------------------
  144. It still seemed like you'd need to learn the Mac toolbox, some windows
  145. stuff, plus the entire 150+ class library. Yich. Contrast this to
  146. Quorum ans some other porting facilities that simply grab the Mac
  147. toolbox and re-implement it on other platforms. 
  148.  
  149.  
  150. Soapbox
  151. =======
  152. It really seems that the current approach to OOP isn't delivering its
  153. promises. Eiffel and Smalltalk do better, but they have different
  154. programming environments. Neither of the speakers mentioned any
  155. dramatic changes in the environments we'll be using to program in. The
  156. Apple said that Bedrock sort of tried to fit into the chasm between
  157. Hypercard and C, but I'm not convinced :) My vision of this project is
  158. more along the lines of a blend between a conventional compiled
  159. language and an interpreted language. It seems that many of the
  160. promises of OOP fall apart when forced into a conventional C (or Pascal
  161. or what have you) development environment.
  162.  
  163. A major point of Bedrock is that it is a Framework that basically
  164. implements the functionality that is similar to all Mac programs
  165. (windows, dialogs, buttons, menus, etc. as well as dragging, apple
  166. events, etc.). Well, that was what TCL and MacApp were supposed to be.
  167. The big problem there is that every app you create carries this
  168. Framework around as luggage. It seems to me that there should be a
  169. default application framework that is always active and is part of the
  170. system software. Your application essentially registers itself to the
  171. "application manager" (or some such) and only implements the stuff
  172. specific to your app.
  173.  
  174. Further more, while I support the premise and theories behind OOP, they
  175. really don't fit into a conventional, file-based programming
  176. environment. For example, why do we need to have "includes" or "USES"
  177. clauses in an OOP environment? There should be a big object database
  178. behind the scenes -- we just call up whatever objects we want, and the
  179. extra ones are stripped out at compile time. All files could go away.
  180.  
  181. Furthermore, we should be able to edit and incrementally compile any
  182. particular part of the program, and test it out right away. This is
  183. obviously feasible (check out MCL or some if its offspring).
  184.  
  185. Another place where many of the existing "frameworks" seem to fall
  186. short is blending interface and data objects. It is often awkward to
  187. implement the two separately and link them later on. Ideally, we should
  188. edit the interface by manipulating it directly. Then edit the engine
  189. using a data structure or class hierarchy browser (or some other
  190. visualization device -- an area begging for some good CHI research).
  191. Then link the two by drag-and-drop or drawing lines between the two. 
  192.  
  193. Anyway. Enough rambling. Hope this helps some of you somehow. Feel free
  194. to send me mail if you have any questions :) 
  195.  
  196. Ramon
  197.  
  198. +----------------------------------------------------------------+
  199. | Ramon M. Felciano                felciano@summit.stanford.edu  |
  200. | Associate Director, SUMMIT       (415) 723-9688                |
  201. | Stanford University Medical Media and Information Technologies |
  202. +----------------------------------------------------------------+
  203.