631 lines
41 KiB
Plaintext
631 lines
41 KiB
Plaintext
|
NUMBER OF LINES: 629
|
|||
|
1 If you are in need of help, you need but ask.
|
|||
|
2 Welcome to BWMS (BackWater Message System) Mike Day System operator
|
|||
|
3 *********************** REMOVED: 5 DEC 82 ********************************
|
|||
|
4 GENERAL DISCLAIMER: BWMS IS NOT RESPONSIBLE FOR ANY INFORMATION PLACED ON
|
|||
|
5 THIS SYSTEM.
|
|||
|
6 BWMS was created as an electronic bill board. BWMS is a privatly owned
|
|||
|
7 and operated system which is currently open for use by the general public.
|
|||
|
8 No restrictions are placed on the use of the system.
|
|||
|
9 It is intended that the system be normally used for messages and
|
|||
|
10 advertisments by the users. As the system is privatly owned, I retain the
|
|||
|
11 right to remove any and all messages from the system which are offensive
|
|||
|
12 to me. Additionally because of the limited size of the system, it will be
|
|||
|
13 periodically purged of older messages. (only 629 lines of data can be saved)
|
|||
|
14 To leave a message, type 'ENTER' and use ctrl/C or break to get out
|
|||
|
15 of the enter mode. The message is automaticly stored.
|
|||
|
16 If after entering the message you find you made a mistake,
|
|||
|
17 use the replace command to replace the line.
|
|||
|
18 To exit from the system, type 'OFF' then hang up.
|
|||
|
19 ********************************************************************
|
|||
|
20
|
|||
|
21 ##########################################
|
|||
|
22 ## ##
|
|||
|
23 ## BE SURE TO BRING ALL OF YOUR ##
|
|||
|
24 ## QUASI- OR SEMI-QUASI-JUNQUE ##
|
|||
|
25 ## TO THE PORTLAND COMPUTER SOCIETY ##
|
|||
|
26 ## S W A P M E E T ##
|
|||
|
27 ## ##
|
|||
|
28 ## NOVEMBER 20, 1982 ##
|
|||
|
29 ## ##
|
|||
|
30 ## ROBERT MURPHY HALL ##
|
|||
|
31 ## 3736 SE 79TH AVE ##
|
|||
|
32 ## PORTLAND, OREGON ##
|
|||
|
33 ## ##
|
|||
|
34 ## THIS IS A LARGE HALL WITH PLENTY ##
|
|||
|
35 ## OF TABLE SPACE AT $2 PER TABLE ##
|
|||
|
36 ## FOR SELLERS AND NO ADMISSION FEE. ##
|
|||
|
37 ## SETUP TIME IS 11:00 AM WITH MEET ##
|
|||
|
38 ## OPEN FROM 12:00 TO 4:00. PLENTY ##
|
|||
|
39 ## OF FREE PARKING, TOO. CALL NEAL ##
|
|||
|
40 ## BONOME AT xxx-xxxx FOR DETAILS. ##
|
|||
|
41 ## ##
|
|||
|
42 ##########################################
|
|||
|
43
|
|||
|
44 Just a note, in regard to the ability of the Atari to handle COBOL/FORTRAN.
|
|||
|
45 with the Z80 card which allows the Atari to handle CP/M the afore mentioned
|
|||
|
46 programs are available to run under CP/M. As such I fail to see the problem.
|
|||
|
47 I know, they are not 'main frame' implimentations, but I have seen main frame
|
|||
|
48 implimentations that stink far worst then the micro versions. As for the
|
|||
|
49 other things on the Atari, I too find the membrane keyboard a piece of trash.
|
|||
|
50 But if you don't like it you can always get the 800 which has a 'normal' type
|
|||
|
51 keyboard. It always amazes me when someone says that a computer is a peice
|
|||
|
52 of junk because it can't do such and such.
|
|||
|
53 A computer performs the function that it was designed to perform. If it does
|
|||
|
54 that task well it is a good computer. If it doesn't it is a poor computer.
|
|||
|
55 As far as the task it performs being good or bad is a again a silly notion
|
|||
|
56 that it has some relation to being required to run 'business' type programs.
|
|||
|
57 The highest volume 8 bit micro is the 6502 (which the Atari uses), but the
|
|||
|
58 highest volume micro of all is the TMS1000 which is a 4 biter!!! (What do you
|
|||
|
59 think TI uses in all those calculators it sells!) And it has found its
|
|||
|
60 place in many things from coffee pots to microwave ovens to washing machines.
|
|||
|
61 Yes,these are computers, they perform just as vital a function as the IBM 370's
|
|||
|
62 Just because they aren't as flashy doesn't mean they are any less valuable.
|
|||
|
63 From a performance standpoint, there are few computers around that can match
|
|||
|
64 the graphics abilities of the Atrai at the price range. There is far more to
|
|||
|
65 a computer then the hardware it runs with, a far more important function is
|
|||
|
66 the software that is available to use that hardware. and the IBM is currently
|
|||
|
67 sorely lacking in that for graphics (compared to the Atari). Finally, you may
|
|||
|
68 consider COBOL to be a more respectable langauge (I don't, but thats another
|
|||
|
69 story) but I'll take $20-$50 for 100,000 games any day over $500-$1000 for
|
|||
|
70 100 business programs. (If you don't think these numbers are representative
|
|||
|
71 of the real life, you obviously aren't in the business.) Not only does it
|
|||
|
72 pay more, but there is a whole bunch less headaches involving stupid idiots
|
|||
|
73 who don't know which end of a floppy disk to put in the machine! As for the
|
|||
|
74 value of the game programing, I feel it is of extreme! importance. I have not
|
|||
|
75 seen a single COBOL programer who really understood the problems of real time
|
|||
|
76 interactive processing because the program isolates them from this very thing
|
|||
|
77 by makeing it difficult to impossible to even do. On the other hand there
|
|||
|
78 are very few games programers that I know who are not fully aware of the
|
|||
|
79 problems in this. There will be far more small interactive machines sold
|
|||
|
80 for various purposes then any other type of computer, and they most definatly
|
|||
|
81 will not be written in COBOL!!!!! These programers will have to come from
|
|||
|
82 someplace, and since the schools aren'T doing anything to provide them, the
|
|||
|
83 same old thing will happen that happened to the micro to begin with, they
|
|||
|
84 will come from the garages of America. A bigger hammer aproach does not
|
|||
|
85 solve the problem, it only pulverises it into meaningless little problems.
|
|||
|
86 P.S. Just so you don't think I am some kid out of school who doesn't know
|
|||
|
87 any better, I design computers for a living. I do not own an Atari, I use
|
|||
|
88 to have a ZX80 which I gave to my father, I own several computers including
|
|||
|
89 an heathkit H-8, and an IMSAI S-100 machine. My first langauge was Fortran
|
|||
|
90 I do most of my work on a computer I designed and built myself (Z80 two
|
|||
|
91 5 inch floppies and 256K of RAM) I have written commercial software
|
|||
|
92 and non-commercial (public-domain) software. I have written numerous
|
|||
|
93 articles on computers for various publications, and currently write
|
|||
|
94 a telecommunications column for Compute! magazine, and last but not least
|
|||
|
95 I own and run this message system. That's right, you guessed it, I am the
|
|||
|
96 one and only (Thank god!!!)
|
|||
|
97 ********* CISTOP MIKEY ******* 16 NOV 82 ******** 8:33 PM ************
|
|||
|
98 P.S. I've even written a game or two. (Golly!)
|
|||
|
99 That ought to keep 'em going for at least a week about how wrong I am.
|
|||
|
100 ***********************************************************************
|
|||
|
101 Dear Mikey;
|
|||
|
102 You are talking raw sense. I did not think that was permited on this
|
|||
|
103 system! But if the CISTOP likes it, swing with it! I agree with your
|
|||
|
104 thought on cobal. It's almost criminal to put a batch oriented language
|
|||
|
105 on a perfectly good, interactive, microcomputer.
|
|||
|
106 the Phantom Glitch
|
|||
|
107 11/16/82 22:20
|
|||
|
108
|
|||
|
109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
110
|
|||
|
111 Looking at the Want Ads in a recent sunday Oregonian,
|
|||
|
112 I noticed that Cobol Programmers were most in demand -
|
|||
|
113 but right on their heels was the demand for Assembly
|
|||
|
114 Language programmers, and the Assembly Language applications
|
|||
|
115 paid more! Most Commercial game software is written
|
|||
|
116 in Assembly Language.
|
|||
|
117 It would seem to me that Learning Assembly Language
|
|||
|
118 would be potentially more beneficial to the majority of
|
|||
|
119 Micro owners, while I have seen no programs advertised that
|
|||
|
120 require Cobol.
|
|||
|
121 **************************************************************
|
|||
|
122 It is interesting that most, if not all of the ads for COBOL programmers
|
|||
|
123 state the particular operating system and hardware that they want you to
|
|||
|
124 have 2 to 3 years of experience using. At that rate, all they are going
|
|||
|
125 to get are a lot of recycled programmers. I wonder how all of the new
|
|||
|
126 blood gets into the seemingly closed loop. Along these lines, there is
|
|||
|
127 a good article in the South Metro section of the Oregonian this morning
|
|||
|
128 relating the opinion that the jobs for programmers are drying up (from
|
|||
|
129 the point of view of an educator at Clackamas CC). Has the balloon
|
|||
|
130 burst?
|
|||
|
131 {}{}{}{}{}{}{}{} Analog Alan {}{}{}{}{}{}{}{} 1825 17 Nov 82 {}{}{}{}{}{}{}{}
|
|||
|
132 HI THERE....THIS IS THE FIRST MESSAGE I HAVE FELT THE URGE TO LEAVE ON
|
|||
|
133 A BULLETIN BOARD, BUT YOUR COMMENTS INSPIRED IT.....IF YOU REALLY WANT
|
|||
|
134 TO WRITE GAMES, YOU SHOULD INVESTIGATE "C" FOR A LANGUAGE....I WORK WITH
|
|||
|
135 A SOFTWARE COMPANY (EVRYWARE) WHICH WRITES ACTION GAMES FOR THE HEATH-
|
|||
|
136 ZENITHLINE (IF YOU HAVE AN H-19 ON YOUR H8, LET ME KNOW), AND ALL OUR
|
|||
|
137 STUFF IS DONE IN "C".....IT'S A MARVELOUS LANGUAGE, AS IT DOES A LOT OF THE
|
|||
|
138 TEDIOUS REPETITIVE STUFF FOR YOU THAT YOU USUALLY HAVE TO DO IN ASSEMBLY
|
|||
|
139 LANGUAGE, BUT STILL HAS ALL THE POWER AND STRUCTURE......MAUREEN HACKLEY
|
|||
|
140
|
|||
|
141 #######################################################################
|
|||
|
142
|
|||
|
143 Many of the idiots who blather about which language is better have
|
|||
|
144 apparently not studied the history of computing. Way back when
|
|||
|
145 Turing proved that any program could be expressed in a language
|
|||
|
146 with only 5 (yes, five) instructions, but we all know that is a
|
|||
|
147 lot easier to do it with a good rich language. The design of
|
|||
|
148 computer languages is changing because we are learning more about
|
|||
|
149 how. COBOL was one of the first, and as such has certain
|
|||
|
150 caracteristics not too good for modern machines and programmers.
|
|||
|
151 (It is oriented to cards and batch.) It of course does not have
|
|||
|
152 any facilities for interactive or graphics use: these weren't
|
|||
|
153 invented yet. Most ads for COBOL programmers are not for people
|
|||
|
154 to write new programs, but rather to maintain old programs. This
|
|||
|
155 is not an easy job, either; but not as "creative".
|
|||
|
156 Then came BASIC, written for a specific purpose: to teach
|
|||
|
157 beginners to program. It was therefore VERY simple. Dijkstra
|
|||
|
158 condemned it bitterly. However, it worked, for what it was designed
|
|||
|
159 for. It was small, and could be put on the new microcomputers.
|
|||
|
160 However, it was too simple-minded, so it was IMPROVED. It became
|
|||
|
161 nonstandard. But it developed I/O handling, disc handling, graphics
|
|||
|
162 commands, and it grew to be a business language. It also sprouted
|
|||
|
163 such strays as compilers, double precsion, and preprocessors for
|
|||
|
164 structured programs. However, it is still based on Dartmouth's
|
|||
|
165 simple training aid, and isn't very good at anything, especially
|
|||
|
166 in the common interpreted versions.
|
|||
|
167 If that wasn't enough, along came another TEACHING language,
|
|||
|
168 called Pascal. Again, it was intended as a teaching language, so
|
|||
|
169 it did not need (or allow) fancy I/O, or high precision. What's
|
|||
|
170 worse, as it was intended to teach a strict, precise programming
|
|||
|
171 style, it demands a strict style, and this can really get in your
|
|||
|
172 way. <Why is it necessary to insert semicolons at the end of line?
|
|||
|
173 -Because Wirth thought this would better instill the idea of 'end
|
|||
|
174 of statement'; but 'end' does the same, and both can not be
|
|||
|
175 together.> Again, not a general purpose language. SO, it is being
|
|||
|
176 IMPROVED. (Better known as 'not compatible'.)
|
|||
|
177 There is no general purpose language. All we have are written-
|
|||
|
178 down dinosaurs like micro COBOL, or 'improved' teaching languages
|
|||
|
179 like BASIC. I hope ADA flies, it is supposed to be all things for
|
|||
|
180 all people. ( But so was PL-1.)
|
|||
|
181 Of course, I also use C, but it isn't really for use part-time
|
|||
|
182 hackers. It was written for, and by high level programmers. It is
|
|||
|
183 about as cryptic as APL. It is a structured language, and supports
|
|||
|
184 good data structures, but is close to assembly language in many
|
|||
|
185 ways. For you FORTH advocates, it is extensible. However, it is
|
|||
|
186 very unlike Pascal in one important respect: it is NOT a complete
|
|||
|
187 system, but much more like a macro assembler. You use your own
|
|||
|
188 text editor, your own operating system, and then build your program
|
|||
|
189 out of small bits, each of which can be used later. A program in C
|
|||
|
190 can be nothing more than a series of function names, all of which
|
|||
|
191 are simply separate files, but here seem to be powerful,
|
|||
|
192 individualized commands that act like say, extended BASIC 'print'
|
|||
|
193 statements, with formating. It is very free-form, and rather
|
|||
|
194 than having the syntax checker in the C compiler, it uses a separate
|
|||
|
195 program called lint to remove them, or tell you about them.
|
|||
|
196 Unfortunately, no small, easy to use interpreter is available for
|
|||
|
197 micros.
|
|||
|
198
|
|||
|
199 Bend your mind around a book called "The C Puzzle Book" by Alan
|
|||
|
200 Feuer. The puzzles look simple, and in start that way, but..
|
|||
|
201
|
|||
|
202 ......................................B.A.D........2:20/11-20-82.......
|
|||
|
203 I just looked at DB, and must say I'm not impressed. Atari vs IBM?
|
|||
|
204 Who's kidding whom? $200 vs $2000? In any case, if you can talk to
|
|||
|
205 BWMS, you are using either a 23 bit computer (with 37 bit
|
|||
|
206 instructions) or a 24 bit computer. The world is not wholly micros.
|
|||
|
207 In case you were wondering what computer is a 23 bitter, pick up
|
|||
|
208 the telephone and listen to that hum you here. It probably comes
|
|||
|
209 from a computer called 'ESS', if you are served by Ma Bell, and
|
|||
|
210 that uses 23 bits. It's main memory consists of up to 12 'stores'
|
|||
|
211 of 131,072 words (only 44 bits per word, though) each. It's slow,
|
|||
|
212 running at about 5.5 micro seconds, but even so it handles something
|
|||
|
213 like 30,000 time share terminals called telephones. Part of the
|
|||
|
214 advantage it has is called pipelining, in that is has 3 instructions
|
|||
|
215 running at the same time. I suppose I should add that it runs 24
|
|||
|
216 hours a day. Yes, I said 44 bit memory- 37 for instruction, and
|
|||
|
217 Hamming error correction if needed. This all in electrically
|
|||
|
218 alterable PROM.
|
|||
|
219 As to the lead Apple and Radio Shack have in sales, both IBM and
|
|||
|
220 Sinclair expect to sell more units next year than either of the 2
|
|||
|
221 above have in all history. I don't know about Atari, but I expect
|
|||
|
222 it too will be in the millions, soon.
|
|||
|
223 ************ Look out, here come the Japanese!!
|
|||
|
224 ....................................B.A.D...(again).......
|
|||
|
225 ______________________________________________________________
|
|||
|
226 regarding FORTRAN & COBOL as opposed to a combination of BASIC
|
|||
|
227 & Assembly level routines. The reason why FORTRAN is better is
|
|||
|
228 that you can do high-level math without taking weeks to get
|
|||
|
229 all those machine language routines figured out! I've never used
|
|||
|
230 COBOL (and don't have any real interest in it) so I can't say
|
|||
|
231 anything about it.
|
|||
|
232 Getting back to FORTRAN vs BASIC, I would rather spend
|
|||
|
233 my time on the PROGRAM logic than on re-inventing an ARCSIN
|
|||
|
234 function. BASIC is great for string-handling, but FORTRAN is
|
|||
|
235 better for math. They're about even as far as I/O is concerned.
|
|||
|
236 When BASIC's based on the proposed ANSI standard start hitting
|
|||
|
237 the market (in 2-3 years!) THEN BASIC will be preferrable to
|
|||
|
238 FORTRAN. Right now, there aren't that many BASICs that allow
|
|||
|
239 TRUE sub-programs & sub-routines!
|
|||
|
240 _____________________________________________________________
|
|||
|
241 I think that all this goes to show that the advantage or
|
|||
|
242 disadvantage of any particular computer language (PROGRAM!!!)
|
|||
|
243 depends entirely on what your application is.
|
|||
|
244 Incidently, the Atari has Layered Interrupts to the
|
|||
|
245 point that it capable of Multi-processing!!
|
|||
|
246 To my knowledge, these levels of interrupts are
|
|||
|
247 not available to its nearest competiters-Apple, TRS, Commodore, etc.
|
|||
|
248 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|||
|
249 /////////////////////////////////////////////////////////////////
|
|||
|
250
|
|||
|
251 Here's my beef about Basic: Presumably a 'teaching language'
|
|||
|
252 should NOT teach bad programming habits, such as writing throwaway
|
|||
|
253 programs. It should teach organized, structured programs whose
|
|||
|
254 function is provable, easily modifiable, easily understandable by
|
|||
|
255 someone else, easily maintainable, etc. Basic does none of these
|
|||
|
256 things.
|
|||
|
257 The advantage of a 'standard' is that everyone can design
|
|||
|
258 to that standard and everything will be compatible. That's the
|
|||
|
259 advantage. The disadvantage of a 'standard' is that it inhibits
|
|||
|
260 (to some extent) imagination and invention.
|
|||
|
261 In most cases, the advantages outweigh the disadvantages.
|
|||
|
262
|
|||
|
263 But with Basic, it has all the disadvantages of a standard, but
|
|||
|
264 none of the advantages. It's the worst of both worlds.
|
|||
|
265
|
|||
|
266 //////////////////////////////////////////////////////////////////
|
|||
|
267 ??????????????????????????/////\\\\\?????????????????????????????
|
|||
|
268 Ah, folks, you seem to be missing, or ignoring the point, with all
|
|||
|
269 this comparison of apples and oranges. Someone a few lines up made
|
|||
|
270 the point that the best language was application-dependent. Too
|
|||
|
271 true. ALSO, the best programming style is RESULT-dependent.
|
|||
|
272
|
|||
|
273 There are some folks who write clever, imaginative, poorly structured
|
|||
|
274 and unmaintainable code, and once the result is achieved, there
|
|||
|
275 are OTHER folks who come along a use the ideas of the "sloppy"
|
|||
|
276 "wizard" to create a marketable and/or maintainable product.
|
|||
|
277
|
|||
|
278 Rarely will you find the person who can do what the wizard does, and
|
|||
|
279 also produce really clean code. And all the error-checking compilers
|
|||
|
280 in the world won't help, because that wizard will either find, or
|
|||
|
281 invent, another language which won't burden him with constraints.
|
|||
|
282
|
|||
|
283 Let me modify the "can do" above -- many "wizards" could produce
|
|||
|
284 clean code, but for (often irrational, absurd, and ludicrous) reasons
|
|||
|
285 of their own, WON'T!!
|
|||
|
286
|
|||
|
287 But this world needs Ataris and IBMs and Apples and DECs and DGs
|
|||
|
288 and even etceteras, and wizards and suits and beards and nerds,
|
|||
|
289 and it isn't even reasonable to expect anyone to be happy about it,
|
|||
|
290 but I don't think it's unreasonable to expect most folks to be
|
|||
|
291 aware of it.
|
|||
|
292 ???????????????????????????????////\\\\??????????????????????????
|
|||
|
293
|
|||
|
294 I second the thought. People who think they have the right to
|
|||
|
295 tell me how to write programs forget that it's my machine and I will
|
|||
|
296
|
|||
|
297 write the code the way I feel like it. I don't like 'structured' pro-
|
|||
|
298 graming shoved down my thrat and if I wan't to use GOSUB's, I will.
|
|||
|
299 the Phantom Glitch.
|
|||
|
300 //////////////////// 11/20/82 ///// 22:00 /////////////////////////
|
|||
|
301 Here are a few more thoughts based on the above comments.
|
|||
|
302 I noticed that there appears to be a confusion as to what BASIC
|
|||
|
303 and PASCAL teach. It is even more interesting that they would
|
|||
|
304 be passed off as worthless simply because they originally were
|
|||
|
305 designed as teaching langauges. The very act of using a langauge
|
|||
|
306 to teach something insures it continuance as a use langauge. It
|
|||
|
307 takes time to learn new things, and if you learn with BASIC you
|
|||
|
308 will stick with it until the need for something else presses you
|
|||
|
309 into learning a different langauge. This is not a bad thing either,
|
|||
|
310 if you know something very well, you will operate with it much better
|
|||
|
311 then something you only know slightly. No one can know more then
|
|||
|
312 one or two langauges completly (most don't even know the full extent
|
|||
|
313 of the langauge they are defending). I read the comment about
|
|||
|
314 FORTRAN being such a great number cruncher above, but please keep
|
|||
|
315 in mind that the original version of FORTRAN was no better then
|
|||
|
316 any of the other langauges in that respect. (The original FORTRAN
|
|||
|
317 ran on a 4K machine!)
|
|||
|
318 Pascal was created to teach structured programing, and it does that
|
|||
|
319 very well, but please don't try to confuse or compare that to a
|
|||
|
320 langauge that doesn't because it obviously won't. Basic on the other
|
|||
|
321 hand was created to teach people about computers not about a particular
|
|||
|
322 programing style, and again it does this very well. The reason behind
|
|||
|
323 this is motivation. To program in PASCAL you must have a clear
|
|||
|
324 understanding of what you want to do before you even put down any
|
|||
|
325 code. This is a bit difficult to do if you don't even know what a
|
|||
|
326 computer is let alone what to do with it. With BASIC I can get
|
|||
|
327 people to understand what the computer is doing just by have them
|
|||
|
328 write a quick little program right there at the terminal. It may not
|
|||
|
329 seem like much to most programers, but to be able to tell the computer
|
|||
|
330 to say "hi" and have it do it within a 15 second learning time is
|
|||
|
331 very impressive to someone new to the game.
|
|||
|
332 About writing sloppy code (I.E. non-structured) verses clean code.
|
|||
|
333 If you know what you want to do, Structured is nice, but if you
|
|||
|
334 don't know, then it just gets in the way. There is a two step
|
|||
|
335 process when creating something new (and I mean really new, not a
|
|||
|
336 different way to calculate pi to n decimal places.)
|
|||
|
337 The first step has nothing to do with how it should be implimented
|
|||
|
338 or used, it is simply the creation of the idea into a usable form.
|
|||
|
339 any attempt to strucure or standardize this will get in the way. The
|
|||
|
340 continuous mutability of the whole concept is what allows the
|
|||
|
341 creative idea to be generated to begin with. What we are trying to
|
|||
|
342 come up with here is something new and different, not the best or
|
|||
|
343 cleanest way to do it. The two are incompatible in the thought
|
|||
|
344 process. The problem with the program industry is that it is so
|
|||
|
345 new that the second portion of the equation never has time to
|
|||
|
346 come into effect before the whole idea is replaced with something
|
|||
|
347 else. You must have a stable concept in existance in order for it
|
|||
|
348 to be cleaned up and standardized.
|
|||
|
349 *** ANOTHER LONG AND WINDY COMMENT FROM CISTOP MIKEY *** 21 NOV 82 ***
|
|||
|
350 ***************************************************************
|
|||
|
351 I was considering the sloppiness of microcomputing programming
|
|||
|
352 yesterday. Example: It is silly to use the edit function of
|
|||
|
353 these computer systems to enter messages. You should first
|
|||
|
354 use a text editor to make the message (assuming, of course, it
|
|||
|
355 isn't a spur-of-the-moment thought) and after logging on,
|
|||
|
356 send the message by computer. Fine. You don't waste 10 minutes
|
|||
|
357 of the SINGLE-USER system while everyone else is getting busy-
|
|||
|
358 signals on prime time. Great. Except for one thing. In other
|
|||
|
359 systems, (I don't know about this system, yet, haven't tried)
|
|||
|
360 the system loses characters at the beginning of the line. But
|
|||
|
361 why should it? Suppose it loses 5 characters. At 300 baud,
|
|||
|
362 this is effectively 0.166 seconds of dead time, during which
|
|||
|
363 a reasonable microprocessor can execute 166,000 instructions.
|
|||
|
364 But if only 5 of these instructions were inputting from the
|
|||
|
365 serial port, no characters would be lost! The fault is not
|
|||
|
366 with the hardware at all, but with the idiot who wrote the
|
|||
|
367 software. HE JUST DIDN'T STOP TO CONSIDER THE POSSIBILITY....
|
|||
|
368 What about those Apple BBS's that don't support lower case,
|
|||
|
369 control-s and control-q, control-c, etc. Same problem. The
|
|||
|
370 person who wrote it just DIDN'T THINK ......
|
|||
|
371 Until people learn to program their hardware to its fullest
|
|||
|
372 extent, it will be wasted.
|
|||
|
373 ********************************************************
|
|||
|
374 I think you have a point.
|
|||
|
375 The thing that I have noticed is that each
|
|||
|
376 Micro computer Programmer has to spend a lot
|
|||
|
377 of time reinventing the wheel. After the very beginning
|
|||
|
378 basic stuff on learning the language you're using,
|
|||
|
379 there's not much in the way of texts that really teach
|
|||
|
380 you the ins-and-outs of your computer.
|
|||
|
381 For instance: Atari's Player/Missile graphics are
|
|||
|
382 well known, but nowhere have I seen a well organized
|
|||
|
383 chart or tutorial on how to set them up!
|
|||
|
384 The poor programmer has to depend on magazine articles,
|
|||
|
385 $50@hr classes (if he can find them), or expensive software tutorials.
|
|||
|
386 Or manuals that are cryptic to the point of incomprhensibility!
|
|||
|
387 The situation seems to be the same for all the other
|
|||
|
388 micros. Anything beyond the basics is almost non-existant.
|
|||
|
389 It would seem to me that there would be a good market
|
|||
|
390 for subroutines that could be adapted to many different
|
|||
|
391 programs (and well documented!!!) to reduce the reinvention
|
|||
|
392 of the wheel presently necessary.
|
|||
|
393 <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
|||
|
394 Yes, the results are often not as good as could be desired, but why
|
|||
|
395 spend the time and effort to make it "better" if it works? The lost
|
|||
|
396 charaters at the beginning of the line may be fatal to you, with your
|
|||
|
397 "better" way of doing things, but to most of us, who cares? Use the
|
|||
|
398 machine the way it was designed, in this case direct entry.
|
|||
|
399 There are other possible reasons for imperfect code: price, space in
|
|||
|
400 memory, and some of the flaws are called 'features'. Anything can be
|
|||
|
401 made better, but to make it work in the first place is the real work.
|
|||
|
402 Unfortunately it is true that the teaching language is the one you will
|
|||
|
403 probably continue with, but to say this is good implies a lack of
|
|||
|
404 understanding of the programming process, versus learning to program.
|
|||
|
405 Have you heard of the advantages of assembly language? One of them
|
|||
|
406 is it's totally unstructured nature. The assets of FORTRAN, such as
|
|||
|
407 arcsin, are almost totally duplicated in BASIC, if they seemed to be
|
|||
|
408 needed (arcsin wasn't). Don't confuse FORTRAN's advantages with those
|
|||
|
409 of a compiler, either. There are BASICS that will do anything that
|
|||
|
410 FORTRAN will, and even a few BASICS that will run on small micro.
|
|||
|
411 That 4k quoted for the original FORTRAN wasn't bytes, either. (I
|
|||
|
412 also suspect hard disc.) In any case why kill yourself for super
|
|||
|
413 fancy code when quick and dirty works? The program worth maintaining
|
|||
|
414 is pretty rare, especially when BASIC allows a new one to be written
|
|||
|
415 in less time than the old one could be converted to do what you want now.
|
|||
|
416 ................................................B.A.D................
|
|||
|
417 The dropped charaters at the beginning of the line are not simple to
|
|||
|
418 eliminate, because the are usually caused by the machine doing something
|
|||
|
419 out of reach of the programmer. The Apple BBS's may be running BASIC, and
|
|||
|
420 the workings of this are not under control of the porgrammer because he
|
|||
|
421 used BASIC to avoid the unimportant (to his use) details, and the huge
|
|||
|
422 investment in time and effort needed to duplicate the things BASIC does.
|
|||
|
423 On this system, I suspect it is because the processor is busy with a time
|
|||
|
424 dependent job: running the disc drive. There is always a better way, if you
|
|||
|
425 are willing to add that additional cost.
|
|||
|
426 By the way, Mike, what did this thing cost? Would a few extra $100 dollars
|
|||
|
427 in cost have any effect on it's existance?
|
|||
|
428 Anyone planning multiprogramming on a micro should look into the cost
|
|||
|
429 of running another processor versus the cost in time. At less than $5 for
|
|||
|
430 most 8 bit processors?? An operating system capable of alowwing real
|
|||
|
431 multiprocessing is bigger than most micros will allow. Special purpose
|
|||
|
432 jobs, that run a few more or less parallel processes, yes,, but a micro
|
|||
|
433 is just to slow to run more. Except maybe keyboard input with a spooler
|
|||
|
434 to the printer. The slow jobs like printing have their advantages, too;
|
|||
|
435 just like the commercial on TV, it's time to go pee and have a beer.
|
|||
|
436 .....................................BAD, again 11-22-82/ 0220 am.........
|
|||
|
437 Let's hear it for the best, most efficient code known: self modifying.
|
|||
|
438 It's also probably the most used code in the world, because the ESS in
|
|||
|
439 most every city in the US uses it, the same 10 or so instructions repeated
|
|||
|
440 over and over again, except it modifies itself every 5 ms or so. This was
|
|||
|
441 a nightmare to get running in the first place, but it works! It doesn't
|
|||
|
442 need maintaining. Good code doesn't need to be understood by anything but
|
|||
|
443 the machine on which it runs. The best computers in the world are totally
|
|||
|
444 incomprehensible, self modifying gadgets. (If you doubt this, tell me how
|
|||
|
445 your brain works.)
|
|||
|
446 ##############################################################################
|
|||
|
447 If that's the case, then the Atari's really great --
|
|||
|
448 It can (in BASIC) modify its own code and then
|
|||
|
449 continue running it. The Terminal program that
|
|||
|
450 I am using does exactly that! -- In this case
|
|||
|
451 it just deletes a bunch of Data statements so
|
|||
|
452 that there is more room for Upload/Download.
|
|||
|
453 But about reinventing the wheel: Almost all micros offer
|
|||
|
454 redefinable character sets, but how many of these
|
|||
|
455 redefined sets (software) do you see kicking around?
|
|||
|
456 If you want Script (for instance) where are you going
|
|||
|
457 to get it besides doing it yourself?
|
|||
|
458 /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
|
|||
|
459 I have a request for the story of this system, so here goes...
|
|||
|
460 BWMS was put together initially over a weekend (accually a friday night
|
|||
|
461 and saturday) The total cost was $0.00 (el zipo) The entire system was
|
|||
|
462 put together from junk box parts. The software is from a text editor
|
|||
|
463 used for store and forward communications. (Putting data on a disk for
|
|||
|
464 latter transmission to a computer.) It was designed for PNB in fact for
|
|||
|
465 transmittal of service records to thier computers at the end of the day.
|
|||
|
466 The disk drive was a dud that was resurected from the junk heap. It had
|
|||
|
467 some worn out brushes which I modified the motor to allow them to run a
|
|||
|
468 bit more (they are still in there!) The second drive came later also from
|
|||
|
469 the junk heap, it had a seized motor which I took apart and cleaned up.
|
|||
|
470 The CPU is an obsolete board that was thrown away and I pressed it into
|
|||
|
471 service. The modem is one of the prototype PCS modems that wasn't much
|
|||
|
472 good for anything else (it won't work accousticlly). The case for the modem
|
|||
|
473 is a cardboard box. The auto answer consists of a capactitor that is charged
|
|||
|
474 by the telephone ring signal and then maintained by the received carrier.
|
|||
|
475 (That is why you have to hangup to get BWMS to hangup.) The case for BWMS
|
|||
|
476 itself was also from the scrap heap, it was a prototype case for anouther
|
|||
|
477 store and forward device. Only got the chassis, not the cover. The total
|
|||
|
478 time spent on BWMS (not counting times like now, which is entertainment
|
|||
|
479 to me, and therefor of its own value) is about 5 days. I have had to
|
|||
|
480 repair the system 3 times. since it was created 2 years ago. The first
|
|||
|
481 time was to replace a known defective regulator (I was waiting for a good
|
|||
|
482 one to show up in the junk box) The second time was when I blew out the
|
|||
|
483 RS232 drivers by accidentally dumping 120volts AC into them (my terminal was
|
|||
|
484 at the other end of the house which has a floating ground which I now
|
|||
|
485 know about the hard way). The final repair was after the OMSI computer fair
|
|||
|
486 I had to oil the disk drive bearings because they were getting very noisy.
|
|||
|
487 Even the phone line does not cost really, since I use it for myself when
|
|||
|
488 I need it (thats why BWMS is busy sometimes.) BWMS just uses it when I'm not
|
|||
|
489 The only cost that is truly used by BWMS is the electricity, which at 30watts
|
|||
|
490 isn't exactly a stagering amount. Thats about $2.00 a month or $24.00 a year.
|
|||
|
491 I feel that I get far more then that in entertainment value out of it.
|
|||
|
492 As you can see, cost is an extreme importance to BWMS. If it costs anything
|
|||
|
493 I don't do it, it has to be free.
|
|||
|
494 As to why BWMS drops chars at the begining of the line. The CPU used in BWMS
|
|||
|
495 is a very low cost aproach, that means that EVERYTHING is handled by the
|
|||
|
496 CPU, even disk accesses. The disk service time is extremly tight, and in
|
|||
|
497 fact there is absolutly no time available for the CPU to do anything else
|
|||
|
498 but service the disk. The trade off here is that a DMA controler isn't needed
|
|||
|
499 to do the servicing which saves some bucks.
|
|||
|
500 If you really do want to send data to BWMS via computer you can do it by
|
|||
|
501 waiting for about a second after sending a line to BWMS. The first
|
|||
|
502 line may require upto 2 second delay if you are not at the bottom of the
|
|||
|
503 disk before you ask for the enter. Anouther way is to wait for each character
|
|||
|
504 you send to be echoed back by the system befor continuing.
|
|||
|
505 When in command mode wait for the '>' prompt. Then give the command.
|
|||
|
506 Another note is that While CBBS also drops the first few chars (it is much
|
|||
|
507 better now that it has a Semidisk (TM) ) The software was written with
|
|||
|
508 computer upload in mind. In case you haven't noticed, it always sends a
|
|||
|
509 control G (bell) When it is ready for a new line of data. Yes, the programers
|
|||
|
510 do think when they write programs, it is just that there is more to a
|
|||
|
511 computer then software, and until you have spent a couple of years dealing
|
|||
|
512 with real time communications you don't know what a mess it really is.
|
|||
|
513 It is not a cut and dry process, but rather a lengthy series of compromisses.
|
|||
|
514 ****** The great and all powerless CISTOP MIKEY *** 22 NOV 82 ***********
|
|||
|
515 P.S. Even the disks I use on BWMS are rejects, they are disks that won't format
|
|||
|
516 on the back side, so I can't use them on my double side drives that I use in
|
|||
|
517 my real computer.
|
|||
|
518 ***************************************************************************
|
|||
|
519 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
|
|||
|
520 Actually, some cute programming would allow no lost characters even
|
|||
|
521 during disk access. An actual sector transfer can occur in about 10
|
|||
|
522 milliseconds, assuming just the transfer. This is only one-third of
|
|||
|
523 a character at 300 baud. So just check the serial input just before
|
|||
|
524 and after any disk sector transfer, and voila', no lost characters.
|
|||
|
525 (keep a queue for later input to the actual bbs software).
|
|||
|
526 Notice that this requires no DMA, interrupts, or anything else
|
|||
|
527 special: just programming. Even the cheapest computer could do it.
|
|||
|
528 (And from the description above, this system would be close to
|
|||
|
529 the "cheapest").
|
|||
|
530 Anyway, I just wanted to point out that hardware limitations
|
|||
|
531 aren't limiting in every case.
|
|||
|
532
|
|||
|
533 Continuing, it seems that many languages are hiding behind
|
|||
|
534 the excuse of "Every language is best for certain uses." That may
|
|||
|
535 be true, but so is a nutcracker best for cracking nuts, but not
|
|||
|
536 much else. Question: Is there anyone out there that prefers Basic
|
|||
|
537 who learned it after, say, learning more than one other language.
|
|||
|
538 (example: PLI, APL, PASCAL, LISP, FORTRAN, ALGOL, etc) It seems
|
|||
|
539 to me this would be highly unusual. People who like basic tend
|
|||
|
540 to have learned it first, and thus don't miss nearly all of the
|
|||
|
541 features it lacks but the other languages include. If you've
|
|||
|
542 never heard of a 'local variable' you program around this lack.
|
|||
|
543 You don't miss what you've never had.
|
|||
|
544 If you must learn basic, learn it after a couple other languages,
|
|||
|
545 at least so you know there are alternatives.
|
|||
|
546
|
|||
|
547 ****************************************************
|
|||
|
548 A HAMMER WORKS GREAT FOR CRACKING NUTS TOO, AS WELL AS FINGERS.
|
|||
|
549 YOU WILL SELDOM FIND A GOOD MECHANIC USING A CRESENT WRENCH TO
|
|||
|
550 DO A JOB, YET IT IS A VERY VERSITAL TOOL, IT CAN BE ADJUSTED TO
|
|||
|
551 FIT ANY NUT, BUT THIS VERSITILITY IS EXACTLY WHAT THE PROBLEM IS.
|
|||
|
552 THE WRENCH MUST BE ADJUSTED TO EACH JOB, AND THEN IT IS ONLY FAIR
|
|||
|
553 AT PERFORMING THAT JOB, WHILE THE BOX WRENCH OR OPEN END OR RATCHET
|
|||
|
554 CAN DO THE JOB EXACTLY THE WAY THE MECHANIC WANTS, SO HE CARRIES A
|
|||
|
555 FULL LINE OF TOOLS TO DO THE JOBS INSTEAD OF A FEW 'ALL PURPOSE TOOLS'.
|
|||
|
556 ******************************************************
|
|||
|
557 In regard to the disk access time. I can tell you have never written
|
|||
|
558 any cheap disk software, because it ain't that easy. The actual
|
|||
|
559 time to do the sector write is 11.111...ect. milliseconds. 200ms
|
|||
|
560 divided by 18 (sectors per track). However, this is only a small
|
|||
|
561 portion of the problem. The cheap disk interface uses a 1771 disk
|
|||
|
562 controler (they don't come any cheaper). One of the aspects of the
|
|||
|
563 1771 is that to write a sector you tell it that you want to write
|
|||
|
564 one, and then immediatly try to start writting it observing the
|
|||
|
565 write status in the 1771. Sometime later the 1771 will tell you
|
|||
|
566 that it is done. This can occur anywhere from the 11ms time stated
|
|||
|
567 to 200ms later. This is because the 1771 is searching for the
|
|||
|
568 sector to write to, but the computer doesn't know when it will find
|
|||
|
569 it so it has to be instantly ready to transfer the data when the time
|
|||
|
570 comes. Since the status loop needed to do this disallows doing anything
|
|||
|
571 else we are stuck in the loop for as long as 200ms (possibly longer
|
|||
|
572 if it gets an error on the first pass.)
|
|||
|
573 The problem was solved in the later equipment by changing the hardware
|
|||
|
574 to do the status checking via interrupts. This gave us about 10micro
|
|||
|
575 seconds out of every 64microseconds to play with so that we could do
|
|||
|
576 the que thing as you mentioned above. Please note that the hardware
|
|||
|
577 had to be modified to do this! Also it caused some rather extensive
|
|||
|
578 software to be writtten to support all this. A version of the device
|
|||
|
579 was accualy created that could communicate at 19200 baud while receiving
|
|||
|
580 to disk, but it required a programer who was an expert in the field
|
|||
|
581 over 6 man months to impliment it and the ques ate up enourmous amounts
|
|||
|
582 of memory.
|
|||
|
583 It is nice to say that anything can be done, but realistically, there are
|
|||
|
584 limitations. They may be hardware, they may be cost, or they may be time,
|
|||
|
585 but they are there just the same. If the time and money warent it they can
|
|||
|
586 many times be overcome, but the desision must be first made that it is
|
|||
|
587 worth it.
|
|||
|
588 They ain't worms in that there can, they's VIPER'S!!!!!
|
|||
|
589 As for languages, I started with Fortran (actually machine langauge but
|
|||
|
590 that is not really a high level langauge.). I moved to Basic because I
|
|||
|
591 found Fortran to be horibally lacking in decent string handling. I also
|
|||
|
592 found the real world interface to be wierd at best. As far as doing
|
|||
|
593 actual computation it is OK, but there is more to computers then just
|
|||
|
594 computing!
|
|||
|
595 I also have a copy of JRT Pascal, It is amazing how much nicer a language
|
|||
|
596 can get once it recognizes that there is something else out there besides
|
|||
|
597 the computer. I still am not in love with something that tells me how to
|
|||
|
598 wrtie code, but at least JRT is passibly usable.
|
|||
|
599 USCD Pascal is another mater .. Bleahhhhhh !!!!!!!!!
|
|||
|
600 As for 'local vars', SO? I don't find them that hard to do with out
|
|||
|
601 for the things I do. They are a nice touch yes, but SO? By the way ther
|
|||
|
602 are a couple of Basic's out there that even support 'local vars'.
|
|||
|
603 ******* The first and last CISTOP MIKEY **** 23 NOV 82 ************
|
|||
|
604 wHAT Hte fu)6 HAPpEN TO drIve a ?? ? ss UHlk;scbjr:
|
|||
|
605 HaLO SpACE cAdeTS !!! MY hatS Off to Yuou and EAchg o f
|
|||
|
606 u. Ach spine deh ...............................................
|
|||
|
607 ................excuse me this the curator of the Franklin
|
|||
|
608 insane asylum. One of my patients got a hold of our computer.
|
|||
|
609 excuse us for any harm we may have caused. Ted P. Skimmer.
|
|||
|
610 =============================================
|
|||
|
611 Here's another programer who came to BASIC after other languages.
|
|||
|
612 I started with FORTRAN, then COBOL, then SAAL, and assembly (Univac,
|
|||
|
613 not 8080). I will take BASIC over any of the above, for the simple
|
|||
|
614 things it will do. For time dependent things I would use something
|
|||
|
615 that is compiled, or if necessary, assembly. The teaching languages
|
|||
|
616 are not for real programming: even N. Wirth, who invented Pascal,
|
|||
|
617 reccommends a different language called Modula II for real programming.
|
|||
|
618 It often makes sense to have more than 1 version of a language, for
|
|||
|
619 instance BASIC as both an interpreter and a compiler. I have several
|
|||
|
620 versions of BASIC, and several Pascals, for instance. Each has it's
|
|||
|
621 advantages, as well as problems. If I had time and energy enough I
|
|||
|
622 would write an extended BASIC that would do everything; but then
|
|||
|
623 noone else could use it (totally non-compatible and absolutely
|
|||
|
624 incomprehensible) It would have to have relocateable code, local
|
|||
|
625 variables, every imaginable function, calls by name, line number,
|
|||
|
626 implication; a full screen editor;automatic variable lists, a spelling
|
|||
|
627 corrector.it would run as a full compiler, but would compile as text was
|
|||
|
628 entered, so it could run like an interpreter. Etc, etc.
|
|||
|
629 A minor problem: how big would it be?? 20 or 30 Megawords???....B.A.D....
|
|||
|
|