home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 7108 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  7.6 KB

  1. Path: fwi.uva.nl!not-for-mail
  2. From: oortmers@fwi.uva.nl (Wouter van Oortmerssen)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Jolyon on E (was Re: Frustrated Jolyon (was Re: E - Just say NO! (was Re: Visual
  5. Date: 9 Apr 1996 18:24:32 +0200
  6. Organization: FWI, University of Amsterdam
  7. Distribution: world
  8. Message-ID: <4ke300$fpn@carol.fwi.uva.nl>
  9. NNTP-Posting-Host: carol.fwi.uva.nl
  10.  
  11.  
  12. Jolyon Ralph (jralph@cix.compulink.co.uk) wrote:
  13. -> I've discussed many problems (or rather things I don't like) with E in 
  14.  
  15. Aha. Now tell me then, do things that are personal preference on your part
  16. make something unfit for general serious use by anyone, regardless?
  17.  
  18. -> this thread, rather than personal abuse why don't you try and answer 
  19.  
  20. Well, my apologies for passing the "flame mode" treshold so soon.  But your
  21. comments originating from before my "flame" weren't exactly objective unbiased
  22. reasonings either.  Notice also that of course E is also more "personal" to me
  23. than it is to, say, you :)
  24.  
  25. -> them, saying either why you prefer the way E does it or give an 
  26. -> approximate date for fixing the problem.
  27.  
  28. Yeah right. Like I haven't done that a thousand times already.
  29.  
  30. -> I hope we can discuss the benefits/problems of your language without
  31.  
  32. I put it rather childishly, but I still feel it was not without truth, from
  33. impressions you have given me in the past.  I could easily be wrong though.
  34.  
  35. -> resorting to personal abuse.... (I also happen to be very good with 
  36. -> hammers, as people who know me will tell you :-)
  37.  
  38. Well, good for you! :)
  39.  
  40. -> E is by no means a *bad* language. I would much rather people were 
  41. -> writing applications in E than in Amos or Blitz Basic. But from my 
  42.  
  43. Oooh, now there's a scary choice.
  44.  
  45. -> personal experience (of 18 months E coding now) I can tell you that 
  46. -> maintaining large projects *is* a nightmare with the current version of 
  47. -> E. That's nothing to do with the language syntax or anything else, it's a 
  48. -> combination of factors (the way the compiler returns only one error a 
  49. -> time, the almost meaningless list of unused variables/functions, the 
  50. -> non-standard includes, etc..)
  51.  
  52. You are maintaining a large E project without utilizing E's module
  53. system, which is not the way it was meant to be used. Not surprisingly
  54. smaller problems start to weight heavier, and have little to do with
  55. real large scale programming features.
  56.  
  57. I put quite a bit of thought into the E module system (and datahiding),
  58. and as people that actually use it will be able to tell you it's
  59. quite marvelous compared to C/C++
  60.  
  61. The one-error thing is indeed one of the bigger design errors in EC,
  62. and like some other features too much targeted at myself as a user
  63. (I only get errors from EC each tenth run or so).
  64.  
  65. -> And you're right, there's no reason anyone can't make professional 
  66. -> applications with it (we have, remember!), it's just I was hoping to save 
  67. -> a few people the days and days of hair-pulling we've had to suffer due to 
  68.  
  69. That's because of your fixed C perspective. remember? I bet you'd be
  70. bald by the time you tried several other languages ;)
  71.  
  72. -> the way that E works. But I was saying, in *my* opinion, anyone starting 
  73. -> programming the Amiga now would be better starting with C (a language 
  74. -> that will be of extreme use on whatever platform they end up writing for 
  75. -> in years to come) rather than E. I don't think C is any more dificult to 
  76. -> learn than E.
  77.  
  78. Geesh. I beg to differ. I think it's quite a bit easier, thanks to its
  79. logical structure (it's there, look real hard! :).
  80.  
  81. Programming is not about C or E, and any skilled programmer will be able to
  82. use C on another platform, E programmers will only have a superficial and
  83. temporal disadvantage (heck, they might even have an advantage on other
  84. accounts :).
  85.  
  86. -> Actually, the one big problem I have with E is it can't produce a 
  87. -> linkable object file. As soon as E can do that it will be much easier to 
  88. -> maintain. Any plans for that? It maybe if we can produce linkable code 
  89. -> from E that we won't need to rewrite *everything* in C.
  90.  
  91. Aaargh, the biggest FAQ ever.
  92. On a conceptual level E doesn't work with .o/.h files because modules are
  93. considered infinitly better.  but that's not what you wanted to hear.  On an
  94. implementation level, E code relies on many things in it's startup code,
  95. moreso than C (think of anything from trivial things like exception handling
  96. to rather involved things like garbage collection).  So generating "just" a .o
  97. file which will plug into SAS/C generated exe isn't going to work.  Infact,
  98. have you ever tried generating an executable with .o's generated by every
  99. amiga C/C++ compiler, for non-trivial code?  And I suppose you have been
  100. equally succesful in integrating code from all those other languages on the
  101. Amiga.
  102.  
  103. It can be done of course, but it involves hairy things like dragging an E
  104. environment around.  If you insist on rewriting the main program in C and feel
  105. like keeping some E code around, might I advice you look into EC's .library
  106. linker?
  107.  
  108. -> Jolyon
  109.  
  110. Jason G Doig (jase@pyrotek.demon.co.uk) wrote:
  111. -> Well, reading the manual, Wouter does tend to insist that things were
  112. -> not done for compiler speed, but for 'very good reasons' (unspecified).
  113.  
  114. I think I explain that somewhere.  Basically I was irritated with the operator
  115. priorities in languages I was using at the time (C, ProLog, and a few others),
  116. which made me bracket everything in the end to not introduce subtle errors.  I
  117. though having priorities that you could be sure of regardless of the operators
  118. would be a good thing.  Mind you, that was 5 years ago.
  119.  
  120. -> In any case, expression parsing is a piece of piss, and the first thing
  121. -> anyone on a computing course is taught when it comes to the subject of
  122.  
  123. If only people would go by the book, eh Jase?
  124.  
  125. -> compilers.  To be honest, I think that a lot of the decisions /were/ made
  126.  
  127. Get real. Even my cat could write a precedence parser, and there would
  128. be no speed difference whatsoever.
  129.  
  130. -> for reasons of speed.  I can appreciate that he isn't going to change them
  131. -> now, obviously that would just generate even more problems.  I just get
  132. -> the impression that some of the 'design' features were done more because
  133. -> he either wanted to be different, or to take the easy way out, than for
  134. -> any good reason.7m
  135.  
  136. Taking 5 years to implement your own language hardly sounds like the easy way
  137. out to me.  I tend to make choices for what I consider are "good reasons".
  138.  
  139. -> what Wouter would like to think, when we would like to be able to
  140. -> link in say, 68020 assembly functions, or C functions).  E makes this
  141.  
  142. Well, you can. For assembly this is trivial, C can be done to, if you
  143. can make it such that it doesn't rely on C startup code. Have a look
  144. at the o2m utility.
  145.  
  146. -> very difficult.  Also, E's linker tends to link entire module in, rather
  147. -> than just the bits it needs.  With the current system we're stuck with
  148.  
  149. Does your C compiler split .o files then?
  150.  
  151. -> one large E program, and anything else we need to plug in getting put
  152. -> into the library.
  153.  
  154. -> For example, for reading and image format (as Photogenics has to
  155. -> do now and then), we can frequently get existing and free code
  156. -> to read a format.  This is pretty much always in C.  Now if we
  157. -> were to write the GIO stubs in E (I'm assuming E can actually
  158. -> output libraries now, it couldn't when we started this), we would
  159. -> need to convert large quantities of someone elses source to E.
  160. -> Instead, we wrote the GIO template code in C and Assembler.  This
  161. -> allows us to write functions in just about any language we want.
  162. -> Except E...
  163.  
  164. You've lost me on the reasoning here. You can generate libraries
  165. with E, infact there's an example GIO that comes with the distribution.
  166. What is it that you can't do with E?
  167.  
  168. Wouter van Oortmerssen (still the E author :)
  169.  
  170.