home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / fj / comp / oops / 353 < prev    next >
Encoding:
Internet Message Format  |  1992-12-15  |  6.8 KB

  1. Path: sparky!uunet!stanford.edu!sun-barr!sh.wide!cawgw!canongw!sevax1!kai
  2. From: kai@sevax1.cse.canon.co.jp (Masato Kainou)
  3. Newsgroups: fj.comp.oops
  4. Subject: Re: Eiffel
  5. Message-ID: <1403@sevax1.cse.canon.co.jp>
  6. Date: 16 Dec 92 02:18:46 GMT
  7. Distribution: fj
  8. Organization: System Engineering Center, Canon Inc.,Kawasaki, JAPAN
  9. Lines: 150
  10.  
  11. kono>$B$U$U!#$b$&>/$76qBNE*$K7gE@$r$$$C$F$/$l$k$H$b$C$H$$$$$s(B
  12. $B$G$9$1$I(B :-)
  13. kono>($B$b$C$H(BC++$B$N0-8}$,J9$-$?$$(B...)
  14.  
  15. COBOL, Basic, gee.. yet another dark cloud has been coming.
  16.  
  17. $B$^$"(BC++$B$O$R$5$S$5$N(Bbrain dead$B$G$s$J!<$H$+$$$/$i$G$b0-8}$J$i(B
  18. $B8@$($^$9$,!"$3$3$i$X$s$O%a!<%k$G$J$,$J$,$H=q$/$h$j$=$N6Z$N(Bpa
  19. per("On the darker side of C++", Markku Sakkinen)$B$r:FFI$J$5(B
  20. $B$k$H$$$&$3$H$G!#(B
  21.  
  22. kai>> $B$D$$$G$J$,$iB?=E7Q>5$O!"8@8l;EMM>e$G$-$l$P$h$$$H$$$C(B
  23. kai>>$B$?$b$N$G$O$"$j$^$;$s!#(BC++$B$d0l;~4|$N(BSmalltalk-80$BEy$r9M$((B
  24. $B$F$$(B
  25. kai>>$B$?$@$1$l$P$*$o$+$j$K$J$k$H$*$b$$$^$9(B
  26. kono>$B8@8l;EMM>e0J30$N$3$H$H$O$I$s$J$3$H$G$7$g$&!#$b$C$H$o$+(B
  27. $B$j$d$9$/65$($F$$$?(B
  28. kono>$B$@$1$^$9$+!#KM$O!"C10l7Q>5$O@:L)2=!"6qBN2=(B(is-a)$B$G!"B?(B
  29. $B=E7Q>5$OItIJ2=!"J,(B
  30. kono>$B2r(B(part-of)$B$H$$$&46$8$@$H;W$&$s$G$9!#<B$ON>J}$O$^$C$?$/(B
  31. $BJLJ*$G$9$h$M!#<B(B
  32. kono>$BAu$bA4A30c$&$7!#(B
  33.  
  34. $B$9$_$^$;$s!"@e$?$i$:$G!#;d$,8@$*$&$H$7$?$3$H$O!"B?=E7Q>5$O!"(B
  35. $B8@8l;EMM>e$G$-$k$h$&$K$J$C$F$$$l$P$h$$$H$$$&$3$H$G$O$J$/!"8@(B
  36. $B8l;EMMA4BN$,$A$c$s$HB?=E7Q>5$,$&$^$/$G$-$k$h$&$K@_7W$5$l$F$J(B
  37. $B$/$F$O$$$1$J$$!"$H$$$&$3$H$G$9!#$?$H$($P(BEiffel$B$N>l9g(Bsegment 
  38. class$B$O(B
  39.  
  40. segment
  41.   polyline
  42.     polyline_imp
  43.       figure_imp
  44.     dev_const
  45.     open_fig
  46.       figure
  47.     gen_figure
  48.       graph_const
  49.       basic_rout
  50.     linked_list
  51.       l_list
  52.     d_list
  53.       list
  54.         chain
  55.           traversable
  56.  
  57. $B$H$J$C$F$$$^$9!#$3$l$O(BEiffel$B$N(Bdeferred, redefine, define, re
  58. name$BEy$r6n;H$7$F$3$&$$$&$3$H$,$G$-$k$N$G$9!#$^$?(BOOSC$B$rFI$s$G(B
  59. $B$*$i$l$kJ}$J$i$P(Bsegment class$B$G$O(Bclass invariant$B$,$D$$$F$$$k(B
  60. $B$@$m$&$J$HA[A|$5$l$k$H;W$$$^$9!#BP$7$F0l;~4|$N(BSmalltalk(PPS)
  61. $B$G$OB?=E7Q>5$O$G$-$k$h$&$K$J$C$F$^$7$?(B(by Borning & Ingalls)
  62. $B$,$=$l$O$"$/$^$G$D$1$?$7(B($B3+H/4D6-$bB?=E7Q>5$r9M$($F$J$+$C$?(B)
  63. $B$G$[$H$s$I$N(Bsmalltalker$B$O;H$C$F$J$+$C$?$H;W$$$^$9!#(B
  64.  
  65. kono>$B<B:]$K<+J,$G7Q>59=@.$r:n$k;~$O!">e$+$i:n$k$s$G$7$g$&$+(B
  66. $B!"2<$+$i:n$k$s$G$7(B
  67. kono>$B$g$&$+!#$I$&$b>e$+$i:n$C$F$$$/$HESCf$G$$$-$E$^$k$h$&$J(B
  68. $B5$$,$9$k!#(BFlavor$B$H(B
  69. kono>$B$+(BESP, CLOS$B$O!"2<$+$i:n$C$F$$$C$F8e$+$i$^$H$a$k$H8@$&;W(B
  70. $BA[$,$"$k$H;W$&$s(B
  71. kono>$B$G$9$1$I!#(BLisp$B$H$+(BProlog$B$,$b$H$b$H2<$+$i:n$C$F$$$/$b$N(B
  72. $B$@$+$i$J$!!#(B
  73.  
  74. TPO$B$K$h$C$F$$$m$$$m$@$H;W$$$^$9!#$?$H$($P>e$K$"$2$?(Bpolyline,
  75.  polygone$BEy$d(Bcircle, ellipse, rectangle$BEy$@$H>e$+$i$-$l$$$K(B
  76. $B:n$C$F$$$1$k$G$7$g$&!#$7$+$7(B
  77.  
  78. kai>scanner -+-- eiffel_scanner
  79. kai>         |
  80. kai>         +-- c_scanner -+-- objective_c_scanner
  81. kai>         |              |
  82. kai>         |              +-- cplusplus_scanner
  83. kai>         |
  84. kai>         +-- simple_scanner
  85.  
  86. $B$N$h$&$J$b$N$@$H:G=i%:%s$H$R$H$DF0$/$b$N$r:n$C$F$+$i(B(Liberma
  87. n$B$N(Bprototype$B$_$?$$$J46$8(B)
  88. Rearrange and adjust classes and operations to increase inhe
  89. ritance
  90. Abstract common behavior out of groups of classes
  91. $B$H$9$k$N$G$7$g$&(B("Object-Oriented Modeling and Design", 10.6
  92. , Rumbaugh et al.)$B!#(B
  93. $B$d$O$j$3$3$i$X$s$b%/%i%9$r$I$&:n$k$+$r$J$,$J$,$H=q$/$h$j$b(B"O
  94. bject Oriented Design", Grady Booch$B$N(B4.2$B$"$?$j$r$*FI$_$/$@$5(B
  95. $B$l$P$h$$$+$H;W$$$^$9!#(B
  96.  
  97. naya>$B$G$b!"(BC$B%W%m%0%i%^!<$r%*%V%8%'%/%H;X8~$K0z$CD%$C$F$/$k$K(B
  98. $B$O!"(B
  99. naya>$B$H$F$bNI$$8@8l$@$H;W$C$F$$$^$9!#(B
  100.  
  101. $B$3$3$i$X$s$N$3$H$O(BUsenet$B$K$b;~!9$G$F$-$^$9$,$$$o$f$k(Blearning
  102.  curve$B$O(BC++$B$OBgJQ$@$H$$$$$&$N$,>/$J$/$H$b(Bcomp.lang.eiffel$B$d(Bs
  103. malltalk$B$G$O>o<1$H$$$C$?46$8$G$9$,(B($B;d$O(Bcomp.lange.c++$B$NJ}$O(B
  104. $BFI$s$G$^$;$s(B)$B!#;d<+?H$N7P83$+$i$b$=$&;W$$$^$9!#$"$^$jBg$-$J(B
  105. $B@<$G$O8@$($^$;$s$,!";d$O(Blearning curve$B$H$+$$$&0JA0$K$[$\L5M}(B
  106. $B$@$H;W$C$F$^$9!#$D$^$j%W%m%0%i%`$r65$($k$N$K(BPascal$B$d(BC$B$NBe$o(B
  107. $B$j$K(BCobol$B$d(BBasic$B$r;H$&$h$&$J$b$N$G$7$g$&!#(B
  108.  
  109. naya>Objective-C$B$OK-IY$J%/%i%9%i%$%V%i%j$,$"$k$1$I!"%=!<%9$,(B
  110. $B$J$$$C$FOC$@$7(B
  111. naya>OODB$B$G!"(BObjective-C$B$N%$%s%?!<%U%'!<%9$r;}$C$F$$$k$b$N$b(B
  112. $B!"$"$^$j$_$"$?$i$J$$$7!D(B
  113.  
  114. Next$B$K8BDj$7$FOC$7$^$9(B(ObjectKit$B$O;H$C$?$3$H$,$"$j$^$;$s(B)$B$H(B
  115. $B!"$?$H$($P(Bls /usr/include/appkit | wc $B$H$9$k$H(B68$B$3(B(2.1J)$B$G$9(B
  116. $B!#(B/usr/include/objc$B$N2<$O%/%i%9$O(B6$B$3DxEY$G$9!#<ANL$H$b$K:#0l(B
  117. $BJb$H;d$,;W$&(BEiffel$B$O$"$/$^$G(BPPS$B$N(BSmalltalk$B$HHf$Y$?>l9g$G$7$F(B
  118. $B!"(BEiffel$B$G$O(B300$B$3<e$O$"$j$^$9!#$D$^$j$H$F$b(BObjective-C$B$OK-IY(B
  119. $B$J%/%i%9%i%$%V%i%j$,$"$k$H$O;d$O;W$$$^$;$s!#$=$7$F8f;XE&$N$H(B
  120. $B$&$j%=!<%9$O$"$j$^$;$s!#$[$+$K$b%&!<%s$H$&$J$k$H$3$m$O$"$k$N(B
  121. $B$G$9$,D9$/$J$k(B($B$H8@$$$J$,$i0l8@$@$1!"(BNextStep$B$O$"$^$j%*%V%8(B
  122. $B%'%/%H;X8~$7$F$$$J$$$H;W$$$^$9(B)$B$N$G$3$l$0$i$$$G!#(B
  123. $B$J$*8f>5CN$H$O;W$$$^$9$,(BEiffel3$B$G$O(BEiffelStore$B$H$$$&$N$,$"$C(B
  124. $B$F(BVersant, Oracle, Ingress$BBP1~$K$J$j$^$9!#(B
  125.  
  126. naya>Eiffel$B$O!";d$H$7$F$O0lHV%*%V%8%'%/%H;X8~$7$F$k$H;W$$$^(B
  127. $B$9!#(B
  128.  
  129. $B;d$O(BC++$B$b$=$l$J$j$K%*%V%8%'%/%H;X8~$7$F$k$H;W$$$^$9!#$?$@(BC++
  130. $B$O8@8l;EMM$,%a%?%/%?$J$@$1$@$H;W$$$^$9(B($B$"$H(BGC$B$,$J$$$N$O$$$?(B
  131. $B$$!#;d$,(B8kline$B<e$N%D!<%k$r(BC++$B$G=q$$$?;~(Bmemory leak$B$K$O(B($B$b(B)$B6l(B
  132. $BO+$7$^$7$?(B(new$B$K<BAu$7$?$i$$$$$G$O$J$$$+$H$$$&LdBj$G$O$"$j$^(B
  133. $B$;$s!#$3$l$O(Bhybrid$B$N=IL?$G$9!"$D$^$j(Bobject$B$,(BC$B$NJ}$KEO$5$l$?(B
  134. $B$i$b$&2?$,$J$s$@$+$o$+$i$J$$$H$$$&OC$G$9(B(object$B$,(Bint$B$H$7$F(Bma
  135. squerade$B$5$l$?$i!"$O$?$^$?(Bunion$B$NCf$K3JG<$5$l$?$i(B...)))$B!#(B
  136.  
  137. takagi>Eiffel $B$O@'Hs;H$C$F$_$?$$!*(B
  138. takagi>$B$G$b!"=hM}7O$,<j85$KL5$$!#$$$/$i$/$i$$$9$k$N$+$J$!!)(B
  139.  
  140. $BCMCJ$O(B2.3.4$B$@$H(BSS2$B%/%i%9$G(B$3600, Next$B$G(B$1500$B$0$i$$!"(BEiffel-3
  141. $B$@$H(BInterface Builder$B$0$i$$$^$G$=$m$($F(B$4000$B$0$i$$$G$9$+$iHs(B
  142. $B>o$K$*Gc$$F@$@$H;W$$$^$9(B($B650i5!4X$O(Bdiscount$B$"$j(B)$B!#(B
  143.  
  144. takagi>from x.start until not x.finish loop ... x.next end
  145. takagi>$B$H$+$d$k$i$7$$!#(B
  146. takagi>$B$G$b!"(Bset $B$_$?$$$K=g=x$N$J$$$b$N$K!"(Bnext $B$J$s$F$N$O(B
  147. takagi>$B$*$+$7$$$8$c$J$$$+!*(B
  148. takagi>$B$=$&$$$($P!"(BCLU $B$K(B iterator $B$H$+$$$&$N$,$"$C$?$J!#(B
  149.  
  150. $B3N$+$K=g=x$O$J$$$N$G$9$,!"$H$K$+$/$H$C$F$/$k(B($B$D$^$j(Bnext(fort
  151. h)$B$H$7$?$H$-$K$I$&$$$&=gHV$K$J$C$F$$$k$+$i$o$+$j$^$;$s!":F8=(B
  152. $B@-$5$($J$$$+$b$7$l$^$;$s(B)$B$H$$$&$3$H$G$7$g$&!#(BEiffel$B$G$O$3$&(B
  153. $B$$$&$b$N$K$O(Biterator$B$r;HMQ$9$k$N$,(Bprogramming style$B$G$9!#(BOOS
  154. C$B$K$O:\$C$F$^$;$s$,(B"Eiffel: The Language"$B$N(B10.13$B$r8fMw$/$@$5(B
  155. $B$$!#(B
  156.  
  157.  
  158.             Product Systems development Dept. 2
  159.             System Engineering Center
  160.             $B2|G=(B $B@5?M(B (kai@cse.canon.co.jp)
  161.